在 AlloyDB Omni 中設定資料欄引擎

選取說明文件版本:

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

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

啟用資料欄引擎

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

Kubernetes

如要將 google_columnar_engine.enabled 旗標設為 on,請修改資料庫叢集資訊清單,在 primarySpec 區段中新增 parameters 屬性:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: CLUSTER_NAME
    spec:
      databaseVersion: "16.8.0"
      primarySpec:
        parameters:
          google_columnar_engine.enabled: "on"

CLUSTER_NAME 換成資料庫叢集的名稱。也就是建立資料庫叢集時所宣告的名稱。

設定資料欄儲存空間大小

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

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

設定記憶體

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

Kubernetes

如要設定 google_columnar_engine.memory_size_in_mb 旗標,請修改資料庫叢集資訊清單,在 primarySpec 區段中新增 parameters 屬性:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: CLUSTER_NAME
    spec:
      databaseVersion: "16.8.0"
      primarySpec:
        parameters:
          google_columnar_engine.memory_size_in_mb: "COLUMN_MEMORY_SIZE"

更改下列內容:

  • CLUSTER_NAME:資料庫叢集的名稱。也就是建立資料庫叢集時所宣告的名稱。
  • COLUMN_MEMORY_SIZE:資料欄儲存空間的新大小,以 MB 為單位,例如 256

設定儲存空間快取

Kubernetes

如要為資料庫啟用儲存空間快取,請修改資料庫叢集資訊清單,在 primarySpec 區段的 features 區段中新增 columnarSpillToDisk 屬性:

apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: CLUSTER_NAME
spec:
  databaseVersion: "16.8.0"
  primarySpec:
    features:
      columnarSpillToDisk:
        cacheSize: STORAGE_CACHE_SIZE
      ultraFastCache:
        cacheSize: ULTRAFAST_CACHE_SIZE
        genericVolume:
          storageClass: "STORAGE_CLASS_NAME"
...

更改下列內容:

  • CLUSTER_NAME:資料庫叢集的名稱。也就是建立資料庫叢集時所宣告的名稱。
  • STORAGE_CACHE_SIZE:資料欄儲存空間快取的大小,例如 5Gi。如果未指定這個欄位的值,系統預設會將 5% 的磁碟快取分配給直欄引擎。
  • ULTRAFAST_CACHE_SIZE:快取大小,例如 100Gi。必須大於 shared_buffers。這是選填欄位。如果您未指定這個欄位的值,AlloyDB Omni 會使用磁碟上所有剩餘空間,這適用於容器和 Kubernetes 叢集中的 AlloyDB Omni。如要進一步瞭解計量單位,請參閱「記憶體資源單位」。
  • STORAGE_CLASS_NAME:超高速快取磁碟區的儲存空間類別名稱,例如 local-storage

啟用向量化聯結

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

啟用向量化聯結後,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 替換為要手動重新整理的資料表或具體化檢視名稱。

停用資料欄引擎

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

Kubernetes

如要將 google_columnar_engine.enabled 旗標設為 off,請修改資料庫叢集資訊清單,在 primarySpec 區段中新增 parameters 屬性:

  apiVersion: alloydbomni.dbadmin.goog/v1
  kind: DBCluster
  metadata:
    name: CLUSTER_NAME
  spec:
    databaseVersion: "16.8.0"
    primarySpec:
      parameters:
        google_columnar_engine.enabled: "off"

CLUSTER_NAME 換成資料庫叢集的名稱。也就是建立資料庫叢集時所宣告的名稱。

後續步驟