ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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 ข้อมูล
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.