設定資料欄引擎

本頁說明如何啟用或停用 AlloyDB for PostgreSQL 執行個體的資料欄引擎。此外,本文也說明如何為資料欄儲存區設定適當的初始大小,以及如何設定記憶體和儲存空間快取,以獲得最佳效能。

如要在使用 AlloyDB Omni 時使用資料欄引擎,請參閱「在 AlloyDB Omni 中啟用資料欄引擎」。

這些動作都會變更其中一個 AlloyDB 執行個體的資料庫旗標值。如要進一步瞭解如何設定資料庫旗標,請參閱「設定執行個體的資料庫旗標」。

如要瞭解 AlloyDB 資料欄引擎的概念總覽,請參閱「關於 AlloyDB 資料欄引擎」。

啟用資料欄引擎

如要在執行個體上使用資料欄引擎,請將執行個體的 google_columnar_engine.enabled 標記設為 on

設定此旗標後,執行個體會自動重新啟動。

如要進一步瞭解如何在 AlloyDB 中設定資料庫標記,請參閱「設定執行個體的資料庫標記」。

設定資料欄儲存空間大小

在執行個體上啟用資料欄引擎後,AlloyDB 會分配部分執行個體記憶體來儲存資料欄資料。將高速 RAM 專用於資料欄儲存庫,可確保 AlloyDB 盡可能快速存取資料欄資料。

記憶體和儲存空間快取加總,代表資料欄引擎的整體容量。

設定資料欄引擎的記憶體

如果資料欄儲存空間大於執行個體記憶體的分配部分,AlloyDB 會自動使用執行個體的基礎快取層,儲存額外的資料欄資料。

根據預設,AlloyDB 會將執行個體記憶體的 30% 分配給資料欄儲存庫,並在您調整執行個體大小時,自動調整總分配量。您可以將執行個體的記憶體修改為最多 50%。如要找出執行個體建議的資料欄引擎記憶體大小,請參閱「建議資料欄儲存空間記憶體大小」。

您也可以使用 google_columnar_engine.memory_size_in_mb 標記,將分配量設為固定且特定的大小。如要讓 AlloyDB 回到預設分配方式,請從執行個體中移除旗標

如要進一步瞭解如何設定或刪除標記,請參閱「設定執行個體資料庫標記」。

設定資料欄引擎的儲存空間快取

資料欄引擎的儲存空間快取會根據執行個體層級佈建。

執行個體層級 預設資料欄引擎快取大小
主要執行個體 唯讀備用資源執行個體
2 個 vCPU 18.75 GB 37.5 GB
4 個 vCPU 18.75 GB 37.5 GB
8 個 vCPU 18.75 GB 37.5 GB
16 個 vCPU 37.5 GB 37.5 GB
32 個 vCPU 75 GB 75 GB
64 個 vCPU 150 GB 150 GB
96 個 vCPU 300 GB 300 GB
128 個 vCPU 450 GB 450 GB

google_columnar_engine.storage_cache_size 標記可讓您調整資料欄引擎儲存空間快取,但須遵守下表列出的最小值和最大值限制:

執行個體層級 資料欄引擎快取大小下限 資料欄引擎快取大小上限
主要執行個體 唯讀備用資源執行個體
2 個 vCPU 0 187.5 GB 375 GB
4 個 vCPU 0 187.5 GB 375 GB
8 個 vCPU 0 187.5 GB 375 GB
16 個 vCPU 0 375 GB 375 GB
32 個 vCPU 0 750 GB 750 GB
64 個 vCPU 0 1500 GB 1500 GB
96 個 vCPU 0 3000 GB 3000 GB
128 個 vCPU 0 4500 GB 4500 GB

監控資料欄引擎的儲存空間快取資料

如要查看直欄引擎的儲存空間快取資訊,可以執行下列其中一項 SQL 查詢。

SQL 查詢 說明
SELECT google_columnar_engine_storage_cache_used(); 傳回使用的資料欄引擎儲存空間快取大小。
SELECT google_columnar_engine_storage_cache_available(); 傳回未使用的資料欄引擎儲存空間快取大小。

如要檢查直欄引擎的儲存空間快取設定大小,請執行下列指令:

  SHOW google_columnar_engine.storage_cache_size;

啟用向量化聯結

直欄式引擎具有向量化聯結功能,可對符合條件的查詢套用向量化處理,藉此提升聯結效能。

啟用向量化聯結後,AlloyDB 查詢規劃工具可選擇套用向量化聯結運算子,而非標準 PostgreSQL 雜湊聯結運算子。規劃工具會比較使用這兩種方法執行查詢的費用,然後做出這項決定。

如要在執行個體上啟用向量化聯結,請將執行個體的 google_columnar_engine.enable_vectorized_join 旗標設為 on

如要進一步瞭解如何設定資料庫旗標,請參閱「設定執行個體資料庫旗標」。

AlloyDB 預設會為向量化聯結功能分配一個執行緒。您可以將 google_columnar_engine.vectorized_join_threads 旗標設為較大的值,增加這項功能可用的執行緒數量。

手動重新整理資料欄引擎

根據預設,啟用直欄引擎後,系統會在背景自動重新整理直欄存放區。在某些情況下,您可能需要手動重新整理資料欄儲存空間,例如自動重新整理功能未重新整理含有大量無效區塊的關係時。

如要手動重新整理資料欄引擎,請執行下列 SQL 查詢:

SELECT google_columnar_engine_refresh('TABLE_NAME');

TABLE_NAME 替換為要手動重新整理的資料表或具體化檢視名稱。

停用資料欄引擎

如要在執行個體上停用 Columbar 引擎,請將 google_columnar_engine.enabled 標記設為 off

如要進一步瞭解如何在 AlloyDB 中設定資料庫標記,請參閱「設定執行個體的資料庫標記」。

設定此旗標後,執行個體會自動重新啟動。

排解資料欄引擎問題

如果資料欄未在資料欄引擎中填入資料,可能是因為發生下列其中一種情況:

  • 您要新增的資料欄包含不支援的資料類型。

  • 不符合資料欄引擎的規定。

如要找出這個問題的原因,請嘗試下列做法:

  • 查看執行個體的稽核記錄

  • 確認查詢中的資料表或具體化檢視區塊位於直欄引擎中。

  • 使用 EXPLAIN 陳述式,驗證資料欄引擎的使用情況。

後續步驟