Google發布了可用於分散式關聯資料庫服務Cloud Spanner的PostgreSQL介面預覽,這項新功能將能夠使更多的應用,從PostgreSQL轉移到Spanner,PostgreSQL介面讓用戶可以使用既有的工具和技能,在具全球規模、強一致性且99.999%可用性的Spanner資料庫服務,建構應用程式。

PostgreSQL是一個成熟的開源資料庫,受多個供應商支援,生態系龐大且不斷成長,而Spanner的PostgreSQL介面,則是憑藉開發者對PostgreSQL的熟悉性,以及資料庫本身的可移植性,提供獲取Spanner可擴展性和營運優勢的方法。

針對Spanner PostgreSQL介面所建立的架構(Schema)以及查詢(Query),能夠被簡單地移植到另一個PostgreSQL環境,提供使用者十足的彈性,Google提到,這對於像是受監管的金融服務特別重要,因為他們被要求展示應用程式的可移植性,以確保業務的連續性。

Google解釋,PostgreSQL介面核心是將PostgreSQL查詢,編譯成為Spanner現有的分散式查詢和儲存原語,同時還支援PostgreSQL有線協定,而配置和監控資料庫,則使用Spanner和Google雲端現有的工具,官方提到,整體操作資料的感覺,就像是使用PostgreSQL一樣,該介面實作了涉及資料庫操作的每個部分,以確保提供一致的體驗。

在最底層,PostgreSQL介面實作了PostgreSQL資料類型和DDL語法的核心子集,可讓用戶使用標準的PostgreSQL SQL來定義架構,因此用戶針對Spanner的PostgreSQL介面所撰寫的架構,也都可以用於其他相容於PostgreSQL的資料庫。不過,部分Spanner功能並沒有與PostgreSQL相對應,像是表格交錯(Table Interleaving)等,官方盡量遵循現有的PostgreSQL語法,來減少這些差異。

在架構層之上,PostgreSQL介面實作現有PostgreSQL的SQL方言中重要的部分,包括最常見的DQL和DML語法,以及許多PostgreSQL函式和運算子,另外,PostgreSQL介面針對應用程式和生態系統工具,提供方便的連接功能,Google還更新Java、JDBC、Go和Python的Spanner本機客戶端,來支援PostgreSQL查詢方言。

Google提供了開源橋接器,以側車模式運作,安裝在靠近客戶端的位置,透過支援開放的PostgreSQL有線協定,連接到Spanner執行個體,供開發人員使用psql命令列工具操作Spanner資料庫。

PostgreSQL介面的出現,讓Spanner更加開放且提高可存取性,藉由支援PostgreSQL的核心子集,能夠支援當今生產環境中的各種關鍵任務應用程式,但官方提到,這個介面不追求與PostgreSQL的100%相容性,他們只注重熟悉性和可移植性,在不降低部署靈活性的情況下,能夠大規模存取Spanner,當用戶需要更高的PostgreSQL相容性,則可以使用Cloud SQL for PostgreSQL。

熱門新聞

Advertisement