उन्नत PostgreSQL: अनुक्रमण, विभाजन और प्रतिकृति · पाठ

रेंज विभाजन की स्थापना

रेंज विभाजन लागू करना सीखें, जिसमें किसी कुंजी की सीमा के आधार पर तालिकाओं को विभाजित किया जाता है। इसका उपयोग अक्सर समय-श्रृंखला डेटा के लिए किया जाता है।

पाठ 2, कुल 4 में से11 चरण

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

Range Partitioning का परिचय

Range Partitioning में आपका स्वागत है! यह तकनीक एक बड़ी टेबल को छोटे, अधिक प्रबंधनीय हिस्सों में बाँटती है, जिन्हें partitions कहा जाता है।

Range Partitioning ऐसे डेटा के लिए विशेष रूप से उपयोगी है जिसका कोई स्वाभाविक क्रम हो, जैसे समय-श्रृंखला डेटा (उदाहरण के लिए, लॉग या सेंसर रीडिंग) या क्रमिक ID वाला डेटा।

Range Partitioning कैसे काम करता है

Range Partitioning में, पंक्तियों को उस partition key कॉलम के मान के आधार पर partitions में बाँटा जाता है, जो किसी निर्धारित सीमा के भीतर आता है।

  • Partition Key: यह तय करने के लिए उपयोग किया जाने वाला कॉलम कि कोई पंक्ति किस partition से संबंधित है (उदाहरण के लिए, created_at timestamp)।
  • सीमाएँ: निर्धारित सीमारेखाएँ (उदाहरण के लिए, 'जनवरी से मार्च', 'IDs 1-1000')।

मुख्य टेबल बनाना

सबसे पहले, आप एक master (या parent) टेबल बनाते हैं। यह टेबल अपने सभी partitions का स्कीमा निर्धारित करती है और विभाजन की रणनीति बताती है।

उदाहरण में PARTITION BY RANGE क्लॉज़ और partition key (event_date) पर ध्यान दें:

CREATE TABLE sensor_data (
  id SERIAL,
  event_date DATE NOT NULL,
  temperature NUMERIC,
  humidity NUMERIC
) PARTITION BY RANGE (event_date);

Partition की सीमाएँ निर्धारित करना

Master टेबल के बाद, आप अलग-अलग child tables बनाते हैं, जो वास्तविक partitions होते हैं। प्रत्येक child table master टेबल से जुड़ी होती है और अपनी विशिष्ट सीमा निर्धारित करती है।

FOR VALUES FROM (...) TO (...) क्लॉज़ event_date कॉलम की निचली (समावेशी) और ऊपरी (बहिष्कृत) सीमाएँ निर्धारित करता है।

पहला Partition बनाना

आइए जनवरी 2023 के डेटा के लिए एक partition बनाते हैं। TO का मान बहिष्कृत होता है, इसलिए '2023-02-01' का अर्थ है 1 फ़रवरी तक, लेकिन 1 फ़रवरी को शामिल किए बिना।

CREATE TABLE sensor_data_2023_01
PARTITION OF sensor_data
FOR VALUES FROM ('2023-01-01') TO ('2023-02-01');

और Partitions जोड़ना

आप आवश्यकता के अनुसार अलग-अलग समयावधियों या सीमाओं को कवर करने वाले जितने चाहें partitions बना सकते हैं। आमतौर पर महीनों, तिमाहियों या वर्षों के लिए partitions बनाए जाते हैं।

यहाँ फ़रवरी 2023 के डेटा के लिए एक partition है:

CREATE TABLE sensor_data_2023_02
PARTITION OF sensor_data
FOR VALUES FROM ('2023-02-01') TO ('2023-03-01');

डेटा डालना

जब आप master sensor_data टेबल में डेटा डालते हैं, तो PostgreSQL प्रत्येक पंक्ति को उसके event_date के आधार पर अपने-आप सही child partition में भेज देता है।

आप डेटा parent टेबल में डालते हैं, child partitions में सीधे नहीं:

INSERT INTO sensor_data (event_date, temperature, humidity)
VALUES
  ('2023-01-15', 22.5, 60),
  ('2023-02-10', 20.1, 65),
  ('2023-01-28', 23.0, 58);

डेटा का वितरण जाँचना

आप master टेबल पर सामान्य तरीके से क्वेरी चला सकते हैं और PostgreSQL केवल प्रासंगिक partitions को स्कैन करेगा (इस प्रक्रिया को 'partition pruning' कहा जाता है)।

या, उसकी सामग्री देखने के लिए आप सीधे किसी child partition पर क्वेरी चला सकते हैं:

SELECT * FROM sensor_data_2023_01;

SELECT * FROM sensor_data_2023_02;

भविष्य के Partitions जोड़ना

जैसे-जैसे नया डेटा आता है, आपको नए partitions बनाने होंगे। निर्बाध डेटा अंतर्ग्रहण सुनिश्चित करने के लिए भविष्य के partitions पहले से बना लेना एक अच्छी आदत है।

उदाहरण के लिए, मार्च 2023 के लिए partition जोड़ने का तरीका:

CREATE TABLE sensor_data_2023_03
PARTITION OF sensor_data
FOR VALUES FROM ('2023-03-01') TO ('2023-04-01');

त्वरित जाँच

आपने sale_date के आधार पर range-partitioned sales_data टेबल सेट अप की है। Master टेबल sales_data है और आपने '2023-01-01' से '2023-04-01' तक के लिए sales_q1_2023 partition बनाया है।

निम्नलिखित में से कौन-सा INSERT कथन master sales_data टेबल में डेटा को सही तरीके से sales_q1_2023 partition में भेजेगा?

पुनरावलोकन और अगले चरण

आपने PostgreSQL में Range Partitioning लागू करना सीख लिया है!

  • Range Partitioning किसी key के मान की सीमा के आधार पर टेबल को विभाजित करता है।
  • आप PARTITION BY RANGE के साथ एक master टेबल परिभाषित करते हैं।
  • Child tables को PARTITION OF ... FOR VALUES FROM ... TO ... का उपयोग करके बनाया जाता है।
  • डेटा master टेबल में डाला जाता है और अपने-आप सही जगह भेज दिया जाता है।

यह तरीका बड़े, समयानुक्रमित डेटासेट को प्रबंधित करने और क्वेरी के प्रदर्शन तथा डेटा रखरखाव—दोनों को बेहतर बनाने के लिए उत्कृष्ट है।

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

एआई शिक्षक के साथ उन्नत PostgreSQL: अनुक्रमण, विभाजन और प्रतिकृति सीखें — निःशुल्क

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

पाठ्यक्रम
11
पाठ
44

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

क्या “रेंज विभाजन की स्थापना” पाठ निःशुल्क है?

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

“रेंज विभाजन की स्थापना” में मैं क्या सीखूँगा?

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

क्या उन्नत PostgreSQL: अनुक्रमण, विभाजन और प्रतिकृति शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“रेंज विभाजन की स्थापना” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस उन्नत PostgreSQL: अनुक्रमण, विभाजन और प्रतिकृति पाठ में कोड लिख और चला सकता हूँ?

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

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

  1. विभाजन क्यों करें
  2. रेंज विभाजन की स्थापना
  3. सूची विभाजन का कार्यान्वयन
  4. हैश पार्टीशनिंग का कार्यान्वयन
← उन्नत PostgreSQL: अनुक्रमण, विभाजन और प्रतिकृति पर वापस जाएँ