งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน"— ใบสำเนางานนำเสนอ:

1 การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน
ผู้ช่วยศาสตราจารย์ณัฎฐพร พิมพายน

2 การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน
การฟื้นสภาพ หมายถึง การที่ระบบจัดการฐานข้อมูลจัดการกับ ข้อมูลให้ย้อนกลับไปอยู่ในสภาพเดิมที่ถูกต้อง ภาวะพร้อมกัน หมายถึง การที่มีทรานแซกชันหลายๆทรานแซกชัน ต้องการเรียกใช้ข้อมูลเดียวกันในเวลาเดียวกันจากฐานข้อมูล เพื่อใช้ในการทำงานของแต่ละทรานแซกชัน

3 การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน

4 การฟื้นสภาพ ประเภทของการเกิดความขัดข้อง
ความขัดข้องของระบบ จะมีผลกระทบต่อทรานแซกชัน แต่ไม่ทำลายข้อมูลที่อยู่ในฐานข้อมูล เรียกว่า ซอฟต์แครช (Soft Crash) ความขัดข้องของทรายแซกชัน จะมีผลกระทบต่อทรายแซกชันที่มีความขัดข้องเท่านั้น เช่น การกำหนดขอบเขตของทรานแซกชัน, การเกิด overflow ในการทำงาน เป็นต้น ความขัดข้องของสื่อข้อมูล จะมีผลกระทบต่อทรานแซกชัน และมีผลทำลายฐานข้อมูล เรียกว่า ฮาร์ดแครช (Hard Crash)

5 การฟื้นสภาพ วิธีการฟื้นสภาพ
การฟื้นสภาพแบบล็อกเบส (log-based recovery) โดยการใช้ไฟล์ประวัติเข้ามาช่วยในการฟื้นสภาพ รายละเอียดของไฟล์ประวัติ ประกอบด้วย ชื่อทรานแซกชัน, ชื่อเดตาไอเท็ม, ค่าเก่าของดาตาไอเท็มก่อนทำการบันทึก และค่าใหม่ของดาตาไอเท็มหลังทำการบันทึก วิธีการฟื้นสภาพ มี 3 วิธี คือ การยกเลิก(Undo), การทำซ้ำ(Redo), จุดตรวจสอบ(Checkpoint)

6 การฟื้นสภาพ การกู้ข้อมูลจากความขัดข้องที่เกิดจาระบบคอมพิวเตอร์ จะได้กลุ่มของทรานแซกชันที่จะทำ Undo ดึงค่าเก่าก่อนการเปลี่ยนแปลงกลับมา แล้วทำทรานแซกชันซ้ำอีกครั้ง Redo ดึงค่าใหม่หลังการเปลี่ยนแปลงมาแทนที่ จนกระทั่ง ทรานแซกชันนั้นสมบูรณ์

7 การฟื้นสภาพ การกู้ข้อมูลจากความขัดข้องที่เกิดจากข้อผิดพลาดของรายการ จะใช้วิธีการ Undo การกู้ข้อมูลจากความขัดข้องที่เกิดจากสื่อบันทึกข้อมูล จะทำการฟื้นสภาพจากการสำรองข้อมูลหรือการทำ Redo กับทรานแซกชันที่ทำการ Commit แล้ว

8 การควบคุมสภาวะพร้อมกัน
ปัญหาที่ทำให้มีการควบคุมภาวะพร้อมกัน ปัญหาการสูญหายของข้อมูลที่มีการปรับปรุงแก้ไข ปัญหาจากการเรียกใช้ข้อมูลชุดเดียวกันของทรานแซกชันที่ยังไม่ Commit ปัญหาการเรียกใช้ข้อมูลที่ไม่สอดคล้องกัน

9 การควบคุมสภาวะพร้อมกัน
ประเภทการล็อค มี 2 แบบ คือ Exclusive Lock คือ การล็อคโดยไม่ให้ทรานแซกชันอื่นเข้ามาใช้งานเลย เช่น การปรับปรุงระเบียน Shared Lock คือ การล็อคที่ยอมให้ทรานแซกชันอื่นๆ มาใช้ข้อมูลได้ แต่ต้องไม่ใช่การปรับปรุงระเบียนหรืออื่นๆ ที่เป็น Exclusive Lock ระดับการล็อค

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

11 การควบคุมสภาวะพร้อมกัน
Dead Lock คือ การที่ทรานแซกชันรอการใช้ข้อมูลที่ถูกล็อคโดย ทรานแซกชันอื่นอย่างไม่รู้จบในลักษณะเป็นลูกโซ่

12 การควบคุมสภาวะพร้อมกัน
วิธีการแก้ปัญหา Dead Lock การป้องกันก่อนเกิด Dead Lock โดยจะต้องทำการล็อคข้อมูลที่เกี่ยวข้องทุกอันให้ได้ก่อนการใช้งาน การตรวจจับการเกิด Dead Lock คือการเกิด Dead Lock ขึ้นแล้ว สามารถทำการแก้ไขโดยการปิดระบบทั้งหมดแล้วเริ่มใหม่ หรือตัดทรานแซกชันออกจากวัฏจักรการรอคอย

13 การควบคุมสภาวะพร้อมกัน
วิธีการควบคุมภาวะความพร้อมกัน Locking Technique คือ การล็อคข้อมูลในฐานข้อมูลจนกว่าจะทำงานเสร็จ ข้อเสียคือ อาจทำให้เกิด Dead Lock Time Stamp Technique คือ การที่ระบบจัดการฐานข้อมูลจะระบุลำดับของแต่ละทรานแซกชันในการเข้าทำงาน ทำให้ไม่เกิดปัญหา Dead Lock Optimistic Technique คือ การปรับปรุงหรือการแก้ไข ข้อมูลจะบันทึกไว้พื้นที่อื่นชั่วคราวจนกว่าจะทำงานเสร็จสมบูรณ์เสียก่อน และจะมีการตรวจสอบก่อนบันทึกข้อมูลอย่างถาวรว่าข้อมูลที่จะบันทึกต้องไม่ขัดแย้งกับทรานแซกชันอื่นๆ ไม่เช่นนั้นแล้วจะทำการ Rollback ข้อมูล


ดาวน์โหลด ppt การฟื้นสภาพและการควบคุมสภาวะพร้อมกัน

งานนำเสนอที่คล้ายกัน


Ads by Google