AlloyDB Omni 是可下載的資料庫軟體套件,可讓您在管理的運算環境中,部署精簡版的 AlloyDB for PostgreSQL。AlloyDB Omni 和 Google Cloud上的全代管 AlloyDB 服務共用相同的核心元件。AlloyDB 使用雲端原生分散式儲存層,AlloyDB Omni 則部署在您選擇的儲存空間。
AlloyDB Omni 具備可攜性,可在多種環境中執行,包括:
- 私人資料中心
- 任何公有雲
- 筆電
- 雲端式 VM 執行個體
除了標準 PostgreSQL 之外,AlloyDB Omni 還提供多項強化功能,可支援擴充性、可用性、可靠性、效能、AI 和自然語言。詳情請參閱「AlloyDB Omni 對標準 PostgreSQL 的新增功能」。
AlloyDB Omni 用途
AlloyDB Omni 適用於下列情境:
- 您需要可擴充的高效能 PostgreSQL 版本,但基於法規或資料主權要求,必須在地端部署環境執行。
- 您需要一個即使與網際網路中斷連線,仍能繼續執行的資料庫。
- 您想從舊版資料庫遷移,但不想使用 AlloyDB for PostgreSQL 等全代管雲端服務。
主要功能與特色
- 與 PostgreSQL 完全相容的資料庫伺服器。
- 支援 AlloyDB AI,可讓您使用營運資料建構企業級生成式 AI 應用程式。
- 與 Google Cloud AI 生態系統整合,包括 Vertex AI Model Garden 和開放原始碼生成式 AI 工具。
支援Google Cloud 中 AlloyDB for PostgreSQL 適用的自動輔助功能,讓 AlloyDB Omni 自行管理及調整。
舉例來說,AlloyDB Omni 支援自動記憶體管理,以及自動清理過時資料。
AlloyDB Omni 資料欄引擎:以記憶體內資料欄格式保存相關資料,加快數據分析查詢、報表和混合型交易與分析處理 (HTAP) 工作負載。
AlloyDB Omni 網頁使用者介面,可讓您以圖形方式監控遙測資料,以及稽核自行管理叢集的設定。
在效能測試中,AlloyDB Omni 的交易工作負載速度比標準 PostgreSQL 快 2 倍以上,分析查詢速度則快達 100 倍。
AlloyDB Omni 部署選項
在 Google Cloud 控制台,您可以直接從「AlloyDB Omni」到達網頁,探索部署選項、存取學習資源及管理授權:
控制台到達網頁有兩個主要分頁:
- 部署選項:提供量身打造的路徑和指南,協助您在不同基礎架構環境中安裝 AlloyDB Omni,並提供程式碼實驗室和 AI 示範。
- 訂閱:集中管理正式部署作業的授權。您可以根據 vCPU 總數計算及購買授權、調度 vCPU 資源、查看費用,以及管理承諾使用折扣。
您可以透過下列其中一種部署選項安裝 AlloyDB Omni:

使用容器的 AlloyDB Omni:獨立資料庫容器。在 Linux 系統上執行 AlloyDB Omni,並配備 SSD 儲存空間,每個 CPU 至少有 8 GB 記憶體。
使用容器自動調度管理工具的 AlloyDB Omni:Kubernetes 環境中容器的一部分。AlloyDB Omni Kubernetes 運算子是 Kubernetes API 的擴充功能,可讓您在多數符合 CNCF 規定的 Kubernetes 環境中執行 AlloyDB Omni。
AlloyDB Omni operator 可簡化基本資料庫作業,讓您自動執行單一或高可用性 (HA) 部署作業,以及備份、還原、容錯移轉和設定跨區域災難復原 (DR) 等第 2 天作業。
使用 RPM 的 AlloyDB Omni:直接在 VM 或裸機中執行的獨立套件。使用 RPM 的 AlloyDB Omni 會以一組整合式軟體元件的形式,直接在主機作業系統上執行。它使用標準 Linux 檔案系統進行儲存,讓您可以使用現有的儲存基礎架構和管理做法。
使用 RPM 自動調度管理工具的 AlloyDB Omni:適用於 VM 或裸機伺服器的 Red Hat Package Manager (RPM) 部署。這個選項包含一個自動化調度管理平台,可在非 Kubernetes 環境中自動部署及管理。這項服務可將雲端般的彈性延伸至您選擇的基礎架構,不需使用 Docker 等容器化層。
應用程式會連線至 AlloyDB Omni 資料庫並與其通訊,就像連線至標準 PostgreSQL 資料庫伺服器並與其通訊一樣。使用者存取控管也採用 PostgreSQL 標準。
您可以使用資料庫旗標設定 AlloyDB Omni 資料庫行為,包括記錄、清理和資料欄引擎。詳情請參閱「可用的 AlloyDB Omni 下載和安裝選項」。
以容器形式執行 AlloyDB Omni
Google 會以容器形式發布 AlloyDB Omni,您可以使用 Docker 和 Podman 等容器執行階段執行。您也可以在 Kubernetes 環境中部署 AlloyDB Omni 容器,並自動執行許多基本作業。
在作業方面,容器具有下列優勢:
- 透明的依附元件管理:所有必要依附元件都會封裝在容器中,並由 Google 測試,確保與 AlloyDB Omni 完全相容。
- 可攜性:AlloyDB Omni 在不同環境中的運作方式一致。
- 安全隔離:您可以選擇 AlloyDB Omni 容器在主機上可存取的內容。
- 資源管理:您可以定義要讓 AlloyDB Omni 容器使用的運算資源量。
- 順暢修補和升級:如要修補容器,請將現有映像檔替換為新映像檔。
RHEL 環境中的 AlloyDB Omni
AlloyDB Omni 為 RHEL 環境提供兩種部署選項,視自動化和擴充需求而定。
使用 RPM 的 AlloyDB Omni
RPM 部署選項是獨立的 Red Hat Package Manager (RPM) 安裝作業,適用於需要非容器化 AlloyDB Omni 資料庫的環境。這個選項支援 RHEL 9 和 Rocky Linux 9。
- 直接整合 OS:做為一組整合式軟體元件,直接在主機作業系統 (OS) 上執行。
- 現有儲存空間:使用標準 Linux 檔案系統 (ext4 和 xfs),支援現有的儲存空間基礎架構和管理做法。
- 簡單:適合需要與主機 OS 深度整合的單一執行個體設定,不需額外的調度管理層。
RPM 自動調度管理工具
RPM 自動調度管理工具部署選項使用的 RPM 套件,與使用 RPM 的 AlloyDB Omni 相同,但新增了自動調度管理平台,可在非 Kubernetes 環境中自動管理。
- 雲端般的彈性:將自動化功能延伸至地端部署基礎架構,處理啟動、容錯移轉和生命週期管理。
- 自動化架構:與 Ansible 等熱門工具整合,讓團隊能運用現有技能。您也可以使用專門的指令列工具。
- Enterprise 功能:專為透過集中式叢集管理工具,支援高可用性 (HA) 和災難復原 (DR) 而設計。
資料備份與災害復原
AlloyDB Omni 具備持續備份和復原系統,可讓您根據可調整保留期限內的任何時間點,建立新的資料庫叢集。這樣一來,您就能從資料遺失意外中復原。
此外,AlloyDB Omni 還能視需求或定期建立及儲存資料庫叢集資料的完整備份。您隨時可以從備份還原至 AlloyDB Omni 資料庫叢集,其中包含建立備份時原始資料庫叢集的所有資料。
如要進一步復原災難,您可以在不同的資料中心建立次要資料庫叢集,實現跨資料中心複製。AlloyDB Omni 會以非同步方式,將資料從指定的主要資料庫叢集串流至各個次要叢集。如有需要,您可以將次要資料庫叢集升級為主要 AlloyDB Omni 資料庫叢集。
AlloyDB Omni 元件
AlloyDB Omni 包含兩組架構元件:具備 AlloyDB Omni 強化功能的 PostgreSQL 元件,以及 AlloyDB Omni 專屬元件。
下圖顯示這兩組元件,包括元件所在的基礎架構層,以及各元件的功能。

資料儲存
AlloyDB Omni 會將資料儲存在固定大小的頁面中,這些頁面會儲存在基礎檔案系統中。當查詢需要存取資料時,AlloyDB Omni 會先檢查緩衝區集區。如果緩衝集區中找不到包含所需資料的頁面,AlloyDB Omni 會從檔案系統讀取所需頁面。
從緩衝集區存取資料的速度,明顯快於從檔案系統讀取。盡可能提高應用程式存取資料的緩衝區集區大小,是重要因素。您也可以視需要新增超高速快取層,進一步提升查詢效能。
資源管理
AlloyDB Omni 採用自動動態記憶體管理功能,可根據系統的記憶體需求,在設定的範圍內動態擴充及縮減緩衝集區。因此,您不需要調整緩衝集區大小。診斷效能問題時,請先考量緩衝集區命中率和讀取率等指標,判斷應用程式是否能從緩衝集區中受益。如果沒有,表示應用程式的資料集不適合緩衝集區,建議您調整大小,改用記憶體較大的機器。
擷取、篩選、彙整、排序及投影資料的程序,都需要資料庫伺服器的 CPU 資源。如要減少這項程序所需的 CPU 資源量,請盡可能減少要操控的資料量。監控資料庫伺服器的 CPU 使用率,確保穩定狀態的使用率約為 70%。這個數量可讓伺服器有足夠的空間,因應使用率激增或存取模式隨時間變化的情況。如果使用率接近 100%,會因為程序排程和情境切換而產生額外負擔,並可能在系統的其他部分造成瓶頸。決定機器規格時,高 CPU 使用率是另一項重要指標。
每秒輸入/輸出作業數 (IOPS) 是資料庫應用程式效能的重要因素,可衡量基礎儲存裝置每秒可向資料庫提供多少輸入或輸出作業。為避免超出資料庫儲存空間的 IOPS 限制,請盡量減少對儲存空間的讀取和寫入作業。盡可能增加緩衝區集區或快取層中的資料量。
資料欄引擎
內建的資料欄引擎可加快分析查詢處理速度,這類查詢通常涉及完整資料表掃描、複雜的彙整和匯總作業。
記憶體內資料欄儲存庫:包含所選資料欄的資料表和 materialized view 資料,並以資料欄導向格式呈現。根據預設,資料欄儲存庫會耗用 30% 的可用記憶體。如要變更資料欄儲存庫可用的記憶體容量,請在 AlloyDB Omni 執行個體使用的
postgresql.conf中設定google_columnar_engine.memory_size_in_mb參數。資料欄查詢規劃工具和執行引擎:可讓您在查詢使用資料欄儲存庫。
詳情請參閱「關於 AlloyDB for PostgreSQL 資料欄引擎」。
自動記憶體管理
自動記憶體管理工具會持續監控及最佳化整個 AlloyDB Omni 執行個體的記憶體用量。執行工作負載時,這個模組會根據記憶體壓力調整共用緩衝區快取大小。
根據預設,自動記憶體管理工具會將上限設為系統記憶體的 80%,並將系統記憶體的 10% 分配給共用緩衝區快取。如要變更共用緩衝區快取的大小上限,請在 AlloyDB Omni 執行個體使用的 postgresql.conf 中設定 shared_buffers 參數。
自動調整 autovacuum
可調整的自動清理功能會依據資料庫工作負載分析作業,並自動調整清理頻率。這項自動調整功能可協助資料庫維持最佳效能,即使工作負載變更,也不會受到清理程序干擾。
自動調整自動清理功能會根據下列因素,決定清理作業的頻率和強度:
- 資料庫大小
- 資料庫中的無效元組數量
- 資料庫中資料的年齡
- 每秒交易數與預估清理速度
- 資源使用率
AI/機器學習工作站
在 AlloyDB Omni 中,AI/機器學習背景 worker 提供必要功能,可直接從資料庫呼叫 Vertex AI 模型。AI/機器學習工作站會以名為 omni ml worker 的程序執行。
網頁 UI
選用的網頁版 UI 是自行管理的網頁控制台,可讓您觀測資料庫執行個體。
這個介面會對應自訂功能的圖形資訊主頁,例如資料欄引擎和模型端點整合,這些是典型開放原始碼 PostgreSQL 視覺化工具無法追蹤的功能。
完成下列選用設定,安裝並連線至網頁 UI:
自動調度管理工具控制層
RPM 自動調度管理工具部署選項會使用集中式叢集管理工具,自動執行整個叢集的作業,包括啟動和容錯移轉。
管理介面
RPM 協調器部署選項提供指令列公用程式 (alloydbctl) 和 Ansible 角色,可讓您大規模管理一或多個叢集。
效能最佳化
RPM 協調器部署選項包含 PgBouncer 整合式支援,可進行連線集區,以及 HAProxy,可跨讀寫和唯讀端點進行負載平衡。
後續步驟
開始使用下列 AlloyDB Omni 部署選項:
瞭解如何安裝及連線至網頁版 UI: