Skip to main content

Snapshot แยกคืออะไร?

ection Snapshot Isolation เป็นคุณสมบัติในการประมวลผลธุรกรรมและฐานข้อมูลที่รับประกันการอ่านทั้งหมดที่ทำในธุรกรรมดูสแน็ปช็อตฐานข้อมูลเดียวกันซึ่งหมายความว่าการทำธุรกรรมจะส่งมอบตัวเองให้ประสบความสำเร็จในการประมวลผลคำขอหากการอัปเดตไม่ขัดแย้งกับการอัปเดตที่เกิดขึ้นพร้อมกันอื่น ๆการแยกสแน็ปช็อตเป็นอัลกอริทึมการควบคุมสำหรับการเกิดขึ้นพร้อมกันหลายครั้งที่ให้ระดับการแยกที่หลีกเลี่ยงปัญหาที่เกิดขึ้นกับการเกิดขึ้นพร้อมกันการแยกนี้ได้รับการดำเนินการโดยเซิร์ฟเวอร์การสืบค้นที่มีโครงสร้าง (SQL) ที่แตกต่างกันหลายแห่งซึ่งทำงานด้วยความผิดปกติของการทำให้เป็นอนุกรมในปริมาณน้อยที่สุดอย่างไรก็ตามการแยกสแน็ปช็อตจะไม่รับประกันความเป็นไปได้ที่สมบูรณ์ในเซิร์ฟเวอร์

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

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

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