การจำลองแบบ Multi-Master คืออะไร?

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

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

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

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