हालाँकि, यह एक सार्वभौमिक अवधारणा नहीं है। सुपाबेस और ऑराबेस, जो समर्पित पोस्टग्रेज इंस्टेंसेस का प्रावधान करते हैं, उसी तंत्र को उसी तरह उजागर नहीं करते हैं। यह आलेख विवरण देता है कि नियॉन वास्तव में अपनी ठंडी शुरुआत पर क्या दस्तावेज करता है, वर्सेल पोस्टग्रेज और सुपाबेस की तुलना कैसे होती है, और ऑराबेस मॉडल कहां फिट बैठता है, मार्केटिंग पेज से अनुमान लगाने के बजाय सीधे प्रोविजनर कोड में सत्यापित किया जाता है।
अनिवार्य है
- सर्वर रहित कोल्ड स्टार्ट उस विलंब को संदर्भित करता है जब एक निलंबित डेटाबेस को पहले अनुरोध का जवाब देने से पहले अपनी गणना को जगाना होता है।
- नियॉन भंडारण और गणना को अलग करता है: निष्क्रियता की एक दस्तावेजी अवधि के बाद गणना निष्क्रिय हो जाती है (मुफ्त योजना पर डिफ़ॉल्ट रूप से 5 मिनट, भुगतान योजनाओं पर कॉन्फ़िगर करने योग्य)।
- नियॉन आम तौर पर कुछ सौ मिलीसेकंड से लेकर कुछ सेकंड के क्रम में एक रिबूट दस्तावेज करता है, प्रकाशक द्वारा प्रकाशित एक आंकड़ा, सामुदायिक उपकरण नियॉन-लेटेंसी-बेंचमार्क.वरसेल.एप के माध्यम से लाइव मापा जा सकता है।
- वर्सेल पोस्टग्रेज़ नियॉन इंफ्रास्ट्रक्चर पर निर्भर करता है: वेक-अप व्यवहार एक अलग ब्रांड के तहत समान यांत्रिकी का पालन करता है।
- सुपाबेस प्रति कनेक्शन कोल्ड स्टार्ट के बिना, प्रति प्रोजेक्ट एक समर्पित डेटाबेस प्रदान करता है। केवल निःशुल्क योजना मैन्युअल पुनर्स्थापना के साथ निष्क्रिय परियोजनाओं को रोकती है।
- ऑराबेस प्रति प्रोजेक्ट एक समर्पित पोस्टग्रेज डेटाबेस, समर्पित सीएनपीजी क्लस्टर या साझा क्लस्टर पर समर्पित आधार का प्रावधान करता है: यह एक नियॉन सर्वर रहित मॉडल नहीं है, जिसे प्रोविजनर कोड में सत्यापित किया गया है।
सर्वर रहित पोस्टग्रेज डेटाबेस के लिए कोल्ड स्टार्ट क्या है?
कोल्ड स्टार्ट तब होता है जब आपके डेटाबेस को चलाने वाली गणना को निष्क्रियता के कारण निष्क्रिय कर दिया जाता है, और एक नई क्वेरी को चलने से पहले इसे पुनरारंभ करना होगा। यह एक विशिष्ट टीसीपी/टीएलएस कनेक्शन की सामान्य नेटवर्क विलंबता नहीं है: यह एक नई पोस्टग्रेज प्रक्रिया को शुरू करने और उसकी स्थिति को पुनर्स्थापित करने का समय है, यहां तक कि पहला अनुरोध निष्पादित होने से पहले ही।
यह शब्द मोटे तौर पर सर्वर रहित कंप्यूटिंग से आता है, जहां अनुरोध को संसाधित करने से पहले एक शून्य निष्पादन वातावरण को पुनरारंभ करना होगा, चाहे वह सर्वर फ़ंक्शन हो या किनारे पर वेबअसेंबली रनटाइम हो। हमने कोल्ड स्टार्ट वेबअसेंबली फेसिंगकंटेनरों पर अपने लेख में किनारे के कार्यों के बारे में इस तंत्र का विवरण दिया है। एक डेटाबेस के लिए, यांत्रिकी भिन्न होती है: यह एक संकलित बाइनरी नहीं है जो शुरू होती है, बल्कि एक पूर्ण पोस्टग्रेज सर्वर है जिसे अपनी फ़ाइलों को फिर से खोलना होगा, अपनी स्थिति को मान्य करना होगा, फिर नए कनेक्शन स्वीकार करना होगा।
1. ग्राहक लॉगिन
एक अनुरोध उस प्रोजेक्ट पर आता है जिसकी गणना निलंबित है।
2. नींद का पता लगाना
प्लेटफ़ॉर्म नोटिस करता है कि गणना अब सक्रिय नहीं है।
3. गणना पुनः आरंभ करना
पोस्टग्रेज प्रक्रिया पुनः आरंभ होती है, आवश्यक स्थिति बहाल हो जाती है।
4. अनुरोध संसाधित
कनेक्शन सफल है, अनुरोध सामान्य रूप से निष्पादित होता है।
कोल्ड स्टार्ट तंत्र का चित्रण, सरलीकृत अनुक्रम, बिना मापा समय मान के।
नियॉन अपनी गणना को सुप्त अवस्था में क्यों रखता है, और किस दर पर
नियॉन अपने डेटाबेस आर्किटेक्चर को दो अलग-अलग परतों में अलग करता है: लगातार भंडारण जो डेटा रखता है, और गणना करता है, पोस्टग्रेज प्रक्रिया स्वयं, जिसे रोका जा सकता है और स्वतंत्र रूप से पुनरारंभ किया जा सकता है। यह पृथक्करण नियॉन को डेटा को छुए बिना एक निष्क्रिय परियोजना की गणना को निलंबित करने की अनुमति देता है, फिर मांग पर इसे फिर से शुरू करता है, इसके आधिकारिक दस्तावेज़ीकरण के अनुसार।
नि:शुल्क योजना पर, नियॉन गणना को निष्क्रिय करने से पहले 5 मिनट का डिफ़ॉल्ट निष्क्रियता टाइमआउट दर्ज करता है। सशुल्क योजनाएँ आपको इस सीमा को कॉन्फ़िगर करने की अनुमति देती हैं, या निरंतर ट्रैफ़िक के साथ उपयोग के लिए इसे महत्वपूर्ण रूप से बढ़ाने की भी अनुमति देती हैं। उत्पाद अपडेट के साथ इस प्रकार के डिफ़ॉल्ट परिवर्तन: इस पृथक आंकड़े के बजाय पढ़ने के समय नियॉन दस्तावेज़ को अद्यतित जांचें।
यह डिज़ाइन एक विशिष्ट उद्देश्य, अल्पकालिक वातावरण की पूर्ति करता है। प्रति Git शाखा में एक डेटाबेस, पुल अनुरोध द्वारा एक पूर्वावलोकन वातावरण, एक परीक्षण डेटाबेस जो प्रति दिन केवल कुछ मिनटों के लिए उपयोग किया जाता है: इन उपयोगों के लिए लगातार गणना चलाना बिना किसी वास्तविक लाभ के महंगा है। दो उपयोगों के बीच गणना को निलंबित करने से डेटा को हटाए बिना बिल कम हो जाता है, यह नियॉन के सर्वर रहित मॉडल का केंद्रीय तर्क है।
नियॉन अलार्म घड़ी कितने समय तक चलती है, और इसे स्वयं कैसे जांचें
नियॉन अपने दस्तावेज़ में आमतौर पर कुछ सौ मिलीसेकंड से लेकर कुछ सेकंड के क्रम पर एक गणना पुनः आरंभ करने का संकेत देता है, जो परियोजना के आकार और गणना तैयार होने से पहले दोबारा चलाए जाने वाले लेनदेन लॉग की मात्रा पर निर्भर करता है। यह स्वयं प्रकाशक द्वारा प्रकाशित एक आंकड़ा है, कोई स्वतंत्र ऑडिट नहीं: इसे परिमाण के एक दस्तावेजी क्रम के रूप में मानें, संविदात्मक गारंटी के रूप में नहीं।
वास्तविक दुनिया माप के लिए, एक सार्वजनिक सामुदायिक उपकरण, नियॉन-विलंबता-बेंचमार्क.वरसेल.एप, नियमित अंतराल पर नियॉन परियोजनाओं को निलंबित कर देता है और देखी गई वेक-अप विलंबता को प्रदर्शित करता है। यह एक प्रकार की कार्यप्रणाली है जो केवल दस्तावेज़ीकरण आंकड़ों से अधिक मायने रखती है: परीक्षण की स्थितियाँ दृश्यमान रहती हैं, विपणन औसत के पीछे छिपी नहीं रहती हैं। हम अपनी बैकएंड बेंचमार्क पद्धतिमें भी यही सिद्धांत लागू करते हैं: कोई आंकड़ा प्रकाशित करने से पहले प्रोटोकॉल प्रकाशित करें।
| परियोजना का आकार | सत्यापित करने के लिए अधिक संबंध और वाल वॉल्यूम पुनरारंभ को लंबा बनाते हैं। |
|---|---|
| क्षेत्र और नेटवर्क दूरी | कोल्ड स्टार्ट से स्वतंत्र, कनेक्शन विलंबता को जोड़ता है। |
| मूल्य निर्धारण योजना | भुगतान योजनाएं आपको निष्क्रियता सीमा को कॉन्फ़िगर या विस्तारित करने की अनुमति देती हैं। |
| कनेक्शन की आवृत्ति | जिस गणना के लिए नियमित रूप से अनुरोध किया जाता है, उसे कभी भी इस देरी का अनुभव नहीं होता है। |
वर्सेल पोस्टग्रेज और नियॉन: दूसरे ब्रांड के तहत एक ही इंजन?
वर्सेल ने नियॉन इंफ्रास्ट्रक्चर के आधार पर अपनी पोस्टग्रेज डेटाबेस पेशकश का निर्माण किया है, एक साझेदारी जिसे 2024 में सार्वजनिक किया गया था। लेखन के समय, यह पोस्टग्रेज एकीकरण अन्य प्रदाताओं के साथ स्टोरेज विकल्प के रूप में वर्सेल मार्केटप्लेस में पेश किया गया है। अद्यतन वर्सेल उत्पाद पृष्ठ देखें: इस प्रकार की साझेदारी ऐसे बाज़ार में तेजी से विकसित होती है जो हर तिमाही में बदलता है।
सीधे तौर पर, वर्सेल के माध्यम से प्रावधानित पोस्टग्रेज डेटाबेस की नींद और जागने का व्यवहार उसी यांत्रिकी का पालन करता है जैसा कि सीधे नियॉन के लिए ऊपर वर्णित है। यह अपने स्वयं के कोल्ड स्टार्ट मॉडल के साथ एक अलग इंजन नहीं है, यह वर्सेल एकीकरण के पीछे उजागर हुआ वही बुनियादी ढांचा है।
क्या सुपाबेस में तुलनीय कोल्ड स्टार्ट है?
नहीं, उसी तरह नहीं. सुपाबेस प्रति कनेक्शन निलंबित सर्वर रहित गणना के बजाय प्रति प्रोजेक्ट एक समर्पित पोस्टग्रेज इंस्टेंस का प्रावधान करता है। इसलिए, नियॉन मॉडल के विपरीत, कुछ मिनटों की निष्क्रियता के बाद प्रत्येक नए सत्र में कोई वेक-अप विलंब नहीं जोड़ा जाता है।
हालाँकि, मुफ़्त योजना पर एक अलग तंत्र मौजूद है: सुपाबेस अपने दस्तावेज़ीकरण के अनुसार, एक विस्तारित अवधि के बाद, एक सप्ताह के क्रम में, पहले अनुरोध पर स्वचालित वेक-अप के बजाय डैशबोर्ड से मैन्युअल बहाली के साथ, निष्क्रिय परियोजनाओं के एक स्वचालित ठहराव का दस्तावेजीकरण करता है। यह मिनटों में नहीं बल्कि दिनों में मापी जाने वाली सीमा है, और पारदर्शी पुनर्प्राप्ति के बजाय एक स्पष्ट कार्रवाई है: नियॉन कोल्ड स्टार्ट के साथ दो संरचनात्मक अंतर, समान तंत्र का एक साधारण बदलाव नहीं। संपूर्ण आर्किटेक्चर तुलना के लिए, हमारी विस्तृत ऑराबेस बनाम सुपाबेस तुलना अन्य विसंगतियों का दस्तावेजीकरण करती है।
और ऑराबेस मॉडल: तुलना वैसी क्यों लागू नहीं होती जैसी है
ऑराबेस नियॉन जैसा सर्वर रहित मॉडल पेश नहीं करता है। प्रोविजनर कोड (aura-provisioner, github.com/daylami555/aurabase पर खुला स्रोत) में सत्यापित: प्रत्येक प्रोजेक्ट को या तो क्लाउडनेटिवपीजी, कुबेरनेट्स सीएनपीजी ऑपरेटर द्वारा प्रबंधित एक समर्पित पोस्टग्रेज क्लस्टर प्राप्त होता है, या चुनी गई योजना के आधार पर एक ही संगठन की कई परियोजनाओं के बीच साझा किए गए सीएनपीजी क्लस्टर पर एक समर्पित आधार प्राप्त होता है। दोनों मामलों में, यह एक एकल गणना नहीं है जो प्रत्येक कनेक्शन पर निलंबित और जागृत होती है: यह प्राथमिक और संभावित प्रतिकृतियों के साथ एक पूर्ण पोस्टग्रेज क्लस्टर है।
ऑराबेस पक्ष पर एक हाइबरनेशन तंत्र मौजूद है, लेकिन यह एक अलग उद्देश्य को पूरा करता है। लंबे समय तक निष्क्रियता पर, डिफ़ॉल्ट रूप से 7 दिन और एक पर्यावरण चर के माध्यम से कॉन्फ़िगर करने योग्य, कोड में सत्यापित सीमा, प्रावधानकर्ता संसाधनों को मुक्त करने के लिए निष्क्रिय उदाहरणों को निष्क्रिय कर देता है, न कि रुक-रुक कर उपयोग की विलंबता को अनुकूलित करने के लिए। सोते हुए सीएनपीजी क्लस्टर को जगाने से लगातार वॉल्यूम से उसके पॉड्स को फिर से बनाया जाता है, जो एक साधारण सर्वर रहित प्रक्रिया पुनरारंभ की तुलना में संरचनात्मक रूप से भारी तंत्र है।
ऑराबेस ने आज तक कोई वेक-अप विलंबता आंकड़े जारी नहीं किए हैं, न तो तेज़ वेक-अप समय का दावा करने के लिए, न ही नियॉन से इसकी तुलना करने के लिए। यह वही उत्पाद नहीं है, और प्रकाशित माप के बिना इसे ऐसे ही बताना बेईमानी होगी।
इस समर्पित वास्तुकला में अलगाव और प्रदर्शन पूर्वानुमान के मामले में एक सीधा समकक्ष है: एक परियोजना खराब आकार के साझा क्लस्टर के विपरीत, किसी अन्य परियोजना के साथ अपनी गणना साझा नहीं करती है। हम इस मध्यस्थता को एक समर्पित लेख में विस्तार से बताते हैं: समर्पित बनाम साझा आधार, प्रदर्शन और अलगाव पर वास्तविक प्रभाव।
अपने उपयोग के मामले के अनुसार चुनें
नियॉन सर्वर रहित मॉडल एक विशिष्ट उपयोग के मामले में कार्य करता है: कई अल्पकालिक वातावरण या बहुत रुक-रुक कर आने वाले ट्रैफ़िक वाले वातावरण, जहां लगातार चलने वाली गणना के लिए भुगतान करना आर्थिक अर्थ नहीं रखता है। प्रति Git शाखा में एक डेटाबेस, पुल अनुरोध द्वारा एक पूर्वावलोकन वातावरण, सप्ताह में कुछ बार परीक्षण किया गया एक प्रोटोटाइप: कभी-कभार ठंडी शुरुआत वास्तविक उपयोग के आनुपातिक चालान के विरुद्ध एक स्वीकार्य समझौता बन जाती है।
इसके विपरीत, जब भी पहले कनेक्शन विलंबता को पूर्वानुमानित बनाए रखने की आवश्यकता होती है, तो एक समर्पित, हमेशा चालू पोस्टग्रेज आर्किटेक्चर बेहतर हो जाता है: नियमित ट्रैफ़िक के साथ एक उत्पादन एपीआई, एक बैकएंड जो उपयोगकर्ता के अनुरोध पर कभी-कभार विलंबता स्पाइक को बर्दाश्त नहीं कर सकता है, या एक प्रणाली जहां p99 एक अलग परीक्षण शाखा की लागत से अधिक मायने रखता है।
| देने वाला | गणना मॉडल | नींद का ट्रिगर | विशिष्ट अलार्म घड़ी |
|---|---|---|---|
| नियोन | सर्वर रहित कंप्यूटिंग को स्टोरेज से अलग किया गया | निष्क्रियता, 5 मिनट से (निःशुल्क योजना) | स्वचालित, उप-सेकेंड से सेकंड (दावा किया गया संपादक) |
| वर्सेल पोस्टग्रेज | नियॉन इंफ्रास्ट्रक्चर (साझेदारी) | नियॉन के समान | नियॉन के समान |
| सुपाबेस | प्रति प्रोजेक्ट समर्पित निकाय | विस्तारित निष्क्रियता, केवल निःशुल्क योजना | मैनुअल, डैशबोर्ड से पुनर्स्थापित करें |
| औराबेस | समर्पित या साझा सीएनपीजी क्लस्टर | विस्तारित निष्क्रियता, डिफ़ॉल्ट रूप से 7 दिन | उप-सेकंड के रूप में अभिप्रेत नहीं, प्रकाशित नहीं |
नियॉन अलार्म घड़ी: प्रकाशक द्वारा प्रलेखित परिमाण का क्रम, स्वतंत्र रूप से ऑडिट नहीं किया गया। ऑराबेस हाइबरनेशन थ्रेशोल्ड: aura-provisionerमें चेक किया गया, वेरिएबल HIBERNATE_INACTIVITY_DAYS, डिफ़ॉल्ट 7 दिन।
अक्सर पूछे जाने वाले प्रश्नों
क्या याद रखना है
पोस्टग्रेज सर्वर रहित कोल्ड स्टार्ट एक सार्वभौमिक अवधारणा नहीं है: यह नियॉन आर्किटेक्चर का प्रत्यक्ष परिणाम है, जो दो उपयोगों के बीच बाद को निलंबित करने के लिए भंडारण और गणना को अलग करता है। वर्सेल पोस्टग्रेज़ को नियॉन के साथ अपनी साझेदारी के माध्यम से यह सीधे विरासत में मिला है। सुपाबेस और ऑराबेस, जो समर्पित पोस्टग्रेज़ उदाहरणों का प्रावधान करते हैं, एक अलग तंत्र को उजागर करते हैं, जिसे मिनटों के बजाय दिनों में मापा जाता है, जो एक ही उद्देश्य के लिए डिज़ाइन नहीं किया गया है।
अकेले इस मानदंड पर एक प्रदाता चुनने से पहले, तीन चीजों की जांच करें: प्रदाता द्वारा दस्तावेजित वास्तविक निष्क्रियता सीमा, क्या यह आपकी योजना पर कॉन्फ़िगर करने योग्य है, और क्या आपका एप्लिकेशन ट्रैफ़िक निलंबित करने वाली कंप्यूटिंग को उचित ठहराता है। वास्तविक आंतरायिक ट्रैफ़िक, परीक्षण शाखाओं या पूर्वावलोकन के साथ उपयोग के लिए, सर्वर रहित मॉडल का स्पष्ट आर्थिक लाभ है। नियमित ट्रैफ़िक के साथ उत्पादन के लिए, एक समर्पित आर्किटेक्चर इस प्रश्न को ख़त्म कर देता है।