Hacker News

चयन और डिस्क के बीच तीन कैश परतें

चयन और डिस्क के बीच तीन कैश परतें यह अन्वेषण तीन पहलुओं पर प्रकाश डालता है, इसके महत्व और संभावित प्रभाव की जांच करता है। - मेवेज़ बिजनेस ओएस।

1 मिनट पढ़ा

Mewayz Team

Editorial Team

Hacker News

जब आपका एप्लिकेशन एक SELECT स्टेटमेंट सक्रिय करता है, तो वह क्वेरी लगभग कभी भी घूमने वाली डिस्क या यहां तक ​​कि कच्चे फ्लैश स्टोरेज को नहीं छूती है - यह तीन अलग-अलग कैश परतों से गुजरती है जो चुपचाप निर्धारित करती है कि आपकी प्रतिक्रिया माइक्रोसेकंड या मिलीसेकंड में आती है या नहीं। इन परतों को समझना एक ऐसे व्यावसायिक मंच के बीच का अंतर है जो सहजता से बढ़ता है और एक ऐसा मंच जो वास्तविक दुनिया के बोझ के नीचे झुक जाता है।

उस क्षण क्या होता है जब कोई चयनित क्वेरी आपका एप्लिकेशन छोड़ देती है?

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

यहां महत्वपूर्ण अंतर्दृष्टि यह है कि क्वेरी कैश डेटा उत्परिवर्तन के प्रति अत्यधिक संवेदनशील है। अंतर्निहित तालिका के विरुद्ध कोई भी INSERT, UPDATE, या DELETE प्रासंगिक कैश्ड परिणामों को अमान्य कर देता है। यही कारण है कि राइट-हैवी ट्रांजैक्शनल सिस्टम अक्सर क्वेरी कैश को पूरी तरह से अक्षम कर देते हैं और इसके बजाय गहरी परतों पर भरोसा करते हैं।

बफ़र पूल क्या है और यह आपके विचार से अधिक महत्वपूर्ण क्यों है?

दूसरी कैश परत - और यकीनन उत्पादन प्रणालियों में सबसे महत्वपूर्ण - बफर पूल है (जिसे PostgreSQL में साझा बफर कहा जाता है, MySQL में InnoDB बफर पूल)। यह RAM का एक क्षेत्र है जिसका उपयोग डेटाबेस इंजन हाल ही में एक्सेस किए गए डेटा पेजों को रखने के लिए करता है। जब परिणाम कैश से कोई क्वेरी नहीं दी जा सकती है, तो इंजन किसी भी डिस्क रीड को जारी करने से पहले जांचता है कि आवश्यक डेटा पेज पहले से ही बफर पूल में मौजूद हैं या नहीं।

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

💡 क्या आप जानते हैं?

Mewayz एक प्लेटफ़ॉर्म में 8+ बिजनेस टूल्स की जगह लेता है

सीआरएम · इनवॉइसिंग · एचआर · प्रोजेक्ट्स · बुकिंग · ईकॉमर्स · पीओएस · एनालिटिक्स। निःशुल्क सदैव योजना उपलब्ध।

निःशुल्क प्रारंभ करें →

मुख्य अंतर्दृष्टि: अधिकांश ओएलटीपी वर्कलोड में, एक अच्छे आकार के बफर पूल का मतलब है कि सभी डेटा रीड का 95-99% रैम से परोसा जाता है। कार्यशील सेट - आपके डेटा का सबसेट जिसे प्रश्न वास्तव में बार-बार छूते हैं - अक्सर कुल डेटाबेस आकार से बहुत छोटा होता है। अपने बफ़र पूल को अपने कामकाजी सेट में फिट करने के लिए आकार देना, न कि आपके संपूर्ण डेटासेट में, एकमात्र उच्चतम-रिटर्न ट्यूनिंग कार्रवाई है जिसे आप ले सकते हैं।

ऑपरेटिंग सिस्टम कैश रैम और डिस्क के बीच के अंतर को कैसे भरता है?

यहां तक ​​कि जब डेटाबेस का अपना बफ़र पूल छूट जाता है, तब भी एक क्वेरी वास्तविक डिस्क रीड के लिए नियत नहीं होती है। ऑपरेटिंग सिस्टम एक पेज कैश (जिसे फ़ाइल सिस्टम कैश भी कहा जाता है) बनाए रखता है, कर्नेल-प्रबंधित रैम का एक क्षेत्र जो बफ़र्स को ब्लॉक डिवाइसों को पढ़ता और लिखता है। जब डेटाबेस इंजन एक ऐसे पेज का अनुरोध करता है जो उसके बफर पूल से अनुपस्थित है, तो ओएस कर्नेल स्टोरेज कंट्रोलर को भौतिक I/O कमांड जारी करने से पहले अपने पेज कैश की जांच करता है।

यह तीसरी परत एप्लिकेशन डेवलपर्स के लिए काफी हद तक अदृश्य है लेकिन उन सिस्टमों पर अत्यधिक महत्वपूर्ण है जहां डेटाबेस बफर पूल का प्रावधान कम है। ओएस पेज कैश सभी प्रक्रियाओं में साझा किया जाता है, इसलिए यह आपके एप्लिकेशन सर्वर, वेब सर्वर और उसी होस्ट पर चलने वाले किसी भी अन्य सॉफ़्टवेयर के साथ प्रतिस्पर्धा करता है। समर्पित डेटाबेस सर्वर पर, यह प्रतिस्पर्धा न्यूनतम है, और ओएस कैश एक सार्थक दूसरा मौका बफर प्रदान करता है। साझा होस्ट या सीमित मेमोरी सीमा वाले कंटेनरों पर, ओएस कैश अक्सर मदद के लिए बहुत छोटा होता है।

अभ्यास में सर्वाधिक प्रदर्शन जीत के लिए कौन सी कैश परत जिम्मेदार है?

वास्तविक दुनिया की उत्पादन प्रणालियों में, बफ़र पूल डोमी

All Your Business Tools in One Place

Stop juggling multiple apps. Mewayz combines 207 tools for just $19/month — from inventory to HR, booking to analytics. No credit card required to start.

Try Mewayz Free →

Mewayz मुफ़्त आज़माएं

सीआरएम, इनवॉइसिंग, प्रोजेक्ट्स, एचआर और अधिक के लिए ऑल-इन-वन प्लेटफॉर्म। कोई क्रेडिट कार्ड आवश्यक नहीं।

संबंधित गाइड

एचआर प्रबंधन गाइड →

अपनी टीम को प्रभावी ढंग से प्रबंधित करें: कर्मचारी प्रोफाइल्स, लीव प्रबंधन, पेरोल, और परफॉर्मेंस रिव्यू।

आज ही अपने व्यवसाय का प्रबंधन अधिक स्मार्ट तरीके से शुरू करें।

30,000+ व्यवसायों से जुड़ें। सदैव मुफ़्त प्लान · क्रेडिट कार्ड की आवश्यकता नहीं।

क्या यह उपयोगी पाया गया? इसे शेयर करें।

क्या आप इसे व्यवहार में लाने के लिए तैयार हैं?

30,000+ व्यवसायों में शामिल हों जो मेवेज़ का उपयोग कर रहे हैं। सदैव निःशुल्क प्लान — कोई क्रेडिट कार्ड आवश्यक नहीं।

मुफ़्त ट्रायल शुरू करें →

कार्रवाई करने के लिए तैयार हैं?

आज ही अपना मुफ़्त Mewayz ट्रायल शुरू करें

ऑल-इन-वन व्यवसाय प्लेटफॉर्म। क्रेडिट कार्ड की आवश्यकता नहीं।

निःशुल्क प्रारंभ करें →

14-दिन का निःशुल्क ट्रायल · क्रेडिट कार्ड नहीं · कभी भी रद्द करें