谷歌公司的Cloud Spanner可能已經廣泛采用多年,但這可能代表著在全球范圍內通過公共云中的大量數據集保持一致性邁出的一大步。
谷歌公司已經在全球范圍內推出可擴展的數據庫服務,計劃超越其云計算競爭對手,但這可能將在未來實現。
Cloud Spanner是當前處于測試階段的完全托管服務,它將事務關系數據庫的一致性與通常與NoSQL數據庫相關聯的分布式水平擴展相結合。新的谷歌云端數據庫服務旨在通過全球規模和高可用性簡化管理,避免在復雜系統中出現數據損壞的威脅。
QuizletInc.是一家位于舊金山的在線學習公司,每月支持超過2000萬用戶,它依靠MySQL作為主要數據庫。但是,隨著業務的發展,盡管使用了谷歌云端平臺(GCP)最大的虛擬機,但其業務發展已開始進入瓶頸。
“你可以優化查詢,添加索引和壓縮,將表格拆分到其他硬件上并進行復制,但是這樣做之后,除非使用水平分片,否則仍然有這個根本障礙。但是,這可以寫到單臺機器上。”Quizlet公司平臺主管PeterBakkum說。
Quizlet公司已經對Cloud Spanner進行了幾個月的測試,并將其視為解決此問題的潛在解決方案。
“因為它是一個可以極其擴展的關系數據庫。”Bakkum說,“你能夠以秒的方式調整縮放單位的節點數。”
Cloud Spanner解決的主要問題是全球范圍內的數據庫復制。Ovum公司首席分析師Tony Baer說,即使多個用戶進行交易并連接到地球兩端的數據中心,它也能提供數據一致性。
Cloud Spanner通過使用協議的Paxos系統消除了瓶頸,它依賴于一種算法在全局分布式節點之間創建共識,以確定哪個位置,主要是基于數據引力,是最有權威的提交。
Baer說,“這不像分析數據庫,像Hadoop...如果事務系統崩潰,企業的業務就會崩潰。”
數據庫及其擁有的大量數據已經成為公共云提供商之間的激烈競爭。主導公共云市場的亞馬遜網絡服務(AWS)已與Oracle公司公開競爭,并聲稱其Aurora兼容MySQL的數據庫是其增長最快的服務。但是,CloudSpanner代表了其他云計算提供商(可能沒有其他技術公司)可以提供的系統。
Baer表示,其他公司,如NuoDB,Aerospike和Clustrix,在Paxos上提供一些變化,但沒有一個可以擴展到CloudSpanner的程度。最終,CloudSpanner不會對抗其他主要的云計算提供商,而是針對Oracle和SQL數據庫引擎,這需要數年的時間才能完成并實現更復雜的功能。Oracle公司使用切分和智能管理解決SQL數據庫周圍的規模問題。
“Oracle公司有一個非常成熟的SQL引擎,”Baer說。
谷歌公司一直致力于這項技術,內部簡稱為Spanner,十年來滿足自己的需求。該公司已經在世界各地的數據中心對Spanner進行了數百個應用程序和PB級數據測試。如今,作為產品(如AdWords和Play)的骨干,它每秒支持數千萬的查詢。
Baer說,Cloud Spanner更具可擴展性,但目前尚不清楚誰可以使用這項服務。對于一個全球性組織(如一家大型銀行)來說,整合其數據庫似乎是一種天然的合適方式,但這需要數年時間才能得到大量采用。同時,它可以很好地適用于供應鏈管理或物聯網工作負載。
“Cloud Spanner必須證明自己是企業需要的東西,因為它不是他們習慣的產品。”Baer說。
Bakkum說他對這樣的所有管理系統持懷疑態度,特別是因為他最近測試了一個最終沒有達到賬單的交鑰匙服務。
“谷歌公司是我信任的提供這樣服務的少數幾家公司之一。”他說。“分布式數據庫很復雜,很難獲得所有的細節。”
這種服務不會立即獲得立足點,因為企業可能甚至不知道他們有這個問題,或者知道有辦法解決它,Gartner分析師尼克Heudecker說。但這些類型的規模問題不再保留給谷歌公司的世界。
“在單個服務器或單個數據中心上開始采用越來越多的應用程序,越來越多的組織發現他們在某種程度上具有類似谷歌的問題,但他們不會雇傭數千名工程師來復制這些類型的解決方案。”他說。
JDA軟件集團公司是一家位于亞利桑那州斯科茨代爾的全球零售和供應鏈軟件公司,于2015年將業務遷移到Google云平臺,構建其下一代產品,目前正在測試CloudSpanner。JDA技術集團副總裁JohnSarvari表示,采納CloudSpanner是因為該公司準備從傳統數據庫轉移并大量投資新技術。
“如今,沒有幾家組織對此做好準備,但對于那些組織來說,這將是非常有利的。”JDA技術副總裁JohnSarvarigroup說。
JDA公司使用Oracle的傳統工作負載,但其價格超過了預算。為了維護高可用性,災難恢復以及創建和調整索引,工作人員對此有相當大的需求。
該公司開始測試CloudSpanner,使其供應鏈更具響應性,能夠從全球任何節點獲取信息,而無需添加更多節點或擔心限制NoSQL的最終一致性。
JDA公司已經使用其他谷歌云端數據庫和存儲服務(如BigQuery,BigTable和CloudDatastore)為其開發人員提供已批準的服務目錄,并將在完整版本中進行盡職調查后納入CloudSpanner。
“使用這個模型的原因之一是我們要真正消除任何運營任務的責任,我們有能力將這一任務交給第三方,在這種情況下,我們采用谷歌的服務。”
GCP繼續成熟
隨著谷歌云服務試圖趕超AWS和微軟Azure,它并不是沒有缺點。谷歌公司在過去一年中也出現了服務中斷的問題,就是最近一個月,用戶無法創建超過兩個小時的新實例。但早期采用者表示,推出CloudSpanner谷歌公司如何改變和學習企業本土化的另一個標志。
“我們真的開始看到Google變身為更多的企業服務組織,”Sarvari說。