งานวิจัยกูเกิล "Spanner" ฐานข้อมูลที่กระจายตัวไปทั้งโลก

by mk
24 September 2012 - 11:44

ฐานข้อมูลแบบกระจาย (distributed database) ไม่ใช่แนวคิดใหม่แต่อย่างใด เพียงแต่การกระจายฐานข้อมูลออกไปไกลระดับครอบคลุมทั้งโลก (ห่างกันหนึ่งซีกโลก) กลับมีปัญหาเรื่อง latency ทำให้การอ่าน-เขียนข้อมูลบนฐานข้อมูลแต่ละชุด (ซึ่งส่วนใหญ่ข้อมูลซ้ำกันหรือเป็น replication) ทำได้ไม่พร้อมกัน

กูเกิลแก้ปัญหานี้ด้วยซอฟต์แวร์ชื่อ Spanner ที่ใช้เทคนิคช่วยให้การวัด "เวลา" แม่นยำขึ้น ผ่านทั้งตัวรับสัญญาณ GPS และนาฬิกาอะตอม (atomic clock) ที่ติดตั้งไว้ในศูนย์ข้อมูลของกูเกิล แทนการส่งข้อมูลข้ามไปถามศูนย์ข้อมูลอื่นๆ ซึ่งอาจมีปัญหาเรื่อง latency ได้

นอกจากนี้ Spanner ยังช่วยกำหนดประเภทของข้อมูลที่ต้องการอ่าน-เขียนได้ เช่น

  • กำหนดประเภทข้อมูลที่ต้องอ่านบ่อยๆ แล้ว Spanner จะเก็บไว้ที่ศูนย์ข้อมูลที่ใกล้ที่สุดให้ ลด latency ของการอ่าน
  • กำหนดว่าข้อมูลใดบ้างอยู่ในศูนย์ข้อมูลแห่งใดของกูเกิล

Spanner ออกแบบมาสำหรับศูนย์ข้อมูลที่กระจายตัวอยู่ทั่วโลก แต่กูเกิลก็บอกว่าสำหรับงานทั่วๆ ไปแล้ว ข้อมูลจะกระจายอยู่ในศูนย์ข้อมูล 3-5 แห่งภายในภูมิภาคเดียวกันเท่านั้น

กูเกิลซุ่มพัฒนา Spanner มา 5 ปี และล่าสุดออกเป็นเปเปอร์วิจัยเผยแพร่เรียบร้อย ในรายชื่อผู้เขียนมี Jeffrey Dean และ Sanjay Ghemawat ซึ่งเป็นคนออกแบบ MapReduce และ GFS รวมอยู่ด้วย (ซึ่งเป็นที่มาของซอฟต์แวร์อย่าง Hadoop อีกต่อหนึ่ง)

ปัจจุบันนี้ ระบบฐานข้อมูลสำหรับโฆษณา F1 ของกูเกิล ถูกย้ายจาก MySQL ขึ้นมารันบน Spanner แล้ว คาดว่าบริการอื่นๆ จะตามมาอยู่บน Spanner ต่อไปในอนาคตอันใกล้นี้

ที่มา - ZDNet, งานวิจัย Spanner

Blognone Jobs Premium