PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Postgres-XL 9.5 . की दिशा में कार्य करना

पोस्टग्रेज-एक्सएल को पोस्टग्रेएसक्यूएल की नवीनतम और सबसे बड़ी रिलीज के साथ विलय करने की दिशा में काम करते हुए कुछ महीने व्यस्त रहे हैं। Postgres-XL PostgreSQL का एक ओपन सोर्स फोर्क है जो OLTP और बिजनेस इंटेलिजेंस के लिए एक स्केलेबल प्लेटफॉर्म प्रदान करता है। Postgres-XL की वर्तमान रिलीज़ PostgreSQL 9.2 पर आधारित है, इसलिए इसमें पिछले तीन वर्षों में PostgreSQL में किए गए सभी सुधारों का अभाव है।

2ndQuadrant और अन्य कंपनियां पोस्टग्रेएसक्यूएल कोर में वितरित स्केलेबिलिटी लाने के साथ-साथ कोर के बाहर टूल और एक्सटेंशन बनाने पर काम कर रही हैं। उसी के हिस्से के रूप में, Postgres-XL में कई विशेषताएं हैं जिन्हें हम कोर PostgreSQL में वापस लाना चाहते हैं, इसलिए 2ndQuadrant ने पहले चरण के रूप में Postgres-XL कोड बेस को नवीनतम PostgreSQL रिलीज़ में अपडेट करने का कार्य उठाया है। 3 महीने से अधिक काम करने के बाद, PostgreSQL 9.5 अभी भी अल्फा चरण में है, इसलिए हम एक प्रगति रिपोर्ट देना चाहते थे कि काम कैसे आगे बढ़ रहा है। मुझे जादुई शब्द भी कहने की जरूरत है:Postgres-XL पर चल रहा यह काम AXLE प्रोजेक्ट का हिस्सा है, जिसे अनुदान समझौते 318633 के तहत यूरोपीय संघ द्वारा वित्त पोषित किया गया है।

विलय की तैयारी

चूंकि PostgreSQL और Postgres-XL दोनों GIT को स्रोत नियंत्रण प्रणाली के रूप में उपयोग करते हैं, यह मर्ज प्रक्रिया को बहुत सरल बनाता है क्योंकि GIT प्रक्रिया की सहायता के लिए कई उपकरण प्रदान करता है। लेकिन जैसे ही हमने मर्ज की कोशिश की, हमें पहली बाधा का सामना करना पड़ा।

हमने महसूस किया कि वर्तमान Postgres-XL रिपॉजिटरी PostgreSQL के पुराने माइनर 9.2 रिलीज़ पर आधारित है। इसका मतलब है कि Postgres-XL मास्टर शाखा में कमिट और बदलाव थे, जो या तो PostgreSQL की मास्टर शाखा में नहीं बने थे या अलग-अलग कमिट आईडी थे। इसलिए पोस्टग्रेएसक्यूएल मास्टर शाखा के साथ विलय ने हमारे द्वारा अपेक्षित अन्य अपेक्षा की तुलना में बहुत अधिक संघर्षों को फेंक दिया। इसलिए पहला काम जो हमें पूरा करना चाहिए, वह था पोस्टग्रेज-एक्सएल 9.2 रिपॉजिटरी को बाद के कमिट पॉइंट पर रिबेस करना। यह स्पष्ट रूप से सावधानीपूर्वक चलने की आवश्यकता है, यह सुनिश्चित करते हुए कि प्रक्रिया के दौरान कुछ भी नहीं टूटता है। एक बार जब हमने मूल रिबेस किया था, तो हमने सभी पोस्टग्रेस-एक्सएल बग फिक्स और एन्हांसमेंट्स को भी विलय कर दिया, पोस्टग्रेस-एक्सएल 9.2 स्थिर शाखा बनाई और 9.2 शाखा को नवीनतम उपलब्ध पोस्टग्रेएसक्यूएल 9.2 मामूली रिलीज के साथ विलय कर दिया।

मर्ज के दौरान आने वाली चुनौतियाँ

PostgreSQL मास्टर शाखा के साथ वास्तविक विलय भी आसान काम नहीं था। ध्यान दें कि हम पोस्टग्रेएसक्यूएल के 3 प्रमुख रिलीज कूद रहे थे, जो लगभग 3 साल के विकास कार्य के लिए जिम्मेदार था। शुक्र है, इतने बड़े पैमाने पर मर्ज के लिए git-mergetool बहुत काम आता है। मर्ज विरोधों को अच्छी तरह से देखने और उन्हें हल करने के लिए आप अपने पसंदीदा संपादक (हमारे मामले में vimdiff) का उपयोग कर सकते हैं। जबकि कुछ संघर्ष सीधे होते हैं और उनमें मामूली समायोजन की आवश्यकता होती है, कई को कोड को सावधानीपूर्वक पढ़ने और समझने की आवश्यकता होती है। हालांकि सभी नई सुविधाओं का समर्थन करना मामूली बात नहीं है, हमने जितना संभव हो सके संरक्षित करने की कोशिश की और हम काफी सफल रहे हैं।

दूसरी बड़ी चुनौती दस्तावेज़ीकरण परिवर्तनों को मर्ज करना था। चूंकि Postgres-XL प्रोजेक्ट ने मौजूदा SGML दस्तावेज़ीकरण की एक प्रति बनाई थी, मास्टर शाखा के साथ GIT विलय से प्रतिलिपि में कोई अपडेट नहीं आया। इसके लिए मैन्युअल मर्ज की आवश्यकता थी। यह सुनिश्चित करने के लिए कि भविष्य के विलय में इसकी फिर से आवश्यकता नहीं है, अब हम दस्तावेज़ीकरण में बदलाव करते हैं।

आगे क्या है?

पोस्टग्रेज-एक्सएल 9.5 को आम जनता के लिए जारी करने से पहले कई चीजों को पूरा करने की जरूरत है:

  1. पोस्टग्रेज-एक्सएल के लिए रिग्रेशन टेस्ट कवरेज बढ़ाएं
  2. बग ठीक करें और नई सुविधाओं के लिए समर्थन जोड़ें
  3. व्यवस्थित प्रदर्शन परीक्षण और ट्यूनिंग करें
  4. Postgres-XL 9.5 शाखा बनाएं और नवीनतम PostgreSQL 9.5 स्थिर शाखा के साथ विलय करें

हम अभी तक Postgres-XL की समीक्षा के लिए तैयार नहीं हैं, लेकिन हम उम्मीद करते हैं कि Postgres-XL 9.5 बीटा उसी समय के आसपास तैयार हो जाएगा जब PostgreSQL 9.5 बीटा।

अगले अपडेट के लिए लगभग एक महीने में मेरी अगली ब्लॉग पोस्ट देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे make_timestamptz () PostgreSQL में काम करता है

  2. मैं एकाधिक स्तंभों के बीच सेट-जैसी विशिष्टता को कैसे लागू करूं?

  3. JSON डेटाटाइप में रिकॉर्ड के नेस्टेड सरणी के साथ क्वेरी संयोजन

  4. PostgreSQL डेटाबेस कॉलम से केवल संख्यात्मक मान लौटाएं

  5. PostgreSQL 12 में नया:जेनरेट किए गए कॉलम