การควบคุมภาวะความพร้อมกัน (Concurrency Control)

หัวเรื่อง

เรื่องที่ 
2.1 แนวคิดเกี่ยวกับการใช้ข้อมูลพร้อมกัน
2.2 ประเภทและระดับของการล็อค
2.3 ปัญหาและวิธีการแก้ไข deadlock
2.4วิธีการควบคุมภาวะความพร้อมกัน

แนวคิด

    1. เพื่อให้สามารถใช้ข้อมูลพร้อมกันได้อย่างถูกต้อง และมีประสิทธิภาพ ผู้ใช้จำเป็นต้องเข้าใจแนวคิดในการใช้ข้อมูลพร้อมกันและผู้ใช้ควรที่จะทราบวิธีการควบคุมและป้องกันปัญหาต่าง ๆ ที่อาจเกิดขึ้นได้
    2. การควบคุมการเกิดภาวะพร้อมกันวิธีหนี่ง คือการล็อก ซึ่งเป็นวิธีการเรียกใช้หรือการปรับปรุงแก้ไขข้อมูลจากตารางหนึ่งๆในขณะที่มีคนอื่นใช้อยู่ ในการล็อกข้อมูลจะมีประเภทและระดับการล็อกได้หลายแบบ
    3. การล็อกเป็นการป้องกันความผิดพลาดของข้อมูลที่อาจจะเกิดขึ้นจากการที่ผู้ใช้ข้อมูลที่ยังทำงานไม่เสร็จและมีผู้อื่นๆเรียกข้อมูลที่ไม่ถูกต้องนี้ไปใช้ ปัญหาของการล็อกข้อมูล ได้แก่ ปัญหา Deadlock ซึ่งเป็นเหตุการณ์ที่ทรานแซกชัน 2 รายการได้ทำการล็อกข้อมูลเดียวกันและต่างก็รอซึ่งกันและกัน ในการแก้Deadlock มี 2 แนวทางคือ การป้องกันการเกิดDeadlock และการแก้ปัญหาด้วย DBMS DBMSสามารถตรวจสอบและแก้ไขการเกิด Deadlockได้
    4. ในการควบคุมภาวะพร้อมกัน ระบบจัดการฐานข้อมูลจะต้องมีกลไกสำหรับจัดเรียงลำดับก่อนหลังการทำงานของแต่ละทรานแซกชัน (scheduler) ด้วยวิธีการ ล็อกกิง (locking), ไทม์แสตมป์ (time stamp) และออปทิมิสทิก (optimistic)

วัตถุประสงค์

หลังจากศึกษาตอนที่ 2 แล้ว นักศึกษาสามารถ

    1. อธิบายแนวคิดการใช้ข้อมูลพร้อมกันได้
    2. อธิบายวิธีการควบคุมการใช้ข้อมูลพร้อมกันได้
    3. อธิบายปัญหาที่เกิดจากการเข้าถึงข้อมูลพร้อมกันได้
    4. อธิบายวิธีการแก้ไขการเข้าถึงข้อมูลพร้อมกันได้