如需 AlloyDB 資料欄引擎的概念總覽,請參閱「AlloyDB Omni 資料欄引擎總覽」。
啟用資料欄引擎
如要在執行個體上使用資料欄引擎,請將執行個體的 google_columnar_engine.enabled 旗標設為 on。
如要將 google_columnar_engine.enabled 參數設為 on,請完成下列步驟:
開啟
DBCluster資料庫叢集資訊清單。在
primarySpec區段下方,將google_columnar_engine.enabled參數新增至parameters區塊:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on"將
DB_CLUSTER_NAME替換為資料庫叢集名稱。RPM 協調器會自動重新啟動資料庫,以套用參數變更。使用下列任一方法套用更新後的
DBCluster資訊清單:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
Ansible
建立
update.yml應對手冊檔案:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.update更改下列內容:
SSH_USER:您使用 SSH 連線至叢集節點時的使用者名稱。SSH_KEY_PATH:SSH 私密金鑰檔案的本機路徑,用於連線至節點。
從控制節點執行教戰手冊,並將資源規格做為額外變數傳遞:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
設定資料欄儲存庫的大小
在執行個體上啟用資料欄引擎後,AlloyDB Omni 會分配一部分的執行個體記憶體,用於儲存資料欄資料。將高速 RAM 專門用於資料欄儲存庫,可確保 AlloyDB Omni 能盡快存取資料欄資料。
記憶體和儲存空間快取共同代表資料欄引擎的整體容量。
設定記憶
您可以使用 google_columnar_engine.memory_size_in_mb 旗標,將分配量設為固定大小。
如要設定 google_columnar_engine.memory_size_in_mb 參數,請完成下列步驟:
開啟
DBCluster資料庫叢集資訊清單。在
primarySpec區段下方,將資料欄引擎設定新增至parameters區塊:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on" google_columnar_engine.memory_size_in_mb: "MEMORY_SIZE_MB"更改下列內容:
DB_CLUSTER_NAME:資料庫叢集的名稱。MEMORY_SIZE_MB:要分配給資料欄引擎的記憶體量,以 MB 為單位。
RPM 協調器會自動重新啟動資料庫,以套用參數變更。使用下列任一方法套用更新後的
DBCluster資訊清單:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
Ansible
建立
update.yml應對手冊檔案:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.update更改下列內容:
SSH_USER:您使用 SSH 連線至叢集節點時的使用者名稱。SSH_KEY_PATH:SSH 私密金鑰檔案的本機路徑,用於連線至節點。
從控制節點執行教戰手冊,並將資源規格做為額外變數傳遞:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
設定儲存空間快取
您可以在專用或共用裝置上,設定資料欄引擎儲存空間快取。
專用裝置
如要為資料欄引擎儲存空間快取設定專用裝置,請完成下列步驟:
開啟
DBCluster資料庫叢集資訊清單。在
primarySpec區段下方,將含有cacheSize和localVolume.path的columnarSpillToDisk屬性新增至features區塊:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE localVolume: path: COLUMNAR_CACHE_DIR_PATH更改下列內容:
DB_CLUSTER_NAME:資料庫叢集的名稱。STORAGE_CACHE_SIZE:資料欄引擎儲存體快取的大小限制,例如50Gi。COLUMNAR_CACHE_DIR_PATH:資料欄引擎儲存體快取專用目錄的檔案系統路徑,例如/mnt/disks/columnarcache。
使用
alloydbctl或 Ansible 套用更新後的DBCluster資訊清單:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
Ansible
建立
update.yml應對手冊檔案:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.update更改下列內容:
SSH_USER:您使用 SSH 連線至叢集節點時的使用者名稱。SSH_KEY_PATH:SSH 私密金鑰檔案的本機路徑,用於連線至節點。
從控制節點執行教戰手冊,並將資源規格做為額外變數傳遞:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
共用裝置
如果未在 columnarSpillToDisk 下方指定 localVolume.path,資料欄引擎儲存空間快取會共用在 ultraFastCache 下方設定的磁碟快取儲存空間。
如要在共用裝置上設定資料欄引擎儲存空間快取,請完成下列步驟:
開啟
DBCluster資料庫叢集資訊清單。在
primarySpec區段下方,將columnarSpillToDisk和ultraFastCache屬性新增至features區塊:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE ultraFastCache: cacheSize: ULTRAFAST_CACHE_SIZE localVolume: path: DISK_CACHE_DIR_PATH更改下列內容:
DB_CLUSTER_NAME:資料庫叢集的名稱。STORAGE_CACHE_SIZE:資料欄儲存空間快取的大小,例如50Gi。如未指定這個欄位的值,系統預設會將 5% 的磁碟快取分配給資料欄引擎。ULTRAFAST_CACHE_SIZE:AlloyDB Omni 保留的超快速快取緩衝區大小上限,例如100Gi。如未設定,系統會使用localVolume.path的所有剩餘磁碟空間。DISK_CACHE_DIR_PATH:超快速快取檔案的資料夾路徑,例如/mnt/disks/chillcache。
使用
alloydbctl或 Ansible 套用更新後的DBCluster資訊清單:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
Ansible
建立
update.yml應對手冊檔案:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.update更改下列內容:
SSH_USER:您使用 SSH 連線至叢集節點時的使用者名稱。SSH_KEY_PATH:SSH 私密金鑰檔案的本機路徑,用於連線至節點。
從控制節點執行教戰手冊,並將資源規格做為額外變數傳遞:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
啟用向量化 join
資料欄引擎具備向量化 join 功能,可對符合條件的查詢套用向量化處理,提升 join 效能。
啟用向量化 join 後,AlloyDB 查詢規劃器可以選擇套用向量化 join 運算子,而非標準 PostgreSQL 雜湊 join 運算子。規劃器會比較使用各個方法執行查詢的成本,然後做出決定。
如要為執行個體啟用向量化 join,請將執行個體的 google_columnar_engine.enable_vectorized_join 旗標設為 on。
google_columnar_engine.enable_vectorized_join: "on" 新增至 DBCluster 資訊清單的 parameters 部分。詳情請參閱「設定 AlloyDB Omni 資料庫參數」。
AlloyDB Omni 預設會將一個執行緒分配給向量化 join 功能。您可以將 google_columnar_engine.vectorized_join_threads 旗標設為較大的值,增加這項功能可用的執行緒數量。最大值為 cpu_count * 2。
手動重新整理資料欄引擎
根據預設,資料欄引擎啟用後,會在背景重新整理資料欄儲存庫。
如要手動重新整理資料欄引擎,請執行下列 SQL 查詢:
SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');
將 TABLE_NAME 替換為要手動重新整理的資料表或 materialized view 名稱。
停用資料欄引擎
如要停用執行個體的資料欄引擎,請將 google_columnar_engine.enabled 旗標設為 off。
如要將 google_columnar_engine.enabled 參數設為 off,請完成下列步驟:
開啟
DBCluster資料庫叢集資訊清單。在
primarySpec區段下,將parameters區塊中的google_columnar_engine.enabled參數設為off:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "off"將
DB_CLUSTER_NAME替換為資料庫叢集名稱。RPM 協調器會自動重新啟動資料庫,以套用參數變更。使用下列任一方法套用更新後的
DBCluster資訊清單:alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
Ansible
建立
update.yml應對手冊檔案:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.update更改下列內容:
SSH_USER:您使用 SSH 連線至叢集節點時的使用者名稱。SSH_KEY_PATH:SSH 私密金鑰檔案的本機路徑,用於連線至節點。
從控制節點執行教戰手冊,並將資源規格做為額外變數傳遞:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"更改下列內容:
DEPLOYMENT_SPEC_PATH:Deployment 規格目錄的路徑。DBCLUSTER_SPECIFICATION:您修改的DBCluster資訊清單路徑。
後續步驟
試用程式碼實驗室:在 AlloyDB Omni 使用資料欄引擎,加快數據分析查詢速度。