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 版本,但由於法規或資料主權要求,您必須在內部部署環境中執行。
- 您需要一個資料庫,即使與網際網路中斷連線,也能繼續運作。
- 您想遷移舊版資料庫,但不想採用 PostgreSQL 適用的 AlloyDB 等全代管雲端服務。
主要功能與特色
- 與 PostgreSQL 完全相容的資料庫伺服器。
- 支援 AlloyDB AI,協助您使用營運資料建構企業級生成式 AI 應用程式。
- 與 Google Cloud AI 生態系統整合,包括 Vertex AI Model Garden 和開放原始碼生成式 AI 工具。
支援 PostgreSQL 適用的 AlloyDB 的自動駕駛功能,讓 AlloyDB Omni 自行管理及調整。Google Cloud
舉例來說,AlloyDB Omni 支援自動記憶體管理,以及自動清理過時資料。
AlloyDB Omni 資料欄引擎,可將相關資料以記憶體中的資料欄格式保存,加快分析查詢、報表、混合型交易和分析處理 (HTAP) 工作負載的效能。
根據效能測試結果,AlloyDB Omni 處理交易工作負載的速度比標準 PostgreSQL 快 2 倍以上,處理分析查詢的速度最多快 100 倍。
AlloyDB Omni 的運作方式
您可以透過下列方式安裝 AlloyDB Omni:
適用於容器的 AlloyDB Omni:獨立的資料庫容器。在 Linux 系統上執行 AlloyDB Omni,並使用 SSD 儲存空間,且每個 CPU 至少有 8 GB 的記憶體。
Kubernetes 適用的 AlloyDB Omni: Kubernetes 環境中的容器部分。AlloyDB Omni Kubernetes 運算子是 Kubernetes API 的擴充功能,可讓您在多數符合 CNCF 規定的 Kubernetes 環境中執行 AlloyDB Omni。
AlloyDB Omni 運算子可簡化基本資料庫作業,讓您自動執行單一或高可用性 (HA) 部署作業,以及備份、還原、容錯移轉和設定跨區域災難復原 (DR) 等第 2 天作業。
Linux 版 AlloyDB Omni (預先發布版): Red Hat Package Manager (RPM) ,可直接在 VM 或裸機上執行。Linux 版 AlloyDB Omni 會以一組整合式軟體元件的形式,直接在主機作業系統上執行。它使用標準 Linux 檔案系統進行儲存,讓您能沿用現有的儲存基礎架構和管理做法。
應用程式會連線至 AlloyDB Omni 資料庫並與之通訊,就像應用程式連線至標準 PostgreSQL 資料庫伺服器並與之通訊一樣。使用者存取權控管也依據 PostgreSQL 標準。
從記錄到清除,再到資料欄引擎,您都可以使用資料庫標記設定 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 for Linux (預先發布版) 適用於偏好非容器化資料庫部署作業的環境。這個部署模型支援裸機伺服器和虛擬機器。
您可以使用標準作業系統套件管理工具,直接在 Red Hat Enterprise Linux (RHEL) 或 Red Hat 相容環境中安裝 AlloyDB Omni for Linux。
Linux 版 AlloyDB Omni 支援 RHEL 9 和 Rocky Linux 9。
資料備份與災害復原
AlloyDB Omni 具有持續備份和復原系統,可讓您根據可調整保留期限內的任何時間點,建立新的資料庫叢集。這樣一來,您就能在資料遺失時復原。
此外,AlloyDB Omni 還能視需求或定期建立及儲存資料庫叢集資料的完整備份。您可以隨時從備份還原至 AlloyDB Omni 資料庫叢集,其中包含建立備份時原始資料庫叢集的所有資料。
您可以在不同的資料中心建立次要資料庫叢集,進一步進行災難復原,實現跨資料中心複製。AlloyDB Omni 會將指定主要資料庫叢集的資料,非同步串流至每個次要叢集。如有需要,您可以將次要資料庫叢集升級為主要 AlloyDB Omni 資料庫叢集。
AlloyDB Omni 元件
AlloyDB Omni 包含兩組架構元件:PostgreSQL 元件 (含 AlloyDB 強化功能) 和 AlloyDB 專屬元件。
下圖顯示兩組元件,包括元件所在的基礎架構層,以及每個元件的功能。

圖 1. AlloyDB Omni 架構
資料儲存
AlloyDB Omni 會將資料儲存在固定大小的頁面中,這些頁面會儲存在基礎檔案系統中。查詢需要存取資料時,AlloyDB Omni 會先檢查緩衝區集區。如果緩衝區集區中找不到包含必要資料的頁面,AlloyDB Omni 就會從檔案系統讀取必要頁面。
從緩衝區集區存取資料的速度,遠比從檔案系統讀取資料快。盡量擴大應用程式存取資料的緩衝區集區大小,是重要的考量因素。您也可以視需要新增超高速快取層,進一步提升查詢效能。
資源管理
AlloyDB Omni 採用自動動態記憶體管理機制,可讓緩衝區集區在設定的界限內,根據系統的記憶體需求動態擴增和縮減。因此不需要調整緩衝區集區大小。診斷效能問題時,請先考慮緩衝區集區命中率和讀取率等指標,判斷應用程式是否受益於緩衝區集區。如果不是,表示應用程式的資料集不適合緩衝區集區,您可能需要調整大小,改用記憶體較多的較大機器。
擷取、篩選、彙整、排序及投射資料的程序,都需要資料庫伺服器上的 CPU 資源。如要減少這個程序所需的 CPU 資源量,請盡量減少要操控的資料量。監控資料庫伺服器的 CPU 使用率,確保穩定狀態的使用率約為 70%。這個金額在伺服器上留有足夠的空間,可因應使用率尖峰或存取模式隨時間變化的情況。如果使用率接近 100%,會因程序排程和內容切換而產生額外負擔,並可能在系統的其他部分造成瓶頸。高 CPU 使用率是另一個重要指標,可做為決定機器規格的依據。
每秒輸入/輸出作業數 (IOPS) 是影響資料庫應用程式效能的重要因素,可衡量基礎儲存裝置每秒可為資料庫提供的輸入或輸出作業數。為避免超出資料庫儲存空間的 IOPS 限制,請盡量減少讀取和寫入儲存空間的次數,並盡可能將更多資料放入緩衝區集區或快取層。
資料欄引擎
內建的資料欄引擎可加快分析查詢處理速度,這類查詢通常會涉及完整資料表掃描、複雜的聯結和匯總。
記憶體內資料欄儲存空間:以資料欄導向格式,儲存所選資料欄的資料表和具體化檢視區塊資料。根據預設,資料欄儲存空間會耗用 30% 的可用記憶體。如要變更資料欄儲存庫可用的記憶體量,請在 AlloyDB Omni 執行個體使用的
postgresql.conf中設定google_columnar_engine.memory_size_in_mb參數。直欄式查詢規劃工具和執行引擎:支援在查詢中使用直欄儲存區。
自動記憶體管理
自動記憶體管理工具會持續監控及最佳化整個 AlloyDB Omni 執行個體的記憶體用量。執行工作負載時,這個模組會根據記憶體壓力調整共用緩衝區快取大小。
根據預設,自動記憶體管理工具會將上限設為系統記憶體的 80%,並為共用緩衝區快取分配 10% 的系統記憶體。如要變更共用緩衝區快取大小的上限,請在 AlloyDB Omni 執行個體使用的 postgresql.conf 中設定 shared_buffers 參數。
自動調整自動真空
可調整的自動清理功能會根據資料庫的工作負載分析作業,並自動調整清理作業的頻率。這項自動調整功能可協助資料庫維持最佳效能,即使工作負載有所變化,也不會受到清除程序干擾。
自動調節自動清除功能會根據下列因素,決定清除作業的頻率和強度:
- 資料庫大小
- 資料庫中無效元組的個數
- 資料庫中資料的年齡
- 每秒交易數與預估清除速度
- 資源使用率
AI/機器學習工作人員
在 AlloyDB Omni 中,AI/ML 背景工作人員提供必要功能,可直接從資料庫呼叫 Vertex AI 模型。AI/機器學習工作者會以名為 omni ml worker 的程序執行。
後續步驟
- 選擇 AlloyDB Omni 部署環境。
- 開始使用容器專用的 AlloyDB Omni。
- 開始使用 Kubernetes 適用的 AlloyDB Omni。
- 開始使用 Linux 版 AlloyDB Omni。