ด้วยยุคสมัยที่เปลี่ยนไปทำให้การสร้าง Application หรือวิธีการสร้าง Environment ได้เปลี่ยนไปเช่นกัน...
MariaDB Clustering (Mode – active/active, active/passive, galera)
ถ้าเราพูดถึง Database หรือตัวที่เอาไว้เก็บข้อมูลล่ะก็เราจะไม่พูดถึง MariaDB ตัวนี้ไม่ได้เลย วันนี้แอดจะมาอธิบายให้พวกเราเข้าใจว่า MariaDB มันคืออะไรแล้วมันมี Mode อะไรบ้างและสุดท้ายเราจะมาพูดถึง Use Case กันนะครับ
MariaDB คืออะไรกันแน่
ตัว Database ตัวนี้เป็นตัวที่ Community ของเหล่า Developer นั้นได้พัฒนาขึ้นมาซึ่งตัวมันเองจะมีการทำงานที่คล้ายคลึงกับ MySQL ที่เรารู้จักนั่นเองอีกทั้งด้วยความที่ว่าตัวมันเองเป็น Software ที่นักพัฒนาได้สร้างขึ้นมานั่นก็หมายความว่ามันเป็น Open-source หรือที่เรียกกันง่ายๆ ว่าฟรีนั่นเอง
มาดูกันว่าแต่ละ Mode ของ MariaDB ทำอะไรได้บ้าง
ก่อนอื่นเลยแอดจะมาอธิบายความหมายของคำว่า Mode ของตัว Database ตัวนี้กันก่อนไม่งั้นหลายคนจะสงสัยแน่นอน Mode คือการทำ Clustering บน PROEN Any Cloud ซึ่งการทำ Cluster เราสามารถทำได้ 3 แบบ โดยสามารถทำได้แค่ Click เดียว
ทีนี้แอดจะอธิบายคร่าวๆ ให้ทุกคนเข้าใจกันครับ ว่าแต่ละ Mode แตกต่างกันยังไง
Primary-Primary คือการที่ Database ทั้ง Master และ Slave ได้มีการคัดลอกข้อมูลระหว่างกันอย่างต่อเนื่องโดยจะเห็นจากรูปด้านบนได้ว่าจะมี Load Balancer ในการกระจาย Traffic ต่างๆ เพื่อให้มั่นใจเมื่อตัว Database ตัวใดตัวหนึ่งเกิดมีปัญหามันสามารถที่จะย้ายไปใช้ Master อีกตัวได้
Primary-Secondary เป็นโหมดที่พวกเราใช้กันมากที่สุดเนื่องจากว่ามันมีความสม่ำเสมอ ในการเขียนข้อมูลหรือปรับแต่งข้อมูล นอกเหนือจากนี้ ความหน่วงของของการเขียน Database ยังน้อยอีกด้วย เนื่องจากว่ามันทำการเขียนแบบ Local ในตัว Master และส่งไปยัง Slave ด้วย เพราะเหตุนี้การทำ Primary-secondary ยังสามารถที่จะ Scale Reads ได้ซึ่งถ้าเราพูดถึง Performance ละก็โหมดนี้ดีที่สุดครับ
Galera เป็นการทำ Cluster ของตัว Master หรือตัว Primary ดังในรูปด้านบนซึ่งตัวมันจะมีการคัดลอกข้อมูลระหว่างกันตลอดเวลา โดยทุกๆ ครั้งที่มี Transaction มันจะประกาศให้ทุกตัวที่อยู่ในระแวกเดียวกันรับทราบเพื่อที่มันจะคัดลอกข้อมูลและทำให้ทุกตัวมีฐานข้อมูลที่เท่ากันครับ
ท้ายสุดเรามาพูดถึง Use Case ของแต่ละตัวกันนะครับ
Primary-Primary:
– ทำ Load Balance ได้ในกรณีที่มี Traffic ปริมาณมาก
– Recover เมื่อตัวใดตัวหนึ่งตาย
.
Primary-Secondary:
– สำหรับองค์กรที่ต้องการ Performance สำหรับการอ่านข้อมูล
– สามารถสำรองข้อมูลได้โดยจะไม่กระทบกับตัว Master
– การดึงข้อมูลสำหรับการวิเคราะห์นั้นสามารถทำได้โดยการใช้ Slave ซึ่งจะไม่กระทบกับ Master เช่นกัน
.
Galera:
– สำหรับองค์ที่มีการใช้อ่านเขียนของ Database จำนวนมาก
– ทุกอย่างไม่ว่าจะเป็นการ Read/Write เป็น Automate ทั้งหมด
>> เรียนรู้การ Cluster คืออะไร! กับ PROEN Any Cloud :
https://www.youtube.com/watch?v=ScC6zODT9lg
สนใจทดลองใช้ PROEN Cloud ฟรี! 14 วัน ลงทะเบียนได้ที่
https://www.proen.cloud/th/get-free-trials/
Tel: 02690 3888
E-mail: sales@proen.co.th