ฐานข้อมูลแบบกระจาย (distributed database) ไม่ใช่แนวคิดใหม่แต่อย่างใด เพียงแต่การกระจายฐานข้อมูลออกไปไกลระดับครอบคลุมทั้งโลก (ห่างกันหนึ่งซีกโลก) กลับมีปัญหาเรื่อง latency ทำให้การอ่าน-เขียนข้อมูลบนฐานข้อมูลแต่ละชุด (ซึ่งส่วนใหญ่ข้อมูลซ้ำกันหรือเป็น replication) ทำได้ไม่พร้อมกัน
กูเกิลแก้ปัญหานี้ด้วยซอฟต์แวร์ชื่อ Spanner ที่ใช้เทคนิคช่วยให้การวัด "เวลา" แม่นยำขึ้น ผ่านทั้งตัวรับสัญญาณ GPS และนาฬิกาอะตอม (atomic clock) ที่ติดตั้งไว้ในศูนย์ข้อมูลของกูเกิล แทนการส่งข้อมูลข้ามไปถามศูนย์ข้อมูลอื่นๆ ซึ่งอาจมีปัญหาเรื่อง latency ได้
นอกจากนี้ Spanner ยังช่วยกำหนดประเภทของข้อมูลที่ต้องการอ่าน-เขียนได้ เช่น
Spanner ออกแบบมาสำหรับศูนย์ข้อมูลที่กระจายตัวอยู่ทั่วโลก แต่กูเกิลก็บอกว่าสำหรับงานทั่วๆ ไปแล้ว ข้อมูลจะกระจายอยู่ในศูนย์ข้อมูล 3-5 แห่งภายในภูมิภาคเดียวกันเท่านั้น
กูเกิลซุ่มพัฒนา Spanner มา 5 ปี และล่าสุดออกเป็นเปเปอร์วิจัยเผยแพร่เรียบร้อย ในรายชื่อผู้เขียนมี Jeffrey Dean และ Sanjay Ghemawat ซึ่งเป็นคนออกแบบ MapReduce และ GFS รวมอยู่ด้วย (ซึ่งเป็นที่มาของซอฟต์แวร์อย่าง Hadoop อีกต่อหนึ่ง)
ปัจจุบันนี้ ระบบฐานข้อมูลสำหรับโฆษณา F1 ของกูเกิล ถูกย้ายจาก MySQL ขึ้นมารันบน Spanner แล้ว คาดว่าบริการอื่นๆ จะตามมาอยู่บน Spanner ต่อไปในอนาคตอันใกล้นี้
ที่มา - ZDNet, งานวิจัย Spanner
Comments
จะมีใครเอาไป implement อีกบ้างนะ ... (พยายามอ่าน paper แล้วพบว่ามือไม่ถึง รอใช้อย่างเดียวดีกว่า)
microsoft กับ apple มั้ง
เหมือน facebook ก็น่าจะมีปัญหานี้นะ ไม่รู้เขา implement ยังไง เกินปัญญาจะเข้าใจ - -'
แจ่มมากๆครับ
ลดการพึ่งพาจาก Oracle ไปในตัว
Coder | Designer | Thinker | Blogger