什麼是 Google Cloud Spanner?
如今,每個應用程式中都存在資料庫。更大、更廣泛使用的應用程式需要一個可靠的資料庫來跟蹤所有內容。Cloud Spanner 正是因此而誕生。Google Cloud 提供了一個稱為 Cloud Spanner 的完全託管的資料庫服務。
這是唯一一款結合了 SQL 查詢、事務和關係結構的企業級服務,它具有全球分散式、嚴格一致性和基於開放標準的特點。它提供了良好的資料一致性和可擴充套件性,並消除了管理負擔。銀行、遊戲行業、購物等都可以使用 Cloud Spanner 來處理大量資料。
使用 Cloud Spanner
一個四節點區域性 Cloud Spanner 例項託管兩個資料庫。Spanner 中的節點代表一個計算單元。儘管它們不保留資料,但節點伺服器處理讀、寫/提交事務請求。該區域的三個區域包含每個節點的副本。資料庫儲存也在這三個區域中進行復制。區域內的節點負責讀取和寫入該區域內的儲存。資訊儲存在 Google 的 Colossus 分散式複製檔案系統中。
鑑於資料未連線到特定節點,這對於負載均衡具有巨大的優勢。即使在節點或區域發生故障的情況下,資料庫仍然可用,因為其他節點仍在提供服務。為了保持可用性,無需任何手動操作。
Cloud Spanner 的特性
Google Cloud Spanner 專注於資料庫管理,其特性如下:
它是一個關係資料庫,專門為自動擴充套件而設計。
Cloud Spanner 除了提供跨區域和多區域設定的透明、同步複製外,還為多區域例項提供業界領先的 99.999% 的可用性——停機時間比四個九減少 10 倍。
它透過根據資料量和請求數自動共享資料來提高速度。
事務一致性非常強大。
它使用 Google Cloud 的專用網路構建,保證可靠性、安全性以及最低延遲。
無需中斷流量,即可執行即時模式修改,例如新增行或列。
請進行備份以儲存資料庫資料的可靠副本,並在需要時進行恢復。基於時間點的恢復 (PITR) 提供持續的資料安全性和將以前的資料恢復到微秒級別的能力。
支援多種語言,包括 C#、C++、Go、Java、Node.js、PHP、Python、Ruby 等。
行業應用
金融科技
監管機構、銀行和金融科技公司必須持續且完美地進行溝通。此外,支付閘道器和網上銀行等程式必須完美地處理數億筆交易,同時還要經歷複雜的反欺詐和結算程式。過去,必須仔細重新構建歷史資料庫以處理這種持續的資料流入,並使用了不穩定的自定義解決方案。Google Cloud Spanner 可以輕鬆應對這一挑戰。
遊戲
遊戲是唯一一個對資料庫的可擴充套件性進行嚴格測試的行業。在釋出當天,一款熱門的新遊戲可以吸引數百萬玩家,而每一個玩家都代表著遊戲中購買和即時遊戲收入的巨大潛在市場。這些使用者不會容忍煩擾或無聊。如果遊戲的可用性延遲或全球體驗不一致,客戶可能會並且會切換到其他提供商。幸運的是,Google Cloud Spanner 的無限水平可擴充套件性(本地和國際)使您可以輕鬆擴充套件以處理意外的需求激增。此外,在使用自我管理的 Spanner 時,無需暫停進行補丁、備份、故障轉移甚至模式升級。
零售
COVID-19 大流行僅僅加快了一個進化過程,這個過程見證了電子商務在過去幾年的複雜性日益增加。今天的資料庫必須管理零售商運營的所有領域,包括網上購物、送貨、退貨、忠誠度計劃、店內提貨、零售行業的供應鏈、庫存管理等等。準時送達和動態定價使得將訂單與庫存匹配更加困難。Google Cloud Spanner 提供彈性擴充套件以適應需求激增,您只需根據使用情況付費。需求恢復正常後,賬單將恢復。
Google Cloud Spanner 的缺點
用於執行 Cloud Spanner 的硬體,它具有為 OLTP 資料定製的時鐘,成本相當高。
雖然寫入 API 不是完全的 SQL,但讀取 API 是的。
由於需要即時資料同步,您應該預期會有一些延遲增加。
這裡沒有混合部署功能。
您不會獲得 NoSQL。這缺乏 NoSQL 概念,例如基於 TTL 的舊資料過期。
Google Cloud Spanner 的替代方案
Cloud Spanner 的替代方案包括 Amazon Aurora、Amazon DynamoDB、Oracle 資料庫、PostgreSQL、Amazon 關係資料庫服務 (RDS)、MySQL、SAP HANA Cloud、IBM Db2、Microsoft SQL Server 和 Azure Cosmos DB。
結論
Spanner 是一款真正出色的產品,是 Google 強大技術實力的絕佳例證。如果 Google 繼續釋出此類突破性產品,它很快就會超越其他雲競爭對手,並佔據競爭地位。