PostgreSQLके लिए Azure Database के लिए अन्वेषण करें PostgreSQL
Azure Database for PostgreSQL Azure पर PostgreSQL वर्कलोड के लिए एक पूरी तरह से प्रबंधित डेटाबेस सेवा है। सेवा वास्तुकला, गणना स्तरों और प्रबंधित क्षमताओं को समझने से आपको अपने एआई अनुप्रयोगों के लिए कॉन्फ़िगरेशन और क्षमता योजना के बारे में सूचित निर्णय लेने में मदद मिलती है।
PostgreSQLके लिए Azure Database for PostgreSQL क्या है?
PostgreSQLs के लिए Azure Database for PostgreSQL ओपन-सोर्स PostgreSQL डेटाबेस इंजन पर आधारित एक पूरी तरह से प्रबंधित रिलेशनल डेटाबेस सेवा है। यह सेवा PostgreSQL का सामुदायिक संस्करण चलाती है, जो मौजूदा PostgreSQL अनुप्रयोगों और उपकरणों के साथ पूर्ण संगतता प्रदान करती है। Microsoft हार्डवेयर प्रावधान, सॉफ़्टवेयर पैचिंग, बैकअप प्रबंधन और उच्च उपलब्धता कॉन्फ़िगरेशन सहित अंतर्निहित बुनियादी ढांचे का प्रबंधन करता है।
यह सेवा एक प्रबंधित प्लेटफ़ॉर्म के लाभों को बनाए रखते हुए डेटाबेस कॉन्फ़िगरेशन पर विस्तृत नियंत्रण प्रदान करती है। आप रखरखाव विंडो को अनुकूलित कर सकते हैं, उच्च उपलब्धता विकल्पों को कॉन्फ़िगर कर सकते हैं, और अपनी कार्यभार आवश्यकताओं से मेल खाने के लिए गणना संसाधनों को समायोजित कर सकते हैं।
एआई अनुप्रयोगों के लिए जिन्हें वेक्टर संचालन के साथ-साथ संबंधपरक डेटा भंडारण की आवश्यकता होती है, PostgreSQL लेन-देन की विश्वसनीयता, JSONB के साथ लचीले डेटा मॉडलिंग और एक एक्सटेंशन इकोसिस्टम का एक सम्मोहक संयोजन प्रदान करता है जिसमें वेक्टर समानता खोज क्षमताएं शामिल हैं।
वास्तुकला और परिनियोजन विकल्प
PostgreSQLs के लिए Azure Database PostgreSQL गणना और भंडारण को स्वतंत्र घटकों में अलग करता है। डेटाबेस इंजन एक लिनक्स वर्चुअल मशीन पर चलता है, जबकि डेटा फाइलें Azure प्रबंधित स्टोरेज पर रहती हैं। यह पृथक्करण गणना और भंडारण संसाधनों के स्वतंत्र स्केलिंग को सक्षम बनाता है और स्थानीय रूप से अनावश्यक भंडारण प्रतिकृतियों के माध्यम से अंतर्निहित डेटा स्थायित्व प्रदान करता है।
सेवा विभिन्न कार्यभार विशेषताओं से मेल खाने के लिए तीन गणना स्तर प्रदान करती है। प्रत्येक अलग-अलग सीपीयू और मेमोरी कॉन्फ़िगरेशन प्रदान करता है:
फटने योग्य: जरूरत पड़ने पर बेसलाइन से ऊपर फटने की क्षमता के साथ बेसलाइन सीपीयू प्रदर्शन प्रदान करता है। विकास वातावरण, छोटे अनुप्रयोगों और कार्यभार के लिए सबसे उपयुक्त है जिन्हें निरंतर पूर्ण सीपीयू क्षमता की आवश्यकता नहीं होती है। बी-सीरीज़ वर्चुअल मशीनें आंतरायिक कार्यभार के लिए एक लागत प्रभावी विकल्प प्रदान करती हैं।
सामान्य प्रयोजन: उत्पादन कार्यभार के लिए संतुलित गणना और स्मृति संसाधन प्रदान करता है। डी-सीरीज़ वर्चुअल मशीनें पूर्वानुमानित प्रतिक्रिया समय की आवश्यकता वाले अनुप्रयोगों के लिए लगातार प्रदर्शन प्रदान करती हैं। विशिष्ट वेब अनुप्रयोगों और बैकएंड सेवाओं के लिए सामान्य प्रयोजन चुनें।
मेमोरी अनुकूलित: वर्कलोड के लिए उच्च मेमोरी-टू-वीसीपीयू अनुपात प्रदान करता है जो बड़े इन-मेमोरी डेटासेट से लाभान्वित होता है। ई-सीरीज़ वर्चुअल मशीनें कैशिंग-भारी वर्कलोड, जटिल विश्लेषणात्मक प्रश्नों और अनुप्रयोगों में उत्कृष्टता प्राप्त करती हैं जिन्हें मेमोरी में बड़े वर्किंग सेट रखने की आवश्यकता होती है। इन-मेमोरी गणना करने वाले एआई एप्लिकेशन अक्सर इस स्तर से लाभान्वित होते हैं।
आप एक संक्षिप्त पुनरारंभ के साथ परिनियोजन के बाद गणना स्तरों को बदल सकते हैं, जिससे आप अपने कार्यभार के विकसित होने पर संसाधनों को समायोजित कर सकते हैं।
प्रबंधित सेवा क्षमताएं
Azure Database for PostgreSQL परिचालन कार्यों को संभालता है जो अन्यथा समर्पित डेटाबेस व्यवस्थापन प्रयास की आवश्यकता होगी।
सेवा स्वचालित रूप से आपके डेटाबेस का बैकअप बनाती है और उन्हें उन क्षेत्रों में ज़ोन-निरर्थक संग्रहण पर संग्रहीत करती है जो उपलब्धता क्षेत्रों का समर्थन करते हैं, या उन क्षेत्रों में स्थानीय रूप से अनावश्यक संग्रहण जो नहीं करते हैं। डिफ़ॉल्ट बैकअप प्रतिधारण सात दिनों का होता है, जिसे आप अपनी पुनर्प्राप्ति आवश्यकताओं के आधार पर 35 दिनों तक बढ़ा सकते हैं। बैकअप में पूर्ण स्नैपशॉट और लेनदेन लॉग दोनों शामिल हैं, जो प्रतिधारण अवधि के भीतर किसी भी सेकंड के लिए पॉइंट-इन-टाइम पुनर्स्थापना को सक्षम करते हैं। Azure AES 256-बिट एन्क्रिप्शन का उपयोग कर सभी बैकअप एन्क्रिप्ट करता है, डिफ़ॉल्ट रूप से प्लेटफ़ॉर्म प्रबंधित कुंजियों या अतिरिक्त नियंत्रण के लिए ग्राहक-प्रबंधित कुंजियों के साथ।
पॉइंट-इन-टाइम पुनर्स्थापना आपको बैकअप अवधारण अवधि के भीतर किसी भी क्षण के लिए अपने डेटाबेस को पुनर्प्राप्त करने देता है। पुनर्स्थापना कार्रवाई निर्दिष्ट टाइमस्टैम्प पर पुनर्प्राप्त डेटा के साथ एक नया सर्वर इंस्टेंस बनाता है, जो आकस्मिक डेटा संशोधनों से पुनर्प्राप्त करने या ऐतिहासिक डेटाबेस स्थिति के विरुद्ध परीक्षण के लिए उपयोगी है।
PostgreSQLs के लिए Azure Database के लिए PostgreSQL में अंतर्निहित PgBouncer शामिल है, जो एक हल्का कनेक्शन पूलर है जो पुन: प्रयोज्य कनेक्शन के एक पूल को बनाए रखकर नए डेटाबेस कनेक्शन स्थापित करने के ओवरहेड को कम करता है। आप सर्वर कॉन्फ़िगरेशन के माध्यम से PgBouncer को सक्षम कर सकते हैं और मानक PostgreSQL पोर्ट 5432 के बजाय पोर्ट 6432 पर कनेक्ट कर सकते हैं। कनेक्शन पूलिंग एआई अनुप्रयोगों के लिए मूल्यवान है जो कई अल्पकालिक डेटाबेस कॉल करते हैं, जैसे कि व्यक्तिगत संदेशों को संग्रहीत करना या प्रत्येक अनुमान अनुरोध के लिए संदर्भ पुनर्प्राप्त करना।
महत्त्वपूर्ण
PgBouncer केवल सामान्य प्रयोजन और मेमोरी अनुकूलित कंप्यूट स्तरों पर उपलब्ध है। बर्स्टेबल टियर बिल्ट-इन पीजीबाउंसर फीचर का समर्थन नहीं करता है।
कनेक्शन अनुकूलन रणनीतियों को "प्रदर्शन का अनुकूलन, अनुक्रमण और स्केलिंग" मॉड्यूल में गहराई से शामिल किया गया है।
समर्थित PostgreSQL संस्करण और एक्सटेंशन
Azure Database for PostgreSQL एक साथ कई प्रमुख PostgreSQL संस्करणों का समर्थन करता है। सेवा आम तौर पर वर्तमान प्रमुख संस्करण और कई पिछले संस्करणों का समर्थन करती है, PostgreSQL की सामुदायिक समर्थन समयरेखा का पालन करती है। आप एक नया सर्वर बनाते समय उपलब्ध संस्करणों की जांच कर सकते हैं या किसी मौजूदा सर्वर पर सेटिंग क्वेरी server_version कर सकते हैं।
PostgreSQL का एक्सटेंशन तंत्र आपको कोर डेटाबेस इंजन से परे कार्यक्षमता जोड़ने की अनुमति देता है। एक्सटेंशन कोर PostgreSQL कोड को संशोधित किए बिना नए डेटा प्रकार, फ़ंक्शन, ऑपरेटर और इंडेक्स प्रकार जोड़ सकते हैं। एआई अनुप्रयोगों के लिए कई एक्सटेंशन प्रासंगिक हैं:
पीजीवेक्टर: वेक्टर डेटा प्रकार और समानता खोज संचालन सक्षम करता है। आप संबंधपरक डेटा के साथ एम्बेडिंग संग्रहीत कर सकते हैं और अनुमानित निकटतम पड़ोसी खोजें कर सकते हैं। "Azure PostgreSQL के साथ वेक्टर खोज लागू करें" मॉड्यूल pgvector को विस्तार से कवर करता है।
pg_trgm: ट्रिग्राम-आधारित पाठ समानता फ़ंक्शन प्रदान करता है। फजी टेक्स्ट मिलान, स्वत: पूर्ण सुविधाओं और सटीक मिलान के बिना समान स्ट्रिंग्स खोजने के लिए उपयोगी।
एचस्टोर: एक एकल PostgreSQL मान के भीतर कुंजी-मान जोड़े के सेट संग्रहीत करने के लिए एक कुंजी-मान डेटा प्रकार जोड़ता है। अर्ध-संरचित डेटा के लिए उपयोगी है जिसके लिए JSONB के पूर्ण लचीलेपन की आवश्यकता नहीं होती है।
आप यह पुष्टि करने के बाद कमांड का उपयोग करके एक्सटेंशन CREATE EXTENSION सक्षम कर सकते हैं कि एक्सटेंशन आपके सर्वर इंस्टेंस पर उपलब्ध है।
डेवलपर निर्णय बिंदु
अपने एप्लिकेशन के लिए PostgreSQL के लिए Azure Database for PostgreSQL को कॉन्फ़िगर करते समय, इन प्रमुख निर्णयों पर विचार करें:
कंप्यूट टियर चुनना: अपने कार्यभार के CPU और मेमोरी आवश्यकताओं के आधार पर चयन करें। विकास, परीक्षण और प्रूफ-ऑफ-कॉन्सेप्ट कार्य के लिए बर्स्टेबल से शुरुआत करें जहां लागत अनुकूलन लगातार प्रदर्शन से अधिक मायने रखता है। स्थिर, पूर्वानुमानित संसाधन आवश्यकताओं के साथ उत्पादन कार्यभार के लिए सामान्य प्रयोजन का उपयोग करें। मेमोरी ऑप्टिमाइज़्ड चुनें जब आपका एप्लिकेशन बड़े इन-मेमोरी कैश से लाभान्वित होता है या जटिल विश्लेषणात्मक क्वेरी करता है। आप तैनाती के बाद सीपीयू और मेमोरी उपयोग की निगरानी कर सकते हैं और यदि आवश्यक हो तो टियर को समायोजित कर सकते हैं।
एक्सटेंशन का मूल्यांकन: अपने एप्लिकेशन डिज़ाइन की शुरुआत में उपलब्ध एक्सटेंशन की समीक्षा करें। निर्धारित करें कि आपके एप्लिकेशन को वेक्टर समानता खोज (pgvector), पूर्ण-पाठ खोज या भू-स्थानिक क्षमताओं (PostGIS) की आवश्यकता है या नहीं। सत्यापित करें कि आवश्यक एक्सटेंशन किसी डिज़ाइन के लिए प्रतिबद्ध होने से पहले Azure Database for PostgreSQL पर उपलब्ध हैं। अपनी डेटाबेस रखरखाव रणनीति के हिस्से के रूप में एक्सटेंशन अपग्रेड की योजना बनाएं।