在 AlloyDB Omni 中設定資料欄引擎

選取說明文件版本:

本頁說明如何啟用或停用 AlloyDB Omni 資料庫叢集的資料欄引擎。也會說明如何為資料欄儲存區設定適當的初始大小。

如需 AlloyDB 資料欄引擎的概念總覽,請參閱「AlloyDB Omni 資料欄引擎總覽」。

啟用資料欄引擎

如要在例項上使用資料欄引擎,請將例項的 google_columnar_engine.enabled 旗標設為 on

單一伺服器

如要將 google_columnar_engine.enabled 設為 on,請按照下列步驟操作:

  1. 執行 PostgreSQL ALTER SYSTEM 指令

    ALTER SYSTEM SET google_columnar_engine.enabled = 'on'
    
  2. 如要調整直欄式引擎的設定,請先按照下一節的說明操作,再重新啟動資料庫伺服器。如否,請完成下列步驟,立即重新啟動資料庫伺服器。

  3. 如要讓設定參數變更生效,請重新啟動資料庫伺服器:

     sudo systemctl restart alloydbomni18

設定資料欄儲存空間大小

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

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

設定記憶體

您可以使用 google_columnar_engine.memory_size_in_mb 標記,將分配大小設為固定大小。

單一伺服器

如要在執行個體上設定 google_columnar_engine.memory_size_in_mb 旗標,請執行下列操作:

  1. 執行 ALTER SYSTEM PostgreSQL 指令,設定記憶體:

    ALTER SYSTEM SET google_columnar_engine.memory_size_in_mb = COLUMN_MEMORY_SIZE;
    

    COLUMN_MEMORY_SIZE 替換為新的資料欄儲存空間大小 (以 MB 為單位),例如 256

  2. 如要讓設定參數變更生效,請重新啟動資料庫伺服器:

    sudo systemctl restart alloydbomni18

設定儲存空間快取

單一伺服器

共用或專屬裝置

您可以在專用或共用裝置上設定資料欄引擎儲存空間快取。

佈建及掛接快取目錄

在專用裝置上,您需要佈建磁碟、建立檔案系統、將快取目錄掛接到主機路徑 (例如 /var/lib/postgresql/18/data/columnar_cache),並確保 postgres 使用者擁有寫入權限。

啟用資料欄儲存空間快取
  1. 執行 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 為單位。
  2. 重新啟動資料庫伺服器:

    sudo systemctl restart alloydbomni18

啟用向量化聯結

資料欄引擎具有向量化 join 功能,可對符合條件的查詢套用向量化處理,進而提升 join 作業的效能。

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

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

如要在執行個體上設定這個旗標,請執行 PostgreSQL ALTER SYSTEM 指令

ALTER SYSTEM SET google_columnar_engine.enable_vectorized_join = 'on';

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

手動重新整理資料欄引擎

預設情況下,啟用資料欄引擎後,系統會在背景重新整理資料欄儲存空間。

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

SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');

TABLE_NAME 替換為要手動重新整理的資料表或 materialized view 名稱。

停用資料欄引擎

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

單一伺服器

如要將 google_columnar_engine.enabled 設為 off,請按照下列步驟操作:

  1. 執行 PostgreSQL ALTER SYSTEM 指令
ALTER SYSTEM SET google_columnar_engine.enabled = 'off'
  1. 如要讓設定參數變更生效,請重新啟動資料庫伺服器:

    sudo systemctl restart alloydbomni18

後續步驟