ความสอดคล้องที่สุดคืออะไร?

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

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

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

มีวิธีการที่ใช้ได้สามวิธีเพื่อแก้ไขปัญหาเหล่านี้: ซ่อมแซมการเขียนอ่านการซ่อมแซมและการซ่อมแซมแบบอะซิงโครนัส วิธีการเหล่านี้ทั้งหมดนำเวอร์ชั่นของโปรแกรมหรือข้อมูลให้สอดคล้องกับโมเดลที่สอดคล้องกัน ความแตกต่างที่สำคัญระหว่างสิ่งเหล่านี้เกี่ยวข้องกับวิธีที่ระบบใช้ในการดำเนินการซ่อมแซม การดำเนินการดังกล่าวทั้งหมดมีประโยชน์และข้อเสีย

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