Google今日推出全球級的分散式資料庫託管服務「Cloud Spanner」。這套資料庫原用於Google內部產品,為全球首個、也是目前唯一同時具備全球一致性和水平延展性的關聯式資料庫。透過Cloud Spanner,就算是Google這樣的跨國企業、資料中心散布於全球,資料處理也能像在同一台機器內般一致且同步。
Google已有超過2,000種服務使用Cloud Spanner
Cloud Spanner是Google內部使用的跨國資料庫,具有強大的一致性和水平延展性,可即時同步處理分散在各國的上百萬台資料庫的數據。根據其介紹頁面,Cloud Spanner處理數據的速度為毫秒級,並可同時保持交易一致性;目前Google旗下的Gmail、AdWords、Google Photos、Google Play Store等超過2,000種服務,都透過Cloud Spanner處理。
過去,傳統資料庫只能仰賴不中斷且密集的溝通以維持不同資料庫間的一致性,但這樣的模式並不適用於全球規模的資料庫。Google於2007年開始開發Cloud Spanner,希望找到MySQL的替代工具,並於2012年將Cloud Spanner當作內部資料庫。
集傳統關聯式資料庫和NoSQL的優點於一身
根據《Wired》報導,透過Cloud Spanner,就算Google改變了特定資料庫的其中一部分(如開始執行某廣告或對特定廣告客戶扣款),其他地方的網路活動也不會彼此矛盾。此外,Cloud Spanner可持續且穩定地複製各國資料中心間數據,就算有資料中心突然斷線,也能存取副本、維持資料一致性。
相較於Google過去推出的雲端資料庫(如Bigtable、Cloud SQL、Cloud Datastore),Cloud Spanner的強大之處在於,其同時有傳統關聯式資料庫維持交易一致性的優點,又保有NoSQL資料庫的水平延伸性和分散式特色。簡單來說,Cloud Spanner支援傳統的SQL查詢語言、分散式交易和ACID原則(原子性、一致性、隔離性、持久性)。
適用於存貨管理、金融交易和控制系統等
藉由Cloud Spanner,Google在雲端計算市場將更有競爭力;一方面讓客戶更容易在各國間複製資料、經營跨國企業;而對非跨國企業來說,也能受惠於Spanner資料庫的高度延展性。
由於Cloud Spanner支援既有資料庫環境普遍使用的工具和語言,對植基於傳統關聯式資料庫的系統來說,是很理想的管理工具,例如,存貨管理、金融交易和控制系統。
相較下,其他公有雲供應商如亞馬遜AWS,支援與MySQL兼容的Aurora關聯式資料庫;微軟Aure則提供Azure SQL資料庫和搭載於虛擬機器的SQL Server。