本頁說明如何啟用或停用 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
。
設定此旗標後,執行個體會自動重新啟動。
排解資料欄引擎問題
如果資料欄未在資料欄引擎中填入資料,可能是因為發生下列其中一種情況:
您要新增的資料欄包含不支援的資料類型。
不符合資料欄引擎的規定。
如要找出這個問題的原因,請嘗試下列做法:
後續步驟
請參閱直欄式引擎資料庫旗標的完整清單。
瞭解自動欄狀化。