SQL Academy · पाठ

पार्टीशन क्यों करें: प्रूनिंग, रखरखाव

पार्टीशनिंग के लाभ समझें: क्वेरी प्रूनिंग, तेज़ VACUUM और आसान संग्रहण

पाठ 1, कुल 4 में से14 चरण

पार्टीशन क्यों करें: प्रूनिंग, रखरखाव, CoddyKit पर SQL Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

पार्टिशनिंग क्या है?

एक तार्किक तालिका को कई भौतिक तालिकाओं (पार्टिशन) में बाँटना, जिनमें से हर एक पंक्तियों का एक उपसमूह रखती है। query केवल प्रासंगिक पार्टिशन स्कैन करती हैं।

इसकी आवश्यकता क्यों है?

बड़ी तालिकाएँ कई समस्याएँ पैदा करती हैं:

  • इंडेक्स बहुत बड़े हो जाते हैं और खोज धीमी हो जाती है
  • VACUUM में कई घंटे लगते हैं
  • बैकअप धीमे होते हैं
  • कुछ query अनावश्यक रूप से स्कैन करती हैं

पार्टिशनिंग इन चारों समस्याओं का समाधान करती है।

पार्टिशन छँटाई

प्लानर उन पार्टिशन को SKIP कर सकता है जो WHERE क्लॉज़ से मेल नहीं खा सकते:

EXPLAIN SELECT * FROM events
WHERE ts >= '2024-03-01' AND ts < '2024-04-01';
-- Only March partition scanned; older partitions skipped.
-- Plan rows: 1M, not 100B.

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

पार्टिशनिंग तब करें जब:

  • तालिका का आकार 100+ GB हो
  • आपके पास स्वाभाविक पार्टिशन कुंजी हो, जैसे तारीख, ग्राहक या क्षेत्र
  • अधिकांश query उस कुंजी पर फ़िल्टर करती हों
  • पुराने डेटा को संग्रहित या हटाया जा सकता हो

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

सिर्फ़ इसलिए पार्टिशनिंग न करें कि यह अच्छा विचार लगता है:

  • कुछ GB से छोटी तालिकाओं को इसका लाभ नहीं मिलता
  • यदि query पार्टिशन कुंजी पर फ़िल्टर नहीं करतीं, तो आपको NO छँटाई मिलेगी
  • इससे संचालन संबंधी जटिलता बढ़ती है, क्योंकि पार्टिशन प्रबंधित करने पड़ते हैं

पार्टिशनिंग की रणनीतियाँ

PostgreSQL तीन रणनीतियों का समर्थन करता है:

  • रेंज — पार्टिशन मानों की सीमाओं को समेटते हैं, जैसे तारीखें या आईडी
  • सूची — पार्टिशन विशिष्ट मान रखते हैं, जैसे देश या ग्राहक
  • हैश — समान वितरण के लिए मॉड्यूलर हैशिंग

सस्ता हटाव

किसी पार्टिशन को हटाना तुरंत हो जाता है — पंक्ति-दर-पंक्ति DELETE की आवश्यकता नहीं होती:

DROP TABLE events_2023;
-- 100GB gone in milliseconds, no VACUUM aftermath.

आसान रखरखाव

VACUUM, REINDEX और ANALYZE प्रत्येक पार्टिशन पर अलग-अलग काम करते हैं। रखरखाव की अवधि एक बहुत बड़े बैच की आवश्यकता के बजाय पार्टिशन के बीच समायोजित की जा सकती है।

हर पार्टिशन के लिए छोटे इंडेक्स

हर पार्टिशन के अपने इंडेक्स होते हैं। 1GB के पार्टिशन पर B-tree में 1TB की तुलना में कम स्तर होते हैं — खोज तेज़ होती है।

पार्टिशनिंग उपकरण है, जादुई समाधान नहीं

आपको मुफ़्त प्रदर्शन नहीं मिलता — आपको केवल उन query के लिए छँटाई और आसान रखरखाव मिलता है जो पार्टिशन कुंजी पर फ़िल्टर करती हैं। यदि ये बातें लागू नहीं होतीं, तो आप केवल जटिलता बढ़ाएँगे।

PostgreSQL मूल (घोषणात्मक) पार्टिशनिंग

PG 10 से उपलब्ध। हर पार्टिशन एक वास्तविक तालिका होती है:

CREATE TABLE events (
  id BIGSERIAL,
  ts TIMESTAMPTZ NOT NULL,
  user_id BIGINT,
  data JSONB
) PARTITION BY RANGE (ts);

CREATE TABLE events_2024_01 PARTITION OF events
  FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');

PG10 से पहले: इनहेरिटेंस पार्टिशनिंग

पुरानी प्रणालियाँ तालिका इनहेरिटेंस और ट्रिगर का उपयोग करती हैं। नए कोड के लिए इससे बचें — घोषणात्मक पार्टिशनिंग सरल और तेज़ है।

पुनरावलोकन

बड़ी, समय-खंडित या ग्राहक-आधारित तालिकाओं पर पार्टिशनिंग सबसे अधिक उपयोगी होती है।

  • छँटाई अप्रासंगिक पार्टिशन को छोड़ देती है
  • प्रत्येक पार्टिशन का रखरखाव तेज़ होता है
  • DROP TABLE 100GB DELETE का स्थान लेता है
  • यह जादुई समाधान नहीं है — query पार्टिशन कुंजी से मेल खाने पर ही लाभ मिलता है

त्वरित जाँच

आप किसी तालिका को महीने के अनुसार पार्टिशन करते हैं और SELECT * FROM events WHERE country = 'US' को बिना किसी तारीख फ़िल्टर के चलाते हैं। क्या पार्टिशनिंग से लाभ होगा?

शुरुआत निःशुल्क

एआई शिक्षक के साथ SQL सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
46
पाठ
183

अक्सर पूछे जाने वाले प्रश्न

क्या “पार्टीशन क्यों करें: प्रूनिंग, रखरखाव” पाठ निःशुल्क है?

हाँ—“पार्टीशन क्यों करें: प्रूनिंग, रखरखाव” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“पार्टीशन क्यों करें: प्रूनिंग, रखरखाव” में मैं क्या सीखूँगा?

पार्टीशनिंग के लाभ समझें: क्वेरी प्रूनिंग, तेज़ VACUUM और आसान संग्रहण आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या SQL Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“पार्टीशन क्यों करें: प्रूनिंग, रखरखाव” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस SQL Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर SQL Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. पार्टीशन क्यों करें: प्रूनिंग, रखरखाव
  2. रेंज, सूची और हैश पार्टीशनिंग
  3. पार्टीशन अलग करना और जोड़ना
  4. पार्टीशन में कुशलता से क्वेरी करना
← SQL Academy पर वापस जाएँ