@FordAntiTrust

มาทำความรู้จัก MariaDB Galera Cluster ในเบื้องต้น

เป็น note ที่เขียนไว้นานแหละ แต่ draft ไว้ไม่ได้โพส เลยมาโพสสรุปสักหน่อย

MariaDB Galera Cluster เป็น Synchronous replication แบบ master-master replication (Active-active multi-master topology) ต้องใช้ Server จำนวน 3 เครื่องขึ้นไปในการทำงาน โดยความสามารถของ MariaDB Galera Cluster นั้น เป็นการช่วยเสริมความมั่นคง และเหมาะกับระบบที่เน้นข้อมูลที่มีการเปลี่ยนแปลงอยู่บ่อยครั้ง เพราะจากแต่เดิมนั้น เรามักใช้ MySQL หรือ MariaDB ในรูปแบบ standalone server แบบเดิมๆ ซึ่งอาจจะปรับไปใช้รูปแบบโครงสร้างที่ชื่อว่า Asynchronous replication (master-slave replication) โดยรูปแบบดังกล่าวมีข้อเสียในด้านความมั่นคงของข้อมูลที่ master server ที่ใช้เพื่อ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูล ที่มีเพียง server ตัวเดียวที่ทำงานเหล่านี้ได้ และมักเน้นหนักไปที่การอ่านข้อมูลมากกว่าการเปลี่ยนแปลงข้อมูล ซึ่งอาจเกิดเหตุการณ์ที่ทำให้ master server หยุดทำงานไป มีผลทำให้ไม่สามารถ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลได้ ทำให้การให้บริการเต็มรูปแบบนั้นหยุดลง ด้วยเหตุผลดังกล่าว เราจึงจำเป็นต้องหาแนวทางที่ชื่อว่า Synchronous replication หรือ multi-master replication (Active-active multi-master topology) ของ MariaDB Galera Cluster โดยต้องทำการย้ายฐานข้อมูลจาก MySQL หรือ MariaDB ในรูปแบบ standalone server หรือใช้รูปแบบโครงสร้าง Asynchronous replication (master-slave replication) ไปใช้ MariaDB Galera Cluster เพื่อใช้ในการแก้ไขปัญหาดังกล่าว

จุดสำคัญของตัว MariaDB Galera Cluster คือ มันสามารถอ่าน และเขียนได้จาก cluster node ใดๆ ก็ได้ โดยที่มีระบบ membership control สามารถปลดออกจากกลุ่มเมื่อพบความผิดพลาด หรือเพิ่ม cluster node อัตโนมัติเมื่อมีการเพิ่มเข้ามาในระบบ โดยข้อมูลในการจัดการภายในเป็นแบบเป็น parallel replication ระดับ row

สำหรับการเชื่อมต่อกับ MariaDB Galera Cluster นั้นสามารถใช้ MySQL Library โดยทั่วไป โดยไม่ต้องแก้ไข code ใดๆ (นอกจากแก้ไขตามข้อจำกัดของระบบ Cluster บางอย่าง)

แน่นอนว่ามีข้อดีก็ต้องมีข้อจำกัด โดยข้อจำกัดของ MariaDB Galera Cluster นั้นคือ

สำหรับในการติดตั้งนั้นไม่ได้ยุ่งยากอะไรนัก ใช้ตัว configuration ของ wsrep ในการตั้งค่าต่างๆ (MySQL Write Set Replication; MySQL-wsrep) โดยเข้าไปแก้ไขใน my.cnf สามารถทำตาม ที่บทความ Install MariaDB Galera Cluster in Ubuntu ได้เลย

Exit mobile version