使用 Spanner Omni 開發

使用支援的 Spanner 功能,透過 Spanner Omni 開發應用程式。雖然 Spanner Omni 與 Spanner 共用許多功能,但兩者在用戶端程式庫、指令列介面 (CLI) 和控制台功能方面有所不同。

支援的 Spanner 開發功能包括:

主要差異

雖然 Spanner Omni 適用於大部分的 Spanner 開發體驗,但下列領域有所不同:

  • 支援的用戶端程式庫:Spanner Omni 支援 Java、Go 和 Python 用戶端程式庫。

  • 指令列介面 (CLI):Spanner Omni CLI 是專用工具,與 Google Cloud CLI 不同。雖然語法類似,但執行指令時,您不需要提供 --instance 旗標。

  • 控制台限制:Spanner Omni 控制台為唯讀,因此無法用來修改部署作業或資料庫。

下列 Spanner 功能和最佳做法適用於 Spanner Omni。

最佳做法與應用實例

請按照下列最佳做法和用途,為 Spanner Omni 設計及最佳化應用程式。

  • Spanner 做為遊戲資料庫: 運用 Spanner 的擴充性和一致性,打造遊戲後端。

  • SQL 最佳做法:盡量提升查詢效能和效率。大多數概念都適用於 Spanner Omni。由於 Spanner Omni 不支援分層儲存空間,因此時間戳記述詞下推等概念可能不完全適用。此外,Spanner Omni 沒有查詢計畫視覺化功能。

語言架構

將 Spanner Omni 與熱門語言架構整合:

Hibernate ORM

使用 Hibernate 物件關聯對應 (ORM),將 Java 物件對應至 Spanner Omni 資料表。如要瞭解詳情,請參考下列資源:

GORM

將 Spanner Omni 與 GORM 整合,這是 Go 程式設計語言適用的物件關聯對應 (ORM) 工具。在 Go 應用程式中使用 GORM 的物件關聯對應功能。詳情請參閱下列文章:

交易和並行

Spanner Omni 支援下列交易管理功能:

隔離層級

瞭解 Spanner Omni 支援的不同隔離層級,確保資料一致性。

最佳化

運用這些技術,盡可能提升交易效能和處理量。

鎖定

瞭解如何使用明確鎖定功能,管理資料的並行存取權。

資料存取權和修改

使用標準 Spanner 方法存取及修改資料,包括用戶端程式庫、CLI 和 DML。

如要瞭解用戶端程式庫如何管理工作階段,請參閱「工作階段」。雖然基礎工作階段概念適用於 Spanner Omni,但它僅支援多工工作階段

讀取資料

使用各種方法從 Spanner Omni 讀取資料,包括過時讀取和導向讀取。

修改資料

使用 DML、變異或 CLI 修改資料。

資料類型

Spanner Omni 支援下列資料類型,可代表應用程式的資料:

開發和測試

設定開發環境和應用程式行為,確保效能穩定可靠,並妥善處理錯誤。

串流輸出資料變更

Spanner 變更串流會近乎即時地追蹤資料庫變更,例如插入、更新和刪除。這些詳細資料由 DDL 管理,可擷取整個資料庫或特定資料表的主鍵和修訂時間戳記等詳細資料。Spanner 和 Spanner Omni 的功能幾乎相同,但 Spanner Omni 不支援 Dataflow。

詳情請參閱:

使用 Spanner 全文搜尋 (FTS) 功能,在資料表中搜尋字詞、詞組或數字。FTS 會讀取最新提交的資料。

FTS 的主要功能包括:

如要使用 FTS,請在要搜尋的資料欄上建立搜尋索引。 Spanner 會將這些資料欄中的資料拆解為個別字詞。新增資料時,系統會立即更新索引。

FTS 搜尋功能提供標準文字比對以外的進階功能,例如:

Spanner 和 Spanner Omni 的 FTS 功能一致。

Spanner 中的全文搜尋差異

Spanner 支援 Spanner 中的核心 FTS 功能,但有下列差異:

  • Spanner Omni 不支援加強查詢模式

  • Spanner 中的「執行個體」等同於 Spanner Omni 中的「部署」。

後續步驟