HeadlinesBriefing favicon HeadlinesBriefing.com

डेटाबेस कैसे हैंडल करते हैं concurrency नियंत्रण

ByteByteGo •
×

एक बैंक खाते की कल्पना करें जिसमें 100 डॉलर हैं। दो अलग-अलग निकासी अनुरोध एक साथ आते हैं, प्रत्येक 10 डॉलर। दोनों सफलतापूर्वक पूर्ण होते हैं बिना किसी त्रुटि के, फिर भी शेष राशि 90 डॉलर के बजाय सही 80 डॉलर पर समाप्त होती है। प्रत्येक लेन-देन ने सही शेष राशि पढ़ी और सही रूप से गणना की, लेकिन उनका ओवरलैप डेटा क्षति का कारण बना। यह परिदृश्य एक मौलिक चुनौती को उजागर करता है: ओवरलैपिंग लेन-देन डेटाबेस के लिए normal operating condition हैं, rare exceptions नहीं। किसी भी समय, multiple processes एक ही records पर लिखते हैं, और मिलीसेकंड के भीतर की टकराहट इन बग्स बनाती है।

लेख में यह पता लगाया गया है कि डेटा चार अलग-अलग संघर्ष पैटर्न के माध्यम से कैसे क्षतिग्रस्त होता है। फिर, यह दो प्रमुख समाधान रणनीतियों की जांच करता है: Pessimistic Locking, जो आगे पहुंच को अवरुद्ध करता है, और Optimistic Locking, जो लेन-देन को आगे बढ़ने देता है और बाद में conflict के लिए जांच करता है। अंत में, यह कवर करता है कि डेटाबेस कैसे विकसित हुए हैं ताकि readers और writers एक-दूसरे का इंतजार न करें, और isolation levels developers को सही स्तर की डेटा सुरक्षा चुनने की अनुमति देते हैं। piece का अंत इनोवेशन के साथ होता है जिसे सबसे सख्त सुरक्षा सेटिंग्स को production use के लिए व्यवहार्य बनाया गया है।