เบื้องหลังระบบ Facebook Messages โฉมใหม่ เลือกใช้ Hbase

by lch
16 November 2010 - 09:07

จากที่ทราบกันดีว่า Facebook ได้ประกาศเปิดตัว Facebook Messages โฉมใหม่ กันไปแล้ว

รายละเอียดการพัฒนาและการทำงานเบื้องหลังของระบบนี้ก็มีสิ่งที่น่าสนใจอยู่ไม่น้อยเหมือนกัน Facebook ได้อธิบายสถาปัตยกรรมนี้ไว้บนบล็อกทางด้านวิศวกรรมของบริษัท

เนื้อหาโดยสรุปคือ

  • ระบบปัจจุบันมีการส่ง Messages ทั้งหมดกว่า 15,000 ล้านครั้งต่อเดือน และมีข้อความสนทนา (chat) กว่า 120,000 ล้านข้อความต่อเดือน จากผู้ใช้ของ Facebook กว่า 350 ล้านคน
  • จากการวิเคราะห์ของ Facebook พบว่าข้อมูลเหล่านี้ลักษณะสำคัญสองประการคือ 1) เป็นชุดข้อมูลทางกายภาพสั้น ๆ ที่คาดเดาไม่ได้ (สำหรับข้อแรกนี้ ขอยอมรับว่าแปลไม่ค่อยถูกจริง ๆ ผู้ใดเข้าใจถ่องแท้ช่วยเข้ามาแปลเพิ่มเติมละกันนะครับ ผมเองก็อยากรู้เหมือนกัน) และ 2) ข้อมูลที่ไม่ถูกเรียกใช้ซ้ำมีจำนวนมากขึ้นเรื่อย ๆ ซึ่งเป็นโจทย์สำคัญในการคิดหาวิธีเก็บข้อมูลที่มีประสิทธิภาพที่สุด ตามคุณลักษณะทั้งสองนี้
  • ระบบคลัสเตอร์ฐานข้อมูลที่ Facebook เลือกมาทดสอบได้แก่ MySQL, Apache Cassandra, และ Apache HBase ผลออกมาว่า Hbase ได้รับเลือก ซึ่งจริง ๆ แล้ว Facebook ก็หนักใจพอสมควรเพราะ Cassandra นี้ก็เป็นระบบที่ Facebook สร้างขึ้นมากับมือ ส่วน MySQL ก็เป็นระบบที่พนักงานมีความชำนาญอยู่แล้ว แต่เนื่องจาก Hbase มีคุณสมบัติและให้ประสิทธิภาพที่ดีกว่าตามคุณลักษณะสองประการดังกล่าว จึงตัดสินใจเลือก Hbase
  • เนื่องจากว่าระบบ Messages ตัวใหม่นี้ต้องติดต่อกับบริการที่หลากหลาย ทั้ง SMS และอีเมล Facebook จึงตัดสินใจเขียนเซิร์ฟเวอร์ขึ้นมาใหม่เองเลยแทนที่จะใช้โครงสร้างของเว็บเซิร์ฟเวอร์ทั้ว ๆ ไป โดยใช้เทคโนโลยีที่สำคัญคือ Haystack และ Apache Zookeeper

ที่มา - Facebook Engineering's Notes

Blognone Jobs Premium