बड़े क्रमिक डेटा के लिए BRIN index
BRIN (Block Range INdexes) को जानें—यह बहुत बड़ी table के लिए उपयुक्त छोटा index प्रकार है, जिसका डेटा स्वाभाविक रूप से क्रमबद्ध हो, जैसे time-series और append-only log।
बड़े क्रमिक डेटा के लिए BRIN index, CoddyKit पर PostgreSQL प्रदर्शन और क्वेरी अनुकूलन का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह PostgreSQL प्रदर्शन और क्वेरी अनुकूलन सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PostgreSQL प्रदर्शन और क्वेरी अनुकूलन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
BRIN इंडेक्स क्या है
BRIN (Block Range INdex) अलग-अलग पंक्तियों की ओर संकेत करने के बजाय भौतिक तालिका ब्लॉक की रेंज के बारे में सारांश जानकारी संग्रहीत करता है। प्रत्येक प्रविष्टि कई पेज को समेटती है, इसलिए यह इंडेक्स बहुत छोटा होता है।
BRIN, B-tree से कैसे अलग है
B-tree में प्रत्येक पंक्ति के लिए एक प्रविष्टि होती है और यह बड़ा हो सकता है। BRIN प्रत्येक ब्लॉक रेंज के लिए केवल न्यूनतम और अधिकतम मान रखता है।
- B-tree: सटीक, बड़ा, यादृच्छिक खोज के लिए उत्कृष्ट
- BRIN: अनुमानित, बहुत छोटा, क्रमबद्ध डेटा पर रेंज स्कैन के लिए उत्कृष्ट
BRIN कब उपयोगी होता है
BRIN तब सबसे अच्छा काम करता है जब कॉलम के मान भौतिक भंडारण क्रम से संबद्ध हों। सामान्य उदाहरण:
- डाले गए टाइमस्टैम्प के अनुसार क्रमबद्ध टाइम-सीरीज़ तालिकाएँ
- केवल नए डेटा वाली लॉग तालिकाएँ
- कुंजी क्रम में लोड की गई बड़ी तथ्य तालिकाएँ
BRIN इंडेक्स बनाना
USING brin क्लॉज़ का उपयोग करें। ध्यान दें कि उसी कॉलम पर B-tree की तुलना में इसे बनाना कितना तेज़ और छोटा है।
CREATE INDEX idx_events_ts_brin
ON events USING brin (created_at);BRIN के माध्यम से क्वेरी करना
रेंज फ़िल्टर प्लानर को उन ब्लॉक रेंज को छोड़ने देता है जिनका न्यूनतम/अधिकतम मान मेल नहीं खा सकता, इसलिए केवल संबंधित पेज पढ़े जाते हैं।
EXPLAIN ANALYZE
SELECT * FROM events
WHERE created_at >= '2026-01-01'
AND created_at < '2026-02-01';pages_per_range विकल्प
आप यह निर्धारित कर सकते हैं कि प्रत्येक सारांश प्रविष्टि कितने पेज को समेटे। छोटी रेंज इंडेक्स को अधिक सटीक बनाती हैं, लेकिन उसका आकार बढ़ा देती हैं।
CREATE INDEX idx_events_ts_brin
ON events USING brin (created_at)
WITH (pages_per_range = 32);सहसंबंध क्यों महत्वपूर्ण है
यदि कॉलम भौतिक रूप से क्रमबद्ध नहीं है, तो लगभग हर ब्लॉक रेंज खोजे गए मान से ओवरलैप करेगी और BRIN पूरी तालिका स्कैन करेगा। आँकड़ा दृश्य से सहसंबंध जाँचें।
SELECT attname, correlation
FROM pg_stats
WHERE tablename = 'events';नए डेटा का सारांश बनाना
नए डाले गए ब्लॉक के BRIN प्रविष्टियों का सारांश अभी बना हुआ न हो सकता है। उन्हें सारांशित करने के लिए यह चलाएँ, ताकि क्वेरी उन रेंज को हटाने में सक्षम हो सकें।
SELECT brin_summarize_new_values('idx_events_ts_brin');आकार की तुलना
एक अरब पंक्तियों वाली तालिका में B-tree का आकार कई दसियों गीगाबाइट हो सकता है, जबकि BRIN कुछ मेगाबाइट का हो सकता है। दोनों की सीधे तुलना करें।
SELECT pg_size_pretty(pg_relation_size('idx_events_ts_brin'));ध्यान रखने योग्य समझौते
BRIN हर स्थिति में लाभदायक नहीं है:
- यादृच्छिक क्रम वाले कॉलम पर बेकार
- B-tree की तुलना में एकल पंक्ति की सटीक खोज के लिए धीमा
- नए ब्लॉक का समय-समय पर सारांश बनाना आवश्यक
इसे तब चुनें जब तालिका बहुत बड़ी और स्वाभाविक रूप से क्रमबद्ध हो।
अपडेट के दौरान BRIN का रखरखाव
यदि मौजूदा पंक्तियों में बार-बार बड़े पैमाने पर अपडेट होते हैं, तो समय के साथ किसी ब्लॉक रेंज का न्यूनतम/अधिकतम फैल सकता है और उसकी सटीकता कम हो सकती है। अस्थिर डेटा के लिए, सघन रेंज फिर से बनाने हेतु समय-समय पर इंडेक्स का पुनर्निर्माण करें।
REINDEX INDEX idx_events_ts_brin;त्वरित जाँच
अपने BRIN ज्ञान की जाँच करें।
पुनरावलोकन
आपने BRIN इंडेक्स के बारे में सीखा:
- वे प्रत्येक ब्लॉक रेंज के लिए न्यूनतम/अधिकतम सारांश संग्रहीत करते हैं — बहुत कम स्थान लेते हैं
- समय-शृंखला जैसे बड़े, भौतिक रूप से क्रमबद्ध डेटा के लिए आदर्श हैं
USING brinसे बनाए जाते हैं;pages_per_rangeको समायोजित करें- पहले
correlationजाँचें; नए ब्लॉक का सारांश बनाएँ - यादृच्छिक क्रम वाले कॉलम पर इनसे बचें
एआई शिक्षक के साथ SQL सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 22
- पाठ
- 88
अक्सर पूछे जाने वाले प्रश्न
क्या “बड़े क्रमिक डेटा के लिए BRIN index” पाठ निःशुल्क है?
हाँ — PostgreSQL प्रदर्शन और क्वेरी अनुकूलन अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बड़े क्रमिक डेटा के लिए BRIN index” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। PostgreSQL प्रदर्शन और क्वेरी अनुकूलन पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बड़े क्रमिक डेटा के लिए BRIN index” में मैं क्या सीखूँगा?
BRIN (Block Range INdexes) को जानें—यह बहुत बड़ी table के लिए उपयुक्त छोटा index प्रकार है, जिसका डेटा स्वाभाविक रूप से क्रमबद्ध हो, जैसे time-series और append-only log। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PostgreSQL प्रदर्शन और क्वेरी अनुकूलन का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या PostgreSQL प्रदर्शन और क्वेरी अनुकूलन शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PostgreSQL प्रदर्शन और क्वेरी अनुकूलन शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“बड़े क्रमिक डेटा के लिए BRIN index” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस PostgreSQL प्रदर्शन और क्वेरी अनुकूलन पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर PostgreSQL प्रदर्शन और क्वेरी अनुकूलन पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Hash, GIN और GiST इंडेक्स
- आंशिक और एक्सप्रेशन इंडेक्स
- कवरिंग इंडेक्स और केवल-इंडेक्स स्कैन
- बड़े क्रमिक डेटा के लिए BRIN index