如需 AlloyDB 資料欄引擎的概念總覽,請參閱「AlloyDB Omni 資料欄引擎總覽」。
啟用資料欄引擎
如要在例項上使用資料欄引擎,請將例項的 google_columnar_engine.enabled 旗標設為 on。
單一伺服器
如要將 google_columnar_engine.enabled 設為 on,請按照下列步驟操作:
執行
ALTER SYSTEMPostgreSQL 指令:ALTER SYSTEM SET google_columnar_engine.enabled = 'on'如要調整資料欄引擎的設定,請先按照下一節的指示操作,再重新啟動資料庫伺服器。否則,請完成下列步驟,立即重新啟動資料庫伺服器。
如要讓設定參數變更生效,請重新啟動資料庫伺服器:
sudo systemctl restart alloydbomni18
設定資料欄儲存庫的大小
在執行個體啟用資料欄引擎後,AlloyDB Omni 會分配部分執行個體記憶體,用於儲存資料欄資料。將高速 RAM 專用於資料欄儲存庫,可確保 AlloyDB Omni 盡可能快速存取資料欄資料。
記憶體和儲存空間快取共同代表資料欄引擎的整體容量。
設定記憶體
您可以使用 google_columnar_engine.memory_size_in_mb 旗標,將分配大小設為固定大小。
單一伺服器
如要為執行個體設定 google_columnar_engine.memory_size_in_mb 旗標,請按照下列步驟操作:
執行
ALTER SYSTEMPostgreSQL 指令,設定記憶體:ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_MEMORY_SIZE;將
COLUMN_MEMORY_SIZE替換為新的資料欄儲存空間大小 (以 MB 為單位),例如256。如要讓設定參數變更生效,請重新啟動資料庫伺服器:
sudo systemctl restart alloydbomni18
設定儲存空間快取
單一伺服器
共用或專用裝置
您可以在專用或共用裝置上設定資料欄引擎儲存空間快取。
佈建及掛接快取目錄
在專用裝置上,您需要佈建磁碟、建立檔案系統、將快取目錄掛接在主機路徑 (例如 /var/lib/postgresql/18/data/columnar_cache),並確保該目錄具備 postgres 使用者的寫入權限。
啟用資料欄儲存空間快取
執行
ALTER SYSTEM,設定快取目錄路徑和大小:ALTER SYSTEM SET google_columnar_engine.omni_storage_cache_directory = 'CACHE_DIR_PATH'; ALTER SYSTEM SET google_columnar_engine.storage_cache_size = STORAGE_CACHE_SIZE;更改下列內容:
CACHE_DIR_PATH:快取目錄的路徑 (例如/var/lib/postgresql/18/data/columnar_cache)。STORAGE_CACHE_SIZE:資料欄引擎 儲存空間快取的大小,以 MB 為單位。
重新啟動資料庫伺服器:
sudo systemctl restart alloydbomni18
啟用向量化 join
資料欄引擎具有向量化 join 功能,可對符合條件的查詢套用向量化處理,進而提升 join 的效能。
啟用向量化 join 後,AlloyDB 查詢規劃工具就能選擇套用向量化 join 運算子,而非標準 PostgreSQL 雜湊 join 運算子。規劃器會比較使用各方法執行查詢的成本,然後做出決定。
如要為執行個體啟用向量化 join,請將執行個體的 google_columnar_engine.enable_vectorized_join 旗標設為 on。
如要在執行個體上設定這個旗標,請執行 ALTER SYSTEM PostgreSQL 指令:
ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';
AlloyDB Omni 預設會將一個執行緒分配給向量化 join 功能。如要增加這項功能可用的執行緒數量,請將 google_columnar_engine.vectorized_join_threads 旗標設為較大的值。最大值為 cpu_count * 2。
手動重新整理資料欄引擎
預設情況下,啟用資料欄引擎後,系統會在背景重新整理資料欄儲存空間。
如要手動重新整理資料欄引擎,請執行下列 SQL 查詢:
SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');
將 TABLE_NAME 替換為要手動重新整理的資料表或具體化檢視表名稱。
停用資料欄引擎
如要停用執行個體的資料欄引擎,請將 google_columnar_engine.enabled 旗標設為 off。
單一伺服器
如要將 google_columnar_engine.enabled 設為 off,請按照下列步驟操作:
ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
如要讓設定參數變更生效,請重新啟動資料庫伺服器:
sudo systemctl restart alloydbomni18
後續步驟
試用程式碼實驗室:在 AlloyDB Omni 使用資料欄引擎,加快數據分析查詢速度。