HeadlinesBriefing favicon HeadlinesBriefing.com

ডেটাবেস কীভাবে কনকারেন্স কন্ট্রোল হ্যান্ডল করে

ByteByteGo •
×

একটি ব্যাংক অ্যাকাউন্টের कल्पনা করুন যার балан্স 100 ডলার। দুটি একসাথে আসা withdrawal request 각각 10 ডলার। দুটি অনুরোধ সফলভাবে সম্পূর্ণ হয় কোনো ত্রুটির ছাড়া, কিন্তু ব্যালেন্স শেষে 90 ডলার বরং সঠিক 80 ডলার। প্রতিটি_transaction সঠিক ব্যালেন্স পড়েছে এবং সঠিকভাবে গণনা করেছে, কিন্তু তাদের ওভারল্যাপ ডেটা ক্ষতি সৃষ্টি করেছে। এই পরিস্থিতি একটি মৌলিক চ্যালেঞ্জ তুলে ধরে: ওভারল্যাপিং ট্রানজ্যাকশন ডেটাবেসের জন্য normal operating condition, rare exception না। যেকোনো সময়ে, multiple processes একই recordsে লিখে থাকে, এবং মিলিসেকেন্ডের মধ্যে টकरায়ের কারণে এই বাগস তৈরি হয়।

লেখা四探 করে ডেটা চারটি আলাদা衝突 প্যাটার্নের মাধ্যমে কীভাবে ক্ষতিগ্রস্ত হয়। তারপর, এটি দুটি প্রধান সমাধান استراتيجية পরীক্ষা করে: Pessimistic Locking, যা আগে থেকে অ্যাক্সেস ব্লক করে, এবং Optimistic Locking, যা transaction proceed করে এবং commit পর পর 충돌ের জন্য পরীক্ষা করে। শেষে, এটি কভার করে কীভাবে ডেটাবেসগুলো পাঠক এবং লিখককে একে অপরের জন্য অপেক্ষা থেকে রোধ করেছে, এবং isolation levels ডেভেলপারদের ডেটা রক্ষার সঠিক স্তর নির্বাচন করতে সাহায্য করে। লেখাটি সেরা সুরক্ষা সেটিংসকে প্রডাকশনে ব্যবহারযোগ্য করার জন্য উদ্ভাবনের সাথে শেষ হয়।