11 คะแนน โดย kimmachinegun 2025-03-10 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

> แชร์ประสบการณ์การปรับปรุง elasticity ของ Luft ซึ่งเป็นฐานข้อมูลที่พัฒนาขึ้นเอง โดยเปลี่ยนจากสถาปัตยกรรม Shared Nothing ไปเป็นสถาปัตยกรรม Shared Storage

  • ก่อนหน้านี้แต่ละโหนดประมวลผลข้อมูลโดยใช้สตอเรจแยกอิสระ แต่เมื่อจัดการข้อมูลขนาดใหญ่กลับขาด elasticity ทำให้รับมือกับเวิร์กโหลดที่พุ่งสูงเป็นช่วง ๆ ได้ยาก
  • จึงตัดสินใจเปลี่ยนไปใช้สถาปัตยกรรม Shared Storage ที่แชร์สตอเรจร่วมกัน โดยนำแนวคิด Compute-Storage Separation ที่แยกทรัพยากรคอมพิวต์ออกจากสตอเรจมาใช้
  • ได้ทดลองวิธีเข้าถึง S3 โดยใช้ FUSE แต่เนื่องจากลักษณะเฉพาะของ Go runtime ทำให้เกิดปัญหาด้านประสิทธิภาพเมื่อใช้ FUSE จึงพัฒนา Buffer Pool Manager ขึ้นเองในระดับแอปพลิเคชัน
  • การปรับปรุงเหล่านี้ทำให้สามารถ query ไปยัง S3 ได้โดยตรง และในกรณีที่ไม่มีการกระจายข้อมูลไว้ล่วงหน้า ประสิทธิภาพของ query ดีขึ้นได้มากกว่า 70% ส่งผลให้ elasticity ของ Luft ดีขึ้นอย่างมาก

1 ความคิดเห็น

 
outcast1542 2025-03-10

อันนี้น่าสนุกมากจริง ๆ ครับ ผมก็อยากลองทำบ้างเหมือนกัน