टेबल पार्टिशनिंग

डेटाबेस डिज़ाइन

Lis Sulmont

Curriculum Manager

Partition क्यों?

टेबल्स बढ़ते हैं (100s Gb / Tb)

समस्या: क्वेरी/अपडेट धीमे हो जाते हैं

क्योंकि: जैसे, इंडेक्स मेमोरी में फिट नहीं होते

समाधान: टेबल को छोटे भागों में बाँटें (= partitioning)

तारीख के अनुसार फ़ाइल आर्काइव की छवि

डेटाबेस डिज़ाइन

डेटा मॉडलिंग रिफ्रेशर

 

1. कॉन्सेप्चुअल डेटा मॉडल

2. लॉजिकल डेटा मॉडल

Partitioning के लिए, लॉजिकल डेटा मॉडल वही रहता है

3. फिजिकल डेटा मॉडल

Partitioning फिजिकल डेटा मॉडल का हिस्सा है

डेटाबेस डिज़ाइन

वर्टिकल पार्टिशनिंग

वर्टिकल पार्टिशनिंग

टेबल को तब भी बाँटें जब पूरी तरह normalized हो

डेटाबेस डिज़ाइन

वर्टिकल पार्टिशनिंग: एक उदाहरण

वर्टिकल पार्टिशनिंग उदाहरण

जैसे, long_description को धीले माध्यम पर स्टोर करें

डेटाबेस डिज़ाइन

हॉरिजॉन्टल पार्टिशनिंग

हॉरिजॉन्टल पार्टिशनिंग

डेटाबेस डिज़ाइन

हॉरिजॉन्टल पार्टिशनिंग: एक उदाहरण

हॉरिजॉन्टल पार्टिशनिंग: उदाहरण टेबल

डेटाबेस डिज़ाइन

हॉरिजॉन्टल पार्टिशनिंग: एक उदाहरण

 

हॉरिजॉन्टल पार्टिशनिंग: उदाहरण

 

CREATE TABLE sales (
    ...
    timestamp DATE NOT NULL
)
PARTITION BY RANGE (timestamp);

CREATE TABLE sales_2019_q1 PARTITION OF sales FOR VALUES FROM ('2019-01-01') TO ('2019-03-31'); ... CREATE TABLE sales_2019_q4 PARTITION OF sales FOR VALUES FROM ('2019-10-01') TO ('2020-01-31');
CREATE INDEX ON sales ('timestamp');
डेटाबेस डिज़ाइन

हॉरिजॉन्टल पार्टिशनिंग के फ़ायदे/नुकसान

फ़ायदे

  • ज़्यादा उपयोग वाली पार्टिशनों के इंडेक्स मेमोरी में फिट होते हैं
  • खास माध्यम पर ले जाएँ: धीमा बनाम तेज
  • OLAP और OLTP दोनों में उपयोगी

नुकसान

  • मौजूदा टेबल की पार्टिशनिंग झंझट भरी हो सकती है
  • कुछ constraints सेट नहीं किए जा सकते
डेटाबेस डिज़ाइन

शार्डिंग से संबंध

शार्डिंग

डेटाबेस डिज़ाइन

अभ्यास करते हैं!

डेटाबेस डिज़ाइन

Preparing Video For Download...