Oracle เปิดตัว MySQL Fabric ทำ Automatic Failover และ Sharding บน MySQL ให้เป็นเรื่องง่าย

oracle_logomysql_logo

Oracle บริษัทยักษ์ใหญ่ทางด้านระบบฐานข้อมูลและซอฟต์แวร์ธุรกิจครบวงจร ได้เปิดตัว MySQL Fabric ซึ่งเป็น Framework สำหรับการบริหารจัดการ MySQL Servers Farm โดยเฉพาะ โดยเน้นรองรับการบริหารจัดการการทำ High Availability เพื่อให้ระบบฐานข้อมูล MySQL มีความทนทานสูงขึ้น และการทำ Automated Sharding ที่ทำให้ระบบฐานข้อมูล MySQL มีประสิทธิภาพสูงขึ้นโดยเฉพาะ รองรับทั้ง Application ระดับองค์กร และระบบ Cloud ที่ต้องการทั้งประสิทธิภาพและความทนทานไปพร้อมๆ กัน

mysql_fabric_sharding

โดยใน Framework MySQL Fabric นี้ จะประกอบไปด้วย 2 Layer หลักๆ ดังนี้

  • mysqlfabric process ทำหน้าที่ประมวลผล request ทั้งหมดเกี่ยวกับการบริหารจัดการ และเมื่อเปิดใช้งานฟีเจอร์ High Availability แล้ว mysqlfabric process นี้จะคอยตรวจสอบว่า Primary Server ทำงานอยู่หรือไม่ และถ้าพบว่า Primary Server หยุดทำงานไปแล้ว จะเลือก Secondary Server เครื่องไหนมาเป็น Master แทน
  • MySQL Fabric-aware connectors จะทำหน้าที่ในการจัดเก็บ Cache ของ Routing Information ที่ดึงมาจาก MySQL Fabric เพื่อใช้ในการส่ง Transaction หรือ Queries ไปยัง MySQL Server เครื่องที่ถูกต้อง

สำหรับฟีเจอร์ต่างๆ ของ MySQL Fabric มีรายละเอียดต่างๆ ดังนี้

High Availability (HA)

HA Group เกิดจากการนำ MySQL Server ตั้งแต่ 2 เครื่องขึ้นไปมาทำงานรวมกัน โดยจะมีเครื่องหนึ่งทำหน้าที่เป็น Primary (MySQL Replication Master) ละเครื่องที่เหลือทั้งหมดจะถูกนับเป็น Secondary (MySQL Replication Slave) เพื่อให้มีข้อมูลสำรองทดแทนกันอยู่ตลอดเวลา ซึ่ง MySQL Fabric จะช่วยทำหน้าที่ดังต่อไปนี้

  • Failure Detection and Promotion – MySQL Fabric จะช่วยตรวจสอบ Primary Server ว่ายังทำงานอยู่หรือไม่ และช่วยเลือก Primary Server ให้ใหม่ทันทีเมื่อเกิดกรณี Failover ขึ้น
  • Routing of Database Requests – การทำ Routing สำหรับการ Write ข้อมูลลงไปยัง Primary Server และการอ่านข้อมูลแบบ Load Balancing Read จาก Secondary Server ทั้งในสถานการณ์ปกติ และกรณีที่เกิด Failover ขึ้นให้โดยอัตโนมัติ

Sharding – Scaling Out

เมื่อเกิดปัญหาคอขวดในการ Write ขึ้นที่ Primary Server จนไม่สามารถรับการ Write เพิ่มได้แล้ว MySQL Fabric สามารถช่วยทำการแบ่งข้อมูลใน MySQL ออกเป็น Shard ข้ามระหว่างหลายๆ MySQL Servers เพื่อเพิ่มจำนวน Primary Server สำหรับรองรับการ Write เพิ่มขึ้นได้ ซึ่ง Group ของการทำ Scale-out นี้ จะเพิ่มเพียง Server เดียวเพื่อเพิ่มประสิทธิภาพการ Write ข้อมูลเพิ่ม หรือจะเพิ่มเป็น HA Group เข้ามาเลยก็ได้

โดยในการทำ Sharding นี้ จะสามารถเลือกว่าจะใช้ Column ใดเป็น Key และจะแบ่ง Shard โดยการทำ HASH หรือ RANGE Mapping ก็ได้ และยังแบ่ง Shard เดียวออกเป็นหลายๆ Shard ได้ รวมถึงทำการย้าย Shard ระหว่างเครื่องได้อีกด้วย

MySQL Fabric-Aware Connectors

ตอนนี้ MySQL Fabric-aware connector ยังมีให้ใช้งานได้เพียงบน Java, PHP และ Python เท่านั้น โดยทำหน้าที่เก็บ Cache ของ Routing Information สำหรับ Query และ Transaction ต่างๆ ไว้ เพื่อให้ Application สามารถเข้าถึง Database ได้จาก MySQL เครื่องที่ถูกต้อง โดยไม่สนใจ Topology การเชื่อมต่อใดๆ

Proxy-Free Operation

ด้วยการใช้ MySQL Fabric-aware connector ทำให้ระบบไม่จำเป็นต้องมี Proxy ส่งผลให้มี Latency ในการเข้าถึงฐานข้อมูลต่ำ และมีความซับซ้อนของระบบน้อย

ข้อมูลเพิ่มเติม

ที่มา: http://www.oracle.com/us/corporate/press/2208808


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Trend Micro เข้าซื้อ Cloud Conformity เสริมทัพ Cloud Security

Trend Micro ผู้ให้บริการโซลูชันด้านความมั่นคงปลอดภัยชื่อดัง ประกาศเข้าควบรวมกิจการของ Cloud Confirmity บริษัทที่ให้บริการแพลตฟอร์มด้าน Cloud Security Posture Management ด้วยมูลค่า $70 ล้าน (ประมาณ …

Cyber Defense Initiative Conference (CDIC) 2019 เปิดลงทะเบียนวันนี้แล้ว

Software Park Thailand และ ACIS Professional Center ร่วมกับเหล่าพันธมิตร ขอเชิญผู้ที่สนใจเข้าร่วมงานสัมมนาประจำปีด้านความมั่นคงปลอดภัยไซเบอร์ที่ยิ่งใหญ่ที่สุดในประเทศไทยและภูมิภาคอาเซียน “Cyber Defense Initiative Conference (CDIC) 2019” …

Leave a Reply