मुख्य सामग्री पर जाएँ

Azure Database for PostgreSQL: संपूर्ण डिप्लॉयमेंट गाइड

यह गाइड वास्तविक दुनिया के अनुप्रयोगों के लिए हैंड्स-ऑन ट्यूटोरियल के साथ Azure Database for PostgreSQL को डिप्लॉय, सुरक्षित, और अनुकूलित करने की प्रक्रिया बताता है।
· 15 मि॰ पढ़ें

AI के साथ खोजें

जैसे-जैसे अधिक वर्कलोड क्लाउड पर जा रहे हैं, मैंने पाया है कि PostgreSQL को कुशलतापूर्वक और सुरक्षित रूप से प्रबंधित करना डेटा प्रोफेशनल्स के लिए एक मुख्य कौशल बन गया है। 

PostgreSQL लंबे समय से मेरे पसंदीदा रिलेशनल डेटाबेस में से एक रहा है। यह विश्वसनीय, विस्तार योग्य है, और एक ओपन-सोर्स समुदाय द्वारा समर्थित है। 

लेकिन इसे क्लाउड में चलाना—खासकर बड़े पैमाने पर—अपनी चुनौतियों के साथ आता है, जिनमें उच्च उपलब्धता, प्रदर्शन ट्यूनिंग, लागत अनुकूलन, और कड़े सुरक्षा आवश्यकताओं को पूरा करना शामिल है।

Azure Database for PostgreSQL इन समस्याओं में से कई का समाधान एक पूर्ण-प्रबंधित, स्केलेबल और सुरक्षित प्लेटफ़ॉर्म प्रदान करके करता है। मेरे अनुभव में, यह डिप्लॉयमेंट और संचालन को सरल बनाता है, साथ ही आपको वह लचीलापन देता है जिसकी आपको तेज़ी से निर्माण करने और बदलती आवश्यकताओं के अनुरूप ढलने के लिए ज़रूरत होती है। इसलिए, इस ट्यूटोरियल में मैं Azure PostgreSQL डेटाबेस को डिप्लॉय करने के लिए आपको जो कुछ भी जानना चाहिए, उसे कवर करूँगा।

> PostgreSQL की बुनियादी बातें और यह कैसे काम करता है, समझने के लिए यह देखें: What Is PostgreSQL? How It Works, Use Cases, and Resources.

Azure Database for PostgreSQL का अवलोकन

Azure Database for PostgreSQL माइक्रोसॉफ्ट द्वारा प्रदान की गई क्लाउड-नेटिव, पूर्ण-प्रबंधित PostgreSQL सेवा है। 

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

विश्वसनीय Azure प्लेटफ़ॉर्म पर निर्मित, यह विभिन्न वर्कलोड और एप्लिकेशन आर्किटेक्चर के अनुरूप तीन अलग-अलग डिप्लॉयमेंट मॉडल—सिंगल सर्वर, फ्लेक्सिबल सर्वर, और Hyperscale (Citus)—का समर्थन करती है।

Azure PostgreSQL के कुछ प्रमुख लाभों में शामिल हैं:

  • स्वचालित पैचिंग और बैकअप: Azure अनुकूलित रिटेंशन के साथ दैनिक बैकअप को स्वचालित करता है और बिना डाउनटाइम के सुरक्षा पैच और अपडेट लागू करता है।
  • एंटरप्राइज़-ग्रेड सुरक्षा और अनुपालन: यह रेस्ट और इन-ट्रांज़िट एन्क्रिप्शन, रोल-आधारित एक्सेस कंट्रोल, प्राइवेट एंडपॉइंट्स जैसी सुविधाओं का समर्थन करता है और उद्योग प्रमाणपत्रों (जैसे, SOC, HIPAA, GDPR) का पालन करता है।
  • Azure इकोसिस्टम के साथ गहरा एकीकरण: Azure Data Factory, Azure Monitor, Azure Active Directory, Power BI और अन्य सेवाओं के साथ निर्बाध रूप से कनेक्ट होता है, जिससे विकास तेज़ होता है और समग्र ऑब्ज़रवेबिलिटी सक्षम होती है।

Azure PostgreSQL के प्रमुख लाभ दर्शाने वाली छवि।

Azure PostgreSQL के प्रमुख लाभ दर्शाने वाली छवि। Napkin AI का उपयोग करके बनाई गई।

डिप्लॉयमेंट मॉडल और आर्किटेक्चरल फ्रेमवर्क

Azure Database for PostgreSQL कई डिप्लॉयमेंट मॉडल का समर्थन करता है, जो आपको अपने एप्लिकेशन की स्केलेबिलिटी, उपलब्धता, और प्रदर्शन आवश्यकताओं के अनुरूप आर्किटेक्चर चुनने में सक्षम बनाता है।

फ्लेक्सिबल सर्वर डिप्लॉयमेंट

फ्लेक्सिबल सर्वर डिप्लॉयमेंट मॉडल सबसे बहुमुखी विकल्प है, जो संसाधन कॉन्फ़िगरेशन, उपलब्धता, और प्रदर्शन ट्यूनिंग पर सूक्ष्म नियंत्रण प्रदान करता है।

यह उच्च अपटाइम और पूर्वानुमेय प्रदर्शन की आवश्यकता वाली मिशन-क्रिटिकल एप्लिकेशन के लिए उपयुक्त है।

हाई अवेलेबिलिटी (HA)

सेवा निरंतरता सुनिश्चित करने और डाउनटाइम को न्यूनतम करने के लिए, आपको निम्नलिखित हाई अवेलेबिलिटी कॉन्फ़िगरेशन पर विचार करना चाहिए:

  • सेम-ज़ोन HA: प्राइमरी के समान Availability Zone में एक स्टैंडबाय रेप्लिका डिप्लॉय करता है। यह तेज़ फेलओवर और न्यूनतम नेटवर्क विलंबता के साथ रेडंडेंसी प्रदान करता है।
  • ज़ोन-रेडंडेंट HA: प्राइमरी और स्टैंडबाय नोड्स को अलग-अलग Availability Zones में वितरित करता है, जो ज़ोन-स्तरीय आउटेज के खिलाफ लचीलापन प्रदान करता है।

स्केलिंग और अनुकूलन

प्रदर्शन और लागत-कुशलता सुनिश्चित करने के लिए, डायनेमिक संसाधन प्रबंधन और वर्कलोड ट्यूनिंग हेतु निम्नलिखित रणनीतियाँ लागू करें:

  • वर्टिकल कम्प्यूट स्केलिंग: वर्कलोड मांग के आधार पर vCores और मेमोरी को डायनेमिक रूप से समायोजित करें। मौसमी स्पाइक्स या निष्क्रिय समय में लागत बचत के लिए उपयोगी।
  • ऑटो स्टॉप/स्टार्ट: ऑफ-पीक घंटों के दौरान सर्वर शटडाउन शेड्यूल करें ताकि लागत कम हो।
  • स्टोरेज ऑटो-स्केलिंग: जैसे-जैसे आपका डेटा बढ़ता है, डिस्क आकार स्वतः बढ़ता है, जिससे मैन्युअल पुनःआवंटन की आवश्यकता समाप्त हो जाती है।
  • IOPS ट्यूनिंग: स्टोरेज IOPS को वर्कलोड मांग के अनुरूप कस्टमाइज़ करें, जिससे रीड-हेवी या राइट-इंटेंसिव एप्लिकेशन के लिए विलंबता कम करने में मदद मिलती है।

HA सक्षम के साथ फ्लेक्सिबल सर्वर कैसे डिप्लॉय करें

High Availability (HA) सक्षम के साथ ‘फ्लेक्सिबल सर्वर’ डिप्लॉय करने के लिए, ये चरण अपनाएँ:

01: Azure Portal पर जाएँ, फिर Azure Database for PostgreSQL flexible servers पर जाएँ, और ‘create’ पर क्लिक करें।

नीचे दी गई छवियाँ इस चरण को दर्शाती हैं।

Azure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL फ्लेक्सिबल सर्वर बनाने के चरण (01) दिखाए गए हैं।Azure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL फ्लेक्सिबल सर्वर बनाने के चरण (01) दिखाए गए हैं।

Azure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL फ्लेक्सिबल सर्वर बनाने के चरण (02) दिखाए गए हैं।Azure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL फ्लेक्सिबल सर्वर बनाने के चरण (02) दिखाए गए हैं।

02: ‘High availability’ के अंतर्गत, ‘Same zone’ या ‘Zone redundant’ में से चुनें।

नीचे दी गई छवि इस चरण को दर्शाती है।

फ्लेक्सिबल सर्वर क्रिएशन का स्क्रीनशॉट, जिसमें ‘Same zone’ और ‘Zone redundant’ विकल्प दिखाए गए हैं।फ्लेक्सिबल सर्वर क्रिएशन का स्क्रीनशॉट, जिसमें ‘Same zone’ और ‘Zone redundant’ विकल्प दिखाए गए हैं।

03: vCores, स्टोरेज आकार, और IOPS सेटिंग्स कॉन्फ़िगर करें।

04: नेटवर्क कॉन्फ़िगरेशन पूरा करें (जैसे, VNet या पब्लिक एक्सेस) और डिप्लॉय करें।

‘Networking’ कॉन्फ़िगरेशन पेज का स्क्रीनशॉट।‘Networking’ कॉन्फ़िगरेशन पेज का स्क्रीनशॉट।

सिंगल सर्वर डिप्लॉयमेंट

सिंगल सर्वर मॉडल सादगी और त्वरित सेटअप के लिए डिज़ाइन किया गया है। 

यह स्वचालित बैकअप, बुनियादी प्रदर्शन ट्यूनिंग, और न्यूनतम कॉन्फ़िगरेशन ओवरहेड प्रदान करता है। 

यह विकास, परीक्षण, या छोटे प्रोडक्शन वर्कलोड के लिए आदर्श है।

उपलब्ध टियर

उपलब्ध टियर में शामिल हैं:

  • Basic: dev/test या हल्के एप्लिकेशन के लिए उपयुक्त।
  • General purpose: मानक वर्कलोड के लिए संतुलित कम्प्यूट और मेमोरी।
  • Memory optimized: कैश-इंटेंसिव वर्कलोड के लिए बेहतर मेमोरी-टू-कोर अनुपात।

सिंगल सर्वर कैसे बनाएँ

01: Azure Portal में, Azure Database for PostgreSQL servers पर जाएँ, और ‘create’ पर क्लिक करें।

Azure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL सिंगल सर्वर बनाने के चरण दिखाए गए हैंAzure Portal इंटरफ़ेस का स्क्रीनशॉट जिसमें नया PostgreSQL सिंगल सर्वर बनाने के चरण दिखाए गए हैं।

02: वर्कलोड आवश्यकताओं के आधार पर प्राइसिंग टियर चुनें।

सबसे ताज़ा टियर और प्राइसिंग जानकारी के लिए यह Azure प्राइसिंग पेज देखें, ताकि उपलब्ध टियर और कीमतों पर अद्यतन जानकारी मिल सके।

Azure प्राइसिंग पेज का स्क्रीनशॉट।Azure प्राइसिंग पेज का स्क्रीनशॉट: Azure प्राइसिंग पेज।

03: एडमिन क्रेडेंशियल सेट करें, फ़ायरवॉल नियम कॉन्फ़िगर करें, और डिप्लॉय करें।

> यदि आप PostgreSQL में नए हैं, तो Beginner's Guide to PostgreSQL क्लाउड में डिप्लॉय करने से पहले डेटाबेस के साथ काम शुरू करने के लिए एक बेहतरीन जगह है।

Hyperscale (Citus) एक्सटेंशन

Hyperscale (Citus) डिप्लॉयमेंट मॉडल वितरित PostgreSQL उपयोग मामलों के लिए डिज़ाइन किया गया है। 

यह डेटा को वर्कर नोड्स में शार्ड करके और क्वेरी को कुशलतापूर्वक समन्वित करके सिंगल-नोड डेटाबेस को क्षैतिज रूप से स्केलेबल क्लस्टर में बदल देता है।

कुछ प्रमुख उपयोग मामलों में शामिल हैं:

  • रियल-टाइम एनालिटिक्स: अरबों पंक्तियों पर मिलीसेकंड लेटेंसी के साथ समवर्ती क्वेरी चलाएँ।
  • मल्टी-टेनेंट SaaS एप्लिकेशन: वर्कलोड को अलग करने और प्रदर्शन बनाए रखने के लिए टेनेंट्स को शार्ड्स में वितरित करें।

टेबल कैसे बनाएँ और वितरित करें

01: Azure Portal में Hyperscale (Citus) सर्वर समूह बनाएँ। यह Citus एक्सटेंशन का उपयोग करके एक वितरित PostgreSQL क्लस्टर सेटअप करता है।

02: psql या Azure Data Studio जैसे टूल का उपयोग करके कोऑर्डिनेटर नोड से कनेक्ट करें। 

सुनिश्चित करें कि आप कोऑर्डिनेटर नोड (वर्कर नहीं) से कनेक्ट कर रहे हैं, क्योंकि वितरित टेबल कमांड कोऑर्डिनेटर से ही चलाए जाने चाहिए।

03: SQL में टेबल बनाएँ (यदि पहले से मौजूद नहीं है):

CREATE TABLE your_table_name (
  id SERIAL PRIMARY KEY,
  distribution_column INT,
  ... other columns ...
);

04: निम्नलिखित का उपयोग करके टेबल को वितरित करें:

SELECT create_distributed_table('your_table_name', 'distribution_column');

'your_table_name' को अपनी वास्तविक टेबल के नाम से, और 'distribution_column' को ऐसे कॉलम से बदलें जिसमें अच्छी कार्डिनैलिटी हो और जिसे क्वेरी में अक्सर उपयोग किया जाता हो।

सही डिप्लॉयमेंट मॉडल चुनना

नीचे दी गई तालिका सामान्य उपयोग मामलों के आधार पर अनुशंसित डिप्लॉयमेंट मॉडल का विवरण देती है।

उपयोग मामलाअनुशंसित मॉडल
कम-लागत विकास/परीक्षणसिंगल सर्वर
बड़े पैमाने के, मल्टी-टेनेंट एनालिटिक्सHyperscale (Citus)
चर लोड वाली सामान्य-उद्देश्य ऐप्सफ्लेक्सिबल सर्वर

सही डिप्लॉयमेंट मॉडल का चयन आपके एप्लिकेशन के वर्कलोड लक्षणों, हाई अवेलेबिलिटी आवश्यकताओं, और प्रदर्शन अपेक्षाओं पर निर्भर करता है। 

> यदि आपको यकीन नहीं है कि आपका प्रोजेक्ट PostgreSQL के लिए सही है या नहीं, तो PostgreSQL vs. MySQL: Choosing the Right Database for Your Project और SQLite vs PostgreSQL: A Detailed Comparison देखें।

सुरक्षा और अनुपालन आर्किटेक्चर

अपने Azure Database for PostgreSQL इंस्टेंस की सुरक्षा करना संवेदनशील डेटा की रक्षा, व्यवसाय निरंतरता सुनिश्चित करने, और नियामक अनुपालन बनाए रखने के लिए महत्वपूर्ण है। 

Azure सशक्त, अंतर्निर्मित क्षमताएँ प्रदान करता है जो पहचान प्रबंधन लागू करने, नेटवर्क एक्सेस को सुरक्षित करने, और उद्योग मानकों के साथ संरेखित करने में मदद करती हैं।

प्रमाणीकरण तंत्र

आपके PostgreSQL डेटाबेस तक पहुँच को सुरक्षित करने में प्रमाणीकरण पहली रक्षा रेखा है। 

Azure Active Directory (AAD) एकीकरण

Azure AD आपको PostgreSQL सहित Azure संसाधनों के लिए उपयोगकर्ताओं और उनकी पहुँच का केंद्रीकृत प्रबंधन करने देता है। 

यह लोकल सर्वर उपयोगकर्ताओं के प्रबंधन से अधिक सुरक्षित है और मल्टी-फैक्टर ऑथेंटिकेशन, कंडीशनल एक्सेस, और यूज़र लाइफसाइकल मैनेजमेंट सक्षम करता है।

हम एक उदाहरण आर्किटेक्चर देख सकते हैं: 

आप अपने ऑन-प्रिमाइसेज़ Active Directory डोमेन को Azure AD के साथ एकीकृत कर सकते हैं ताकि अपनी मौजूदा पहचान अवसंरचना को क्लाउड तक विस्तृत कर सकें। 

नीचे दी गई छवि एक विशिष्ट हाइब्रिड आइडेंटिटी आर्किटेक्चर को दर्शाती है:

ऑन-प्रिमाइसेज़ Active Directory को Azure Active Directory (Azure AD) के साथ एकीकृत करने वाला हाइब्रिड आइडेंटिटी आर्किटेक्चर दर्शाती छवि।ऑन-प्रिमाइसेज़ Active Directory को Azure Active Directory (Azure AD) के साथ एकीकृत करने वाला हाइब्रिड आइडेंटिटी आर्किटेक्चर दर्शाती छवि। स्रोत: Microsoft Azure Architecture

AAD प्रमाणीकरण सक्षम करने के लिए:

01: PostgreSQL सर्वर को AAD के साथ पंजीकृत करें:

  • Azure Portal खोलें।
  • अपने Azure Database for PostgreSQL flexible servers पर जाएँ।
  • Settings के अंतर्गत, ‘Active Directory admin’ पर क्लिक करें।
  • ‘Set admin’ पर क्लिक करें, किसी उपयोगकर्ता/समूह को खोजें, फिर ‘Save’ पर क्लिक करें।

02: Azure CLI का उपयोग करके AAD एडमिन सेट करें (वैकल्पिक):

az postgres flexible-server ad-admin create \
  --resource-group <your-resource-group> \
  --server-name <your-server-name> \
  --display-name <aad-user-name> \
  --object-id <aad-user-object-id>

03: psql का उपयोग करके कनेक्ट करें:

psql "host=<your-postgres-host> dbname=<your-db> user=<aad-user>@<tenant>.onmicrosoft.com sslmode=require"

SCRAM-SHA-256 प्रमाणीकरण

Azure PostgreSQL SCRAM-SHA-256 का समर्थन करता है, जो एक आधुनिक और सुरक्षित पासवर्ड-आधारित प्रमाणीकरण तंत्र है और पुराने MD5 से बेहतर है।

इसे PostgreSQL सर्वर पैरामीटर्स में सक्षम करें:

  • Azure portal में फ्लेक्सिबल सर्वर के अंतर्गत ‘server parameters’ सेक्शन पर जाएँ।
  • password_encryption खोजें और इसे scram-sha-256 पर सेट करें।
  • परिवर्तनों को सहेजें और आवश्यकता होने पर सर्वर को पुनरारंभ करें।

रो-लेवल सिक्योरिटी (RLS)

सूक्ष्म एक्सेस नियंत्रण नीतियाँ परिभाषित करने के लिए RLS का उपयोग करें, जो केवल कुछ उपयोगकर्ताओं को टेबल की विशिष्ट पंक्तियाँ देखने या परिवर्तित करने की अनुमति देती हैं।

RLS कैसे सक्षम करें:

01: अपने डेटाबेस से कनेक्ट करें और चलाएँ:

ALTER TABLE employees ENABLE ROW LEVEL SECURITY;

02: एक पॉलिसी बनाएँ:

CREATE POLICY employee_policy
ON employees
USING (user_email = current_user);

नेटवर्क सुरक्षा

अपने Azure Database for PostgreSQL की नेटवर्क-स्तर पर सुरक्षा अनधिकृत एक्सेस को रोकने और अटैक सरफेस को कम करने के लिए आवश्यक है। 

ट्रैफ़िक को आइसोलेट करने और एक्सेस नियंत्रण लागू करने के लिए Azure कई अंतर्निर्मित नेटवर्किंग सुविधाएँ प्रदान करता है।

01: प्राइवेट एंडपॉइंट्स का उपयोग

प्राइवेट एंडपॉइंट्स आपके PostgreSQL सर्वर को केवल आपके Azure Virtual Network के भीतर सुलभ बनाते हैं, जिससे सार्वजनिक एक्सपोज़र समाप्त हो जाता है।

प्राइवेट एंडपॉइंट कॉन्फ़िगर करने के लिए:

01: Azure portal पर जाएँ और अपना PostgreSQL फ्लेक्सिबल सर्वर चुनें

02: ‘Settings’ के अंतर्गत, ‘Networking’ पर क्लिक करें।

03: ‘Private access (VNet integration)’ चुनें।

04: ‘Add Private Endpoint’ पर क्लिक करें।

05: एक नाम दें और अपना रिसोर्स ग्रुप और VNet/subnet चुनें।

06: Private DNS Integration चुनें (अनुशंसित)।

07: समीक्षा करें और प्राइवेट एंडपॉइंट बनाएँ।

नीचे दी गई छवियाँ Azure portal में प्राइवेट एंडपॉइंट सेटअप के कुछ मुख्य चरण दिखाती हैं।

Azure portal में प्राइवेट एंडपॉइंट कॉन्फ़िगर करने के चरणों (01) का स्क्रीनशॉट दिखाती छवि।Azure portal में प्राइवेट एंडपॉइंट कॉन्फ़िगर करने के चरणों (01) का स्क्रीनशॉट दिखाती छवि।

Azure portal में प्राइवेट एंडपॉइंट कॉन्फ़िगर करने के चरणों (02) का स्क्रीनशॉट दिखाती छवि।Azure portal में प्राइवेट एंडपॉइंट कॉन्फ़िगर करने के चरणों (02) का स्क्रीनशॉट दिखाती छवि।

02: नेटवर्क सिक्योरिटी ग्रुप्स (NSGs)

NSG इनबाउंड और आउटबाउंड ट्रैफ़िक को नेटवर्क इंटरफ़ेस और सबनेट तक नियंत्रित करते हैं। केवल विश्वसनीय IPs को अनुमति देने के लिए उनका उपयोग करें।

अपने प्राइवेट एंडपॉइंट के लिए NSG कॉन्फ़िगर करने हेतु:

01: उस सबनेट पर जाएँ जहाँ आपका प्राइवेट एंडपॉइंट स्थित है।

02: एक NSG संलग्न करें और निम्नलिखित जैसे नियम परिभाषित करें:

  • केवल अपने संगठन की IP रेंज को अनुमति दें।
  • अन्य सभी इनबाउंड कनेक्शनों को अस्वीकार करें।

03: क्रॉस-रीजन पीयरिंग

वैश्विक एप्लिकेशन के लिए, Azure रीजन के बीच VNet Peering का उपयोग करें ताकि वर्चुअल नेटवर्क्स के बीच ट्रैफ़िक को सुरक्षित रूप से रूट किया जा सके।

Azure portal में क्रॉस-रीजन पीयरिंग सेट करने के लिए:

01: Azure portal में ‘Virtual networks’ पर जाएँ और ‘Peerings’ चुनें।

02: ‘Add’ पर क्लिक करें और रिमोट वर्चुअल नेटवर्क (VNet) चुनें। 

03: ‘Use remote gateways for cross-region connectivity’ सक्षम करें।

अनुपालन प्रमाणन

Azure Database for PostgreSQL उद्योग और सरकार के व्यापक मानकों का पालन करता है, जो डेटा सुरक्षा और कानूनी अनुरूपता सुनिश्चित करता है:

कुछ प्रमाणपत्रों में शामिल हैं:

  • GDPR
  • HIPAA
  • SOC 1/2/3
  • ISO/IEC 27001, 27018
  • FedRAMP, PCI-DSS

आप का अनुपालन स्थिति Microsoft Trust Center पर देख सकते हैं और अपने क्षेत्र या उद्योग से संबंधित अनुपालन रिपोर्ट डाउनलोड कर सकते हैं।

प्रदर्शन अनुकूलन और मॉनिटरिंग

प्रोडक्शन वर्कलोड के लिए प्रदर्शन और विश्वसनीयता को अधिकतम करना महत्वपूर्ण है। 

Azure बुद्धिमान ट्यूनिंग, रियल-टाइम मॉनिटरिंग और अलर्टिंग के लिए टूल प्रदान करता है ताकि आपका PostgreSQL सर्वर इष्टतम रूप से चले।

इंटेलिजेंट ट्यूनिंग

Azure इन-बिल्ट एनालिटिक्स और ऑप्टिमाइज़ेशन टूल के माध्यम से सक्रिय रूप से प्रदर्शन सुधार सक्षम करता है।

उपयोग मामलों में ऑटोमैटिक स्केलिंग, वर्कलोड वितरण, और स्टोरेज प्रदर्शन संवर्द्धन शामिल हैं।

प्रदर्शन सिफारिशों के लिए Azure Advisor का उपयोग करें

Azure Advisor टेलीमेट्री डेटा का विश्लेषण करता है और सर्वोत्तम प्रथाएँ सुझाता है।

प्रदर्शन सिफारिशें लागू करने के लिए:

01: Azure Portal पर जाएँ और ‘Azure Advisor’ चुनें।

02: ‘Recommendations’ पर क्लिक करें, फिर ‘Performance’।

03: अपने PostgreSQL फ्लेक्सिबल सर्वर को देखें।

04: निम्नलिखित सुझाव लागू करें:

  • vCores को स्केल करना
  • IOPS बढ़ाना
  • रीड रेप्लिका का उपयोग

रीड रेप्लिका बनाएँ

रीड-हेवी वर्कलोड को रेप्लिका बनाकर ऑफ़लोड करें। ऐसा करने के लिए: 

01: Azure portal में, अपना PostgreSQL सर्वर चुनें।

02: ‘Settings’ के अंतर्गत, ‘Replicas’ चुनें।

03: ‘Add Replica’ पर क्लिक करें, रीजन चुनें, और बनाएँ।

04: अपने एप्लिकेशन में रीड-ओनली एंडपॉइंट्स का उपयोग करें।

मॉनिटरिंग फ़्रेमवर्क

Azure Monitor आपके PostgreSQL संसाधनों के स्वास्थ्य और उपयोग में गहरी दृश्यता प्रदान करता है।

निगरानी के लिए प्रमुख मेट्रिक्स

  • CPU उपयोग
  • मेमोरी उपयोग
  • डिस्क I/O और IOPS
  • क्वेरी निष्पादन समय
  • सक्रिय कनेक्शन
  • कनेक्शन विफलताएँ

मेट्रिक्स देखने के लिए:

स्टेप 01: Azure portal पर जाएँ और Monitor खोलें।

स्टेप 02: ‘Metrics’ पर क्लिक करें और अपना PostgreSQL फ्लेक्सिबल सर्वर चुनें।

स्टेप 03: कोई मेट्रिक चुनें (जैसे, CPU %)।

स्टेप 04: फ़िल्टर लागू करें और एग्रीगेशन सेट करें (जैसे, औसत, अधिकतम)।

स्टेप 05: विज़ुअल चार्ट बनाएँ या उन्हें डैशबोर्ड पर पिन करें।

अलर्ट नियम बनाना

अलर्ट आपको प्रदर्शन विसंगतियों पर उपयोगकर्ताओं को प्रभावित करने से पहले कार्रवाई करने में मदद करते हैं।

अलर्ट बनाने के लिए:

स्टेप 01: Azure portal में, Monitor पर जाएँ और ‘Alerts’ चुनें।

स्टेप 02: ‘New Alert Rule’ पर क्लिक करें।

स्टेप 03: अपना PostgreSQL संसाधन चुनें।

स्टेप 04: एक कंडीशन चुनें, जैसे CPU usage > 80%।

स्टेप 05: मूल्यांकन अवधि और आवृत्ति सेट करें।

स्टेप 06: एक एक्शन समूह परिभाषित करें (ईमेल, webhook, Logic App)।

स्टेप 07: अलर्ट का नाम दें और बनाएँ।

प्रमुख प्रदर्शन संकेतक (KPIs)

KPIs की निगरानी यह सुनिश्चित करती है कि आपकी प्रणाली स्वस्थ है और SLAs को पूरा करती है:

KPI

विवरण

CPU उपयोग

इष्टतम प्रदर्शन के लिए 75% से कम रहना चाहिए

मेमोरी उपयोग

उच्च उपयोग धीमी क्वेरी या OOM किल्स का कारण बन सकता है

क्वेरी अवधि

क्वेरी प्रदर्शन लॉग का उपयोग करके धीमी क्वेरी ट्रैक करें

सक्रिय कनेक्शन

समकालिक उपयोगकर्ता लोड दर्शाता है

स्टोरेज उपयोग

यह अनुमान लगाने में मदद करता है कि ऑटो-स्केलिंग कब ट्रिगर हो सकती है

आप इन KPIs को Azure Monitor Metrics में देख और विश्लेषित कर सकते हैं।

माइग्रेशन और इंटीग्रेशन पैटर्न

उचित टूल और रणनीति के साथ Azure Database for PostgreSQL में डेटाबेस माइग्रेट करना सहज हो सकता है। 

Azure ऑनलाइन और ऑफ़लाइन माइग्रेशन, कई स्रोत प्रणालियों, और AI व विकास टूल के साथ इंटीग्रेशन का समर्थन करता है।

> यदि आप वास्तविक-वर्ल्ड डेवलपमेंट वातावरण में PostgreSQL के साथ काम करने पर हैंड्स-ऑन ट्यूटोरियल चाहते हैं, तो Using PostgreSQL in Python पढ़ें।

Database Migration Service (DMS)

Azure Database Migration Service (DMS) विभिन्न डेटाबेस प्लेटफ़ॉर्म (ऑन-प्रिमाइसेज़ या क्लाउड) से Azure PostgreSQL तक सुरक्षित, मार्गदर्शित माइग्रेशन को सरल बनाता है।

नीचे दी गई छवि समर्थित माइग्रेशन परिदृश्यों और प्लेटफ़ॉर्म को दर्शाती है:

Azure Database Migration Service (DMS) दर्शाने वाला आरेख।Azure Database Migration Service (DMS) दर्शाने वाला आरेख। स्रोत: Microsoft Products

DMS का उपयोग करके माइग्रेशन करना

01: एक DMS इंस्टेंस बनाएँ:

  • Azure portal पर जाएँ और ‘Database Migration Services’ खोजें।
  • ‘Create’ पर क्लिक करें, फिर अपनी सब्सक्रिप्शन, रिसोर्स ग्रुप, और रीजन चुनें।
  • ‘Integration Runtime (IR)’ चुनें और एक नया IR बनाएँ या मौजूदा का पुन: उपयोग करें।

02: एक माइग्रेशन प्रोजेक्ट बनाएँ:

  • अपने DMS इंस्टेंस के अंदर, ‘Add New Migration Project’ पर क्लिक करें।
  • एक नाम दें और सेट करें:
    • Source server type: PostgreSQL
    • Target server type: Azure Database for PostgreSQL
    • Migration activity type: Online या Offline

03: स्रोत और लक्ष्य सर्वर परिभाषित करें:

  • स्रोत PostgreSQL सर्वर (ऑन-प्रिम, AWS RDS, आदि) के लिए कनेक्शन विवरण दर्ज करें।
  • लक्ष्य Azure PostgreSQL फ्लेक्सिबल सर्वर के लिए क्रेडेंशियल दर्ज करें।

04: माइग्रेशन चलाएँ और मॉनिटर करें:

  • माइग्रेट करने के लिए डेटाबेस/स्कीमा चुनें।
  • टेबल मैपिंग और वैकल्पिक डेटा ट्रांसफ़ॉर्मेशन कॉन्फ़िगर करें।
  • माइग्रेशन प्रारंभ करें और Azure portal में प्रगति मॉनिटर करें।

ऑन-प्रिमाइसेज़ या अन्य क्लाउड से माइग्रेट करना

छोटे या एकमुश्त माइग्रेशन के लिए, आप PostgreSQL के नैटिव टूल जैसे pg_dump और pg_restore का उपयोग कर सकते हैं।

CLI के माध्यम से ऑफ़लाइन माइग्रेशन

ऑन-प्रिमाइसेज़ या अन्य क्लाउड PostgreSQL डेटाबेस से Azure पर ऑफ़लाइन माइग्रेशन करने के लिए, ये चरण अपनाएँ:

01: स्रोत से डेटाबेस एक्सपोर्ट करें:

pg_dump -Fc --no-acl --no-owner -h <source-host> -U <source-user> dbname > db.dump

02: Azure PostgreSQL में इम्पोर्ट करें:

pg_restore -h <azure-host> -U <azure-user> -d <target-db> db.dump

एक सुझाव है कि बड़े डेटाबेस पर तेज़ प्रदर्शन के लिए pg_restore के साथ --jobs फ्लैग का उपयोग करें।

Oracle से PostgreSQL में माइग्रेट करना

Oracle से PostgreSQL में माइग्रेट करने के लिए, आप Ora2Pg का उपयोग कर सकते हैं, जो Oracle स्कीमा को PostgreSQL-संगत सिंटैक्स में बदलता है। ये चरण अपनाएँ:

01: Ora2Pg इंस्टॉल करें।

02: अपने Oracle क्रेडेंशियल के साथ ora2pg.conf फ़ाइल कॉन्फ़िगर करें।

03: निम्नलिखित कमांड चलाएँ:

ora2pg -c ora2pg.conf -o schema.sql
psql -h <azure-host> -U <user> -d <dbname> -f schema.sql

> माइग्रेशन के बाद डेटाबेस प्रबंधन की अपनी क्षमता को मजबूत करने के लिए, Managing Databases in PostgreSQL देखें।

AI इंटीग्रेशन क्षमताएँ

Azure PostgreSQL pgvector एक्सटेंशन का उपयोग करके AI वर्कलोड सक्षम करता है, और Azure Cognitive Services के साथ इंटीग्रेट हो सकता है।

pgvector को सक्षम और उपयोग करने के लिए:

CREATE EXTENSION IF NOT EXISTS vector;

02: वेक्टर कॉलम बनाएँ और उपयोग करें:

CREATE TABLE embeddings (
  id SERIAL PRIMARY KEY,
  description TEXT,
  embedding vector(1536)
);

03: वेक्टर इन्सर्ट करें और खोजें:

INSERT INTO embeddings (description, embedding) 
VALUES ('example', '[0.1, 0.2, 0.3, 0.4]');

SELECT * FROM embeddings 
ORDER BY embedding <-> '[0.1, 0.2, 0.3, 0.4]' 
LIMIT 5;

04: AI सेवाओं के साथ इंटीग्रेट करें:

  • Azure OpenAI, Cognitive Search, या Azure ML का उपयोग करके एम्बेडिंग जनरेट करें।
  • PostgreSQL में pgvector का उपयोग करके उन्हें स्टोर और क्वेरी करें।

लागत अनुकूलन तकनीकें

Azure PostgreSQL इन्फ्रास्ट्रक्चर और परिचालन लागत को कम करने के लिए कई रणनीतियाँ प्रदान करता है।

फ्लेक्सिबल सर्वर प्राइसिंग

फ्लेक्सिबल सर्वर प्राइसिंग विकल्पों के साथ लागत को अनुकूलित करने के लिए, आपको इन दिशानिर्देशों का पालन करना चाहिए:

01: Burstable SKU (जैसे, B1ms) का उपयोग विकास या कम-CPU वर्कलोड के लिए करें।

  • Azure portal में PostgreSQL पर जाएँ और ‘Pricing tier’ चुनें।
  • ‘Burstable’ चुनें।

02: रिज़र्व्ड कैपेसिटी:

  • 1 या 3 वर्षों की प्रतिबद्धता करके 60% तक की बचत प्राप्त करें।
  • Azure portal में ‘Reservations’ पर जाकर, ‘Add’ पर क्लिक करके, और ‘PostgreSQL flexible server’ चुनकर खरीदें।

Hyperscale (Citus) इकोनॉमिक्स

Hyperscale थ्रूपुट बढ़ाने के लिए क्षैतिज शार्डिंग का उपयोग करता है।

लाभों में शामिल हैं:

  • नोड्स में लोड बैलेंसिंग
  • बेहतर संसाधन आइसोलेशन
  • कम्प्रेशन के माध्यम से स्टोरेज दक्षता

Hyperscale सक्षम करने के लिए Azure portal पर जाएँ, ‘Create Resource’ चुनें, फिर ‘Azure Database for PostgreSQL (Hyperscale, Citus)’ चुनें।

स्टोरेज और बैकअप लागत प्रबंधन

स्टोरेज और बैकअप लागतों का प्रभावी ढंग से प्रबंधन करने के लिए, आपको निम्नलिखित चरणों पर विचार करना चाहिए:

स्नैपशॉट रिटेंशन की समीक्षा करें:

  • Azure डिफ़ॉल्ट रूप से दैनिक बैकअप रखता है।
  • ‘Server settings’ पर जाएँ, फिर ‘Backups’, और ‘Retention Period’ समायोजित करें (डिफ़ॉल्ट 7–35 दिन)।

Azure Pricing Calculator का उपयोग करके लागत का अनुमान लगाएँ:

  • Azure Pricing Calculator।
  • PostgreSQL फ्लेक्सिबल सर्वर जोड़ें, रीजन, SKU, बैकअप रिटेंशन, और IOPS चुनें।

PostgreSQL वर्ज़न और अपग्रेड का प्रबंधन

अपने वातावरण को सुरक्षित और समर्थित रखने के लिए नियमित रूप से अपडेट लागू करें।

समर्थित वर्ज़न और लाइफसाइकल पॉलिसी

समर्थित PostgreSQL वर्ज़न और उनकी लाइफसाइकल पॉलिसी को समझना एक सुरक्षित और समर्थित वातावरण बनाए रखने के लिए महत्वपूर्ण है:

  • Azure PostgreSQL वर्ज़न 11–16 का समर्थन करता है।
  • वर्ज़न सपोर्ट PostgreSQL समुदाय की EOL पॉलिसी के साथ संरेखित है।
  • सपोर्ट और सुरक्षा बनाए रखने के लिए EOL से पहले अपग्रेड की योजना बनाएँ।

अपग्रेडिंग और पैचिंग

अपने PostgreSQL फ्लेक्सिबल सर्वर को अपग्रेड और पैच करना अपडेट के प्रकार के अनुसार स्वचालित और मैन्युअल दोनों प्रक्रियाओं को शामिल करता है:

  • माइनर वर्ज़न अपडेट स्वतः लागू होते हैं।
  • मेजर अपग्रेड के लिए मैन्युअल चरणों की आवश्यकता होती है:

अपग्रेड के चरण:

01: वर्तमान डेटाबेस का बैकअप लें:

pg_dumpall -h <current-host> -U <user> > backup.sql

02: Azure Portal से इच्छित PostgreSQL वर्ज़न के साथ नया सर्वर बनाएँ।

03: नए सर्वर पर बैकअप रिस्टोर करें:

psql -h <new-host> -U <user> -f backup.sql

04: अपने एप्लिकेशन या पर्यावरण वेरिएबल्स में कनेक्शन स्ट्रिंग्स अपडेट करें।

डेवलपमेंट इकोसिस्टम

Azure PostgreSQL आधुनिक DevOps और जियोस्पेशियल वर्कलोड का समर्थन करता है।

Infrastructure-as-Code (IaC)

दोहराने योग्य, स्वचालित प्रोविज़निंग के लिए Terraform का उपयोग करें। यहाँ Azure PostgreSQL फ्लेक्सिबल सर्वर बनाने के लिए एक नमूना Terraform स्क्रिप्ट है:

resource "azurerm_postgresql_flexible_server" "example" {
  name                   = "mypgflexserver"
  resource_group_name    = "myrg"
  location               = "East US"
  administrator_login    = "pgadmin"
  administrator_password = "password123!"
  sku_name               = "Standard_B1ms"
  version                = "14"
}

रिसोर्स बनाने के लिए terraform init → terraform plan → terraform apply चलाएँ।

> अधिक जानने के लिए, हमारा व्यापक guide on using Terraform with Azure देखें। 

PostGIS के साथ भू-स्थानिक क्षमताएँ

PostGIS PostgreSQL को स्थानिक और भौगोलिक क्वेरी के लिए विस्तारित करता है।

PostGIS सक्षम करने के लिए:

CREATE EXTENSION postgis;

लोकेशन-आधारित ऐप्स, मैपिंग, रूट ऑप्टिमाइज़ेशन, और जियोफेंसिंग के लिए उपयोग करें।

लोकप्रिय एक्सटेंशन और इंटीग्रेशन

सशक्त PostgreSQL एक्सटेंशन सक्षम करें ताकि ऑब्ज़रवेबिलिटी और शेड्यूलिंग को बढ़ाया जा सके:

एक्सटेंशन

उद्देश्य

pg_stat_statements

क्वेरी प्रदर्शन को ट्रैक और विश्लेषित करें

uuid-ossp

UUIDs जनरेट करें

postgis

भू-स्थानिक क्वेरी

pg_cron

SQL में बैकग्राउंड जॉब शेड्यूल करें

वांछित एक्सटेंशन सक्षम करने के लिए, Azure Portal पर जाएँ और अपने PostgreSQL फ्लेक्सिबल सर्वर पर जाएँ। 

वहाँ से Server Parameters सेक्शन तक पहुँचें, azure.extensions सेटिंग ढूँढें, आवश्यक एक्सटेंशन को कॉमा-सेपरेटेड सूची के रूप में जोड़ें, और परिवर्तन सहेजें।

निष्कर्ष

Azure Database for PostgreSQL आपको क्लाउड में एंटरप्राइज़-ग्रेड विश्वसनीयता, सुरक्षा, और प्रदर्शन के साथ PostgreSQL को डिप्लॉय, स्केल, और प्रबंधित करने में सक्षम बनाता है। 

जैसे-जैसे क्लाउड की माँगें विकसित होती हैं, Azure के मजबूत इकोसिस्टम और PostgreSQL की सिद्ध विश्वसनीयता का लाभ उठाना सुनिश्चित करेगा कि आपकी एप्लिकेशन चुस्त, अनुपालन और लागत-प्रभावी बनी रहें।

यदि आप अपना ज्ञान और गहराई तक बढ़ाना चाहते हैं, तो Azure Fundamentals स्किल ट्रैक ज़रूर देखें। सीखते रहें!

Don Kaluarachchi

लेखक

Don Kaluarachchi

मैं डॉन हूँ—कंसल्टेंट, डेवलपर, इंजीनियर, डिजिटल आर्किटेक्ट और लेखक (यानी, मैं कई भूमिकाएँ निभाता हूँ 👨‍💻🎩)। मुझे डिजिटल प्लेटफ़ॉर्म्स को सुचारू रूप से चलाना और उन्हें बेहतर बनाने के नए तरीके खोजना पसंद है। जब मैं कोड नहीं लिख रहा होता, तब मैं कृत्रिम बुद्धिमत्ता, डेटा विज्ञान और तकनीक से जुड़ी बातों पर लिखता हूँ।
 
सालों के दौरान, मैंने सॉफ़्टवेयर निर्माण और अनुकूलन से लेकर AI मॉडल परिनियोजन और क्लाउड समाधानों के डिज़ाइन तक हर तरह के काम किए हैं। मैंने Brunel University London से कृत्रिम बुद्धिमत्ता में मास्टर ऑफ़ साइंस और कंप्यूटर साइंस में बैचलर ऑफ़ साइंस की डिग्री प्राप्त की है।

विषय