การแยกเนื้อหาในฐานข้อมูล

การควบคุมการแยกจะควบคุมวิธีการและเวลาที่มีการเปลี่ยนแปลงในฐานข้อมูล

การแยกเป็นส่วนสำคัญของคุณสมบัติการทำธุรกรรมของฐานข้อมูล เป็นคุณสมบัติที่สามของ ACID (Atomicity, Consistency, Isolation, Durability) และคุณสมบัติเหล่านี้ช่วยให้มั่นใจได้ว่าข้อมูลมีความสอดคล้องและถูกต้อง

การแยกเป็นคุณสมบัติระดับฐานข้อมูลที่ควบคุมวิธีการและเมื่อมีการเปลี่ยนแปลงและถ้าพวกเขามองเห็นได้ด้วยกัน หนึ่งในเป้าหมายของการแยกคือการอนุญาตให้มีการทำธุรกรรมหลายรายการในเวลาเดียวกันโดยไม่มีผลกระทบต่อการดำเนินการของผู้อื่น

วิธีการทำงานแยกต่างหาก

ตัวอย่างเช่นถ้า Joe ออกธุรกรรมกับ ฐานข้อมูล ในเวลาเดียวกันกับที่ Mary ออกธุรกรรมอื่นธุรกรรมทั้งสองควรทำงานบนฐานข้อมูลในลักษณะที่แยกต่างหาก ฐานข้อมูลควรทำธุรกรรมทั้งหมดของ Joe ก่อนที่จะดำเนินการ Mary หรือทางกลับกัน การทำเช่นนี้จะป้องกันการทำธุรกรรมของ Joe จากการอ่านข้อมูลระดับกลางซึ่งเป็นผลข้างเคียงของส่วนหนึ่งของการทำธุรกรรมของ Mary ที่จะไม่ได้มุ่งมั่นกับฐานข้อมูลในที่สุด โปรดทราบว่าคุณสมบัติการแยกไม่ได้รับประกันว่าธุรกรรมใดที่จะดำเนินการก่อนเพียงว่าพวกเขาจะไม่เข้าไปยุ่งเกี่ยวกับกันและกัน

ระดับการแยก

มีสี่ระดับของการแยก:

  1. Serializable คือระดับสูงสุดซึ่งหมายความว่าการทำธุรกรรมจะเสร็จสมบูรณ์ก่อนที่ธุรกรรมอื่นจะสามารถเริ่มต้นได้
  2. การ อ่าน ซ้ำ ช่วยให้สามารถเข้าถึงธุรกรรมได้เมื่อธุรกรรมเริ่มต้นแล้วแม้ว่าจะยังไม่เสร็จสิ้นก็ตาม
  3. ความมุ่งมั่นในการอ่าน ช่วยให้สามารถเข้าถึงข้อมูลได้หลังจากที่ข้อมูลได้รับการยอมรับไปยังฐานข้อมูล แต่ไม่ก่อนหน้านั้น
  4. อ่าน uncommitted คือระดับต่ำสุดของการแยกและอนุญาตให้เข้าถึงข้อมูลก่อนที่จะมีการเปลี่ยนแปลง