調整 PostgreSQL 適用的 AlloyDB 的直欄引擎

您可以調整 AlloyDB 資料欄引擎,加快資料欄儲存庫中的背景資料欄填入和重新整理工作,並控制自動分欄的執行時間。設定涵蓋維護 CPU 和 worker、自動分欄排程,以及資料欄母體堆積大小。

調整維護工作的 CPU 資源

以下範例說明如何設定資料欄引擎,使用 50% 的 CPU 核心:

google_job_scheduler.maintenance_cpu_percentage = 50

資料欄引擎最多會使用 20% 的 CPU 核心,執行背景維護工作,例如填入、重新整理和建議。如要調整維護工作的 CPU 資源,請將 google_job_scheduler.maintenance_cpu_percentage 旗標設為 0 到 100 之間的值。預設值為 20。將這個旗標設為 0,即可停用背景維護工作。如果值不為零,背景維護工作的最低 CPU 使用率為 1 個 vCPU。

新增 worker 以加速資料欄維護作業

以下範例說明如何設定四個工作站程序:

google_job_scheduler.max_parallel_workers_per_job = 4

資料欄引擎最多會使用兩個工作站程序,執行填入和重新整理背景工作。如要加快這些作業的速度,請設定下列旗標,增加背景工作的 worker 程序數量。預設設定為 2 個 worker 程序。這些程序會使用 google_job_scheduler.maintenance_cpu_percentage 旗標指定的有限 CPU 資源執行。這個旗標不需要重新啟動資料庫。

變更自動分欄排程

以下範例說明如何將自動分欄排程設為六小時:

google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'

您可以根據預期的掃描密集型工作負載,在 google_columnar_engine.auto_columnarization_schedule 旗標中設定自動分欄排程。請為這個旗標指定一或多個小時。變更這個旗標的值時,不必重新啟動資料庫。

手動填入資料欄引擎

以下範例說明如何手動填入資料欄引擎:

google_columnar_engine.enable_auto_columnarization = OFF

如果您只想手動填入資料欄引擎,請將 google_columnar_engine.enable_auto_columnarization 旗標設為 OFF。這個旗標的預設值為 ON。變更這個旗標的值時,不需要重新啟動資料庫。詳情請參閱「手動管理資料欄儲存庫內容」。

調整資料欄引擎母體堆積大小

以下範例說明如何設定 google_columnar_engine.population_heap_size_in_mb 旗標:

google_columnar_engine.population_heap_size_in_mb = 250

為將資料轉換為資料欄格式,資料欄引擎會分配 google_columnar_engine.population_heap_size_in_mb 旗標指定的記憶體量 (以 MB 為單位)。轉換完成後,系統會立即取消分配這項記憶體,通常會在幾秒內完成。

google_columnar_engine.population_heap_size_in_mb 設定的建議值介於 200 MB 到 1000 MB 之間。不過,允許的標記值為 0 到 2147483647 MB。

google_columnar_engine.population_heap_size_in_mb 旗標的預設值為 250 MB,適用於大多數一般資料庫。不過,您可能需要提高這個值。