Google公布一份論文,內容在說明Google首創的全球分散式資料庫Spanner(扳手),希望該系統可以管理分布在全球各地數以千計的資料中心,使上千萬台伺服器的資料能夠同步,確保每個人在任何地方都可以看到相同的資料。

其中的關鍵是稱為TrueTime的API,讓所有伺服器使用的時間同步,進而讓所有的時間戳記都使用相同的時間標準。Google為達到此目標,在伺服器內安裝GPS及原子鐘,利用GPS衛星訊號內的時間戳記及原子共振頻率標準來確保全球各資料中心的伺服器時間同步。

在此之前,大部分的作法是依賴一部伺服器提供標準時鐘,該伺服器可能向原子鐘或GPS取得正確時間,但其他伺服器則可能因網路訊號傳遞所產生的延遲,無法完全與標準時鐘伺服器同步。

由於距離越遠延遲現象越是明顯,因此以往均想辦法改善伺服器間的通訊或使用各種方式校正,但仍很難讓跨洲際的伺服器時間同步。因此當Google提出GPS及電子鐘作為解決方案,讓很多技術專家大感意外。

Google利用其他資料庫的技術來建造Spanner,例如用於單一資料中心內部,能夠同步數千台資料庫伺服器的BigTable,但Spanner的目標是讓上千個資料中心內數千萬台資料庫伺服器同步。

Spanner一開始用在Google的廣告系統上,目前也用在資料庫複製、遷移等方面,不過外界還不清楚詳細的使用狀況。一般認為不是任何資料庫都需要類似的機能,例如Picasa相片服務就對時間的敏感性較低。

Google離職的工程師不久前曾經透漏Spanner相關的訊息給雲端資料庫廠商Cloudera的執行長Mike Olson。而本篇論文作者之一Vijay Gill,在三年前Google一個資料中心過熱導致必須遷移資料庫時,也曾經提起Spanner。另一位作者Jeff Dean在2009年一場分散式資料庫的研討會中曾描述Spanner早期開發狀況。

Vijay Gill及論文的另一位Sanjay Ghemawat都是從DEC出身,兩人在Google合作設計MapReduce、Google File System與BigTable三個專案。開放源碼雲端平台Hadoop可以說是前兩者的仿製品,而BigTable則引發NoSQL資料庫的蓬勃發展。(編譯/沈經)

熱門新聞

Advertisement