การควบคุมการเกิดขึ้นพร้อมกันเป็นสิ่งสำคัญของการจัดการฐานข้อมูลเพื่อให้มั่นใจว่าการทำธุรกรรมหลายรายการสามารถเข้าถึงและแก้ไขข้อมูลพร้อมกันโดยไม่ทำให้เกิดความขัดแย้งหรือความไม่สอดคล้องกันของข้อมูล ในฐานะซัพพลายเออร์ของ Tibase ซึ่งเป็นระบบฐานข้อมูลประสิทธิภาพสูงฉันต้องการเจาะลึกกลไกการควบคุมพร้อมกันที่ใช้ใน Tibase
1. ล็อค - การควบคุมการเกิดพร้อมกันตาม
1.1 ประเภทของล็อค
Tibase ใช้ล็อคที่หลากหลายเพื่อจัดการการเข้าถึงข้อมูลพร้อมกัน ล็อคสองประเภทพื้นฐานคือล็อคแชร์ (s - ล็อค) และล็อคพิเศษ (X - ล็อค)
ล็อคที่ใช้ร่วมกันจะใช้เมื่อการทำธุรกรรมจำเป็นต้องอ่านข้อมูลเท่านั้น ธุรกรรมหลายรายการสามารถถือล็อคที่ใช้ร่วมกันในรายการข้อมูลเดียวกันพร้อมกัน ตัวอย่างเช่นหากการอ่านหลายรายการ - เฉพาะธุรกรรมที่ต้องการเข้าถึงบันทึกลูกค้าเฉพาะในฐานข้อมูลพวกเขาสามารถรับล็อคที่ใช้ร่วมกันในบันทึกนั้นได้ สิ่งนี้ช่วยให้การอ่านข้อมูลพร้อมกันอย่างมีประสิทธิภาพเนื่องจากการอ่านหลายครั้งสามารถเกิดขึ้นได้โดยไม่ต้องปิดกั้นซึ่งกันและกัน
ในทางกลับกันจำเป็นต้องมีการล็อคพิเศษเมื่อธุรกรรมตั้งใจที่จะแก้ไขข้อมูล ธุรกรรมเดียวเท่านั้นที่สามารถถือล็อคแบบพิเศษในรายการข้อมูลได้ครั้งละ หากธุรกรรมต้องการอัปเดตที่อยู่ของลูกค้าจะต้องได้รับการล็อคพิเศษในบันทึกลูกค้าที่เกี่ยวข้อง ในขณะที่ล็อคแบบพิเศษถูกจัดขึ้นไม่มีการทำธุรกรรมอื่น ๆ ที่สามารถรับได้ทั้งที่แชร์หรือล็อคพิเศษในรายการข้อมูลนั้นป้องกันการทำธุรกรรมอื่น ๆ จากการอ่านหรือเขียนข้อมูลจนกว่าจะมีการปล่อยล็อค


1.2 ล็อคเม็ด
Tibase รองรับระดับการล็อคระดับที่แตกต่างกันซึ่งหมายถึงขนาดของรายการข้อมูลที่สามารถใช้ล็อคได้ ล็อค granularity มีตั้งแต่ละเอียดมาก - เม็ดเล็ก (เช่นแถวเดียวในตาราง) ถึงหยาบมาก - เม็ดเล็ก (เช่นฐานข้อมูลทั้งหมด)
Fine - การล็อคแบบเม็ดมีการทำพร้อมกันที่สูงขึ้นเนื่องจากการทำธุรกรรมสามารถล็อคเฉพาะข้อมูลเฉพาะที่พวกเขาต้องการเท่านั้นที่อนุญาตให้ทำธุรกรรมอื่น ๆ เพื่อเข้าถึงข้อมูลที่ไม่เกี่ยวข้อง ตัวอย่างเช่นหากการทำธุรกรรมจำเป็นต้องอัปเดตหนึ่งแถวในตารางขนาดใหญ่สามารถรับล็อคระดับแถวและธุรกรรมอื่น ๆ ยังสามารถเข้าถึงแถวอื่น ๆ ในตารางเดียวกัน
ในทางกลับกันการล็อคแบบหยาบนั้นง่ายกว่าในการจัดการ แต่สามารถนำไปสู่การเกิดขึ้นพร้อมกันที่ต่ำกว่า หากการทำธุรกรรมได้รับการล็อคระดับตารางไม่มีธุรกรรมอื่น ๆ สามารถเข้าถึงส่วนใดส่วนหนึ่งของตารางนั้นได้จนกว่าจะมีการปล่อยล็อค Tibase ช่วยให้ผู้ดูแลระบบฐานข้อมูลสามารถเลือกความละเอียดล็อคที่เหมาะสมตามข้อกำหนดของแอปพลิเคชัน
1.3 ล็อคความเข้ากันได้เมทริกซ์
เพื่อตรวจสอบว่าสามารถขอล็อคได้หรือไม่ Tibase ใช้เมทริกซ์ความเข้ากันได้ของล็อค เมทริกซ์นี้กำหนดกฎสำหรับเมื่อล็อคหลายตัวสามารถอยู่ร่วมกันได้ในรายการข้อมูลเดียวกัน ต่อไปนี้เป็นเมทริกซ์ความเข้ากันได้ของล็อคที่เรียบง่าย:
| ล็อคที่ใช้ร่วมกัน | ล็อคพิเศษ | |
|---|---|---|
| ล็อคที่ใช้ร่วมกัน | ใช่ | เลขที่ |
| ล็อคพิเศษ | เลขที่ | เลขที่ |
เมทริกซ์นี้บ่งชี้ว่าล็อคที่ใช้ร่วมกันหลายรายการสามารถจัดขึ้นในรายการข้อมูลเดียวกันได้ แต่ล็อคแบบพิเศษไม่สามารถอยู่ร่วมกันได้ - มีอยู่กับการแชร์หรือล็อคแบบพิเศษ เมื่อธุรกรรมร้องขอล็อค Tibase จะตรวจสอบสถานะการล็อคปัจจุบันของรายการข้อมูลโดยใช้เมทริกซ์นี้ หากล็อคที่ร้องขอเข้ากันได้กับล็อคที่มีอยู่จะได้รับคำขอ มิฉะนั้นธุรกรรมจะต้องรอจนกว่าจะมีการปล่อยล็อคที่ขัดแย้งกัน
2. การควบคุมเวลา - ตามการควบคุมพร้อมกัน
2.1 การกำหนดเวลา
นอกเหนือจากการควบคุมการเกิดขึ้นพร้อมกันของล็อคแล้ว Tibase ยังรองรับการควบคุมการเกิดขึ้นพร้อมกันตามเวลา การทำธุรกรรมแต่ละครั้งจะได้รับการกำหนดเวลาที่ไม่ซ้ำกันเมื่อเข้าสู่ระบบ การประทับเวลาแสดงถึงลำดับการทำธุรกรรม
การประทับเวลาสามารถใช้เพื่อกำหนดลำดับของการดำเนินการธุรกรรมและเพื่อป้องกันความขัดแย้ง ตัวอย่างเช่นหากธุรกรรมสองรายการพยายามเข้าถึงรายการข้อมูลเดียวกันการทำธุรกรรมที่มีการประทับเวลาก่อนหน้านี้ถือว่ามีลำดับความสำคัญสูงกว่า
2.2 โปรโตคอลการสั่งซื้อเวลา
Tibase ใช้โปรโตคอลการสั่งซื้อเวลาเพื่อให้แน่ใจว่าการทำธุรกรรมแบบอนุกรม หนึ่งโปรโตคอลดังกล่าวคือโปรโตคอลการสั่งซื้อเวลาขั้นพื้นฐาน ในโปรโตคอลนี้เมื่อการทำธุรกรรมพยายามอ่านหรือเขียนรายการข้อมูลระบบจะตรวจสอบการประทับเวลาของการทำธุรกรรมและการประทับเวลาสุดท้ายของรายการข้อมูล
หากการทำธุรกรรมที่มีการประทับเวลาในภายหลังพยายามเขียนรายการข้อมูลที่เขียนโดยการทำธุรกรรมด้วยการประทับเวลาก่อนหน้านี้การทำธุรกรรมในภายหลังจะถูกยกเลิกและเริ่มต้นใหม่ด้วยการประทับเวลาใหม่ ในทำนองเดียวกันหากการทำธุรกรรมที่มีการประทับเวลาในภายหลังพยายามอ่านรายการข้อมูลที่จะเขียนโดยการทำธุรกรรมด้วยการประทับเวลาก่อนหน้านี้การทำธุรกรรมในภายหลังอาจถูกยกเลิก
3. การควบคุมการทำงานร่วมกันหลายระดับ (MVCC)
3.1 ข้อมูลหลายเวอร์ชัน
Tibase ใช้การควบคุมการทำงานร่วมกันหลายรุ่น (MVCC) ซึ่งอนุญาตให้รายการข้อมูลเดียวกันหลายเวอร์ชันมีอยู่ในฐานข้อมูล เมื่อธุรกรรมอัปเดตรายการข้อมูลแทนที่จะเขียนทับข้อมูลที่มีอยู่จะสร้างข้อมูลเวอร์ชันใหม่
ข้อมูลแต่ละรุ่นเชื่อมโยงกับการประทับเวลาซึ่งระบุเวลาที่สร้างเวอร์ชัน สิ่งนี้ช่วยให้การทำธุรกรรมสามารถอ่านเวอร์ชันของข้อมูลที่ถูกต้องในเวลาที่การทำธุรกรรมเริ่มต้นโดยไม่ถูกบล็อกโดยการดำเนินการเขียนพร้อมกัน
3.2 อ่าน - มุ่งมั่นและทำซ้ำ - อ่านระดับการแยก
MVCC ใน Tibase รองรับระดับการแยกที่แตกต่างกันเช่นการอ่าน - มุ่งมั่นและทำซ้ำ - อ่าน
ในระดับการแยกการอ่านที่มุ่งมั่นการทำธุรกรรมจะอ่านข้อมูลเวอร์ชันล่าสุดที่มุ่งมั่น ซึ่งหมายความว่าหากธุรกรรมอื่นได้ทำการอัปเดตรายการข้อมูลธุรกรรมการอ่านจะเห็นเวอร์ชันที่อัปเดต
ในระดับการแยกซ้ำ - อ่านธุรกรรมจะอ่านเวอร์ชันของข้อมูลที่ถูกต้องในช่วงเริ่มต้นของการทำธุรกรรม สิ่งนี้ทำให้มั่นใจได้ว่าหากธุรกรรมอ่านรายการข้อมูลหลายครั้งในระหว่างการดำเนินการมันจะเห็นข้อมูลเวอร์ชันเดียวกันเสมอแม้ว่าธุรกรรมอื่น ๆ จะแก้ไขข้อมูลในระหว่างนี้
4. ผลกระทบต่อแอปพลิเคชันที่เกี่ยวข้อง
ในแอพพลิเคชั่นที่เกี่ยวข้องกับทันตกรรม - ซึ่งสามารถใช้ Tibase ในการจัดการบันทึกผู้ป่วยสินค้าคงคลังของแบบจำลองแล็บฟันแบบอะนาล็อก-การค้ำยันชั่วคราว, และหมวกรักษากลไกการควบคุมพร้อมกันใน Tibase มีบทบาทสำคัญ
ตัวอย่างเช่นคลินิกทันตกรรมหลายแห่งอาจเข้าถึงฐานข้อมูลสินค้าคงคลังเดียวกันเพื่อตรวจสอบความพร้อมใช้งานของชิ้นส่วนรากฟันเทียม ล็อค - การควบคุมการเกิดพร้อมกันตามช่วยให้มั่นใจว่าเมื่อคลินิกหนึ่งแห่งสำรองกการค้ำยันชั่วคราวคลินิกอื่น ๆ ไม่สามารถจองรายการเดียวกันพร้อมกันป้องกันการจอง
การควบคุมการเกิดพร้อมกันตามเวลาสามารถใช้เพื่อให้แน่ใจว่าบันทึกผู้ป่วยได้รับการปรับปรุงตามลำดับที่ถูกต้อง หากคลินิกสองแห่งพยายามอัปเดตประวัติการรักษาของผู้ป่วยในเวลาเดียวกันระบบสามารถใช้การประทับเวลาเพื่อพิจารณาว่าควรใช้การอัปเดตใดก่อน
MVCC อนุญาตให้คลินิกดูบันทึกผู้ป่วยโดยไม่ถูกบล็อกโดยการอัปเดตพร้อมกัน ตัวอย่างเช่นทันตแพทย์สามารถอ่านบันทึกของผู้ป่วยในขณะที่พนักงานคนอื่นกำลังอัปเดตบันทึกเนื่องจากทันตแพทย์จะเห็นเวอร์ชันของบันทึกที่ถูกต้องเมื่อเริ่มต้นการดำเนินการอ่าน
5. บทสรุปและเรียกร้องให้ดำเนินการ
โดยสรุป Tibase นำเสนอชุดกลไกการควบคุมพร้อมกันที่ครอบคลุมรวมถึงการควบคุมแบบล็อค - การควบคุมตามเวลาและ MVCC กลไกเหล่านี้ทำงานร่วมกันเพื่อให้แน่ใจว่ามีการพร้อมกันความสอดคล้องของข้อมูลและความสามารถในการทำธุรกรรมแบบอนุกรม
ไม่ว่าคุณจะอยู่ในอุตสาหกรรมรากฟันเทียมหรือสาขาอื่น ๆ ที่ต้องใช้การจัดการฐานข้อมูลที่มีประสิทธิภาพ Tibase สามารถให้ความน่าเชื่อถือและประสิทธิภาพที่คุณต้องการ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับกลไกการควบคุมการทำงานร่วมกันของ Tibase ที่จะเป็นประโยชน์ต่อธุรกิจของคุณหรือหากคุณพร้อมที่จะเริ่มการอภิปรายการจัดซื้อจัดจ้างโปรดติดต่อ เราอยู่ที่นี่เพื่อช่วยให้คุณใช้ประโยชน์สูงสุดจากระบบฐานข้อมูลของคุณ
การอ้างอิง
- วันที่, CJ (2004) บทนำสู่ระบบฐานข้อมูล แอดดิสัน - เวสลีย์
- Bernstein, PA, Hadzilacos, V. , & Goodman, N. (1987) การควบคุมและการกู้คืนพร้อมกันในระบบฐานข้อมูล แอดดิสัน - เวสลีย์
