HeadlinesBriefing favicon HeadlinesBriefing.com

Bagaimana Basis Data Menangani Kontrol Konkuren

ByteByteGo •
×

Bayangkan akaun bank dengan $100. Dua permintaan penarikan $10 masing-masing tiba secara selari. Keduanya berjaya selesai tanpa ralat, tetapi akhir ganda berakhir pada $90 sekiranya $80 betul. Setiap transaksi membaca baht yang betul dan mengira dengan betul, tetapi tumpukan mereka menyebabkan kerusakan data. Senario ini menerangkan cabaran asas: transaksi yang tumpuk adalah keadaan operasi normal bagi basis data, bukan pengecualian langka. Pada bila-bila masa, banyak proses menulis ke rekod yang sama, dan tabrakan dalam milisekit mencipta bug ini.

Kertas ini menyiasat bagaimana data melalui empat pola konflik yang berlainan diserang kerusakan. Kemudian, ia menyiasat dua strategi utama penyelesaian: Pessimistic Locking, yang memblokir akses menghadap hadapan, dan Optimistic Locking, yang mengizinkan transaksi maju dan menguji untuk konflik selepas. Akhirnya, ia mengkover bagaimana basis data berevolusi untuk menghentikan pembaca dan penulis menunggu satu sama lain, dan seberapa isolasi level membolehkan pembangun memilih tahap perlindungan data yang betul. Artikel itu tamat dengan inovasi yang menjadikan seting keselamatan yang ketat untuk penggunaan production praktis.