AlloyDB Omni 簡介

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 專屬元件。

下圖顯示兩組元件,包括元件所在的基礎架構層,以及每個元件的功能。

AlloyDB Omni 元件架構,顯示 AlloyDB for PostgreSQL 專屬元件和 PostgreSQL 元件。

圖 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 的程序執行。

後續步驟