本页介绍了 AlloyDB Omni 用于启用和管理其列式引擎专用功能的数据库标志。如需查看 AlloyDB Omni 支持的所有数据库标志的列表,请参阅支持的数据库标志。
如果标志带有实例重启标记,则表示每当您在 AlloyDB Omni 实例上设置、移除或修改此标志时,都必须重启该实例。除非您再次修改,否则实例的此标志值会一直保留。
如需了解如何设置数据库标志,请参阅配置 AlloyDB Omni 数据库标志。
启用
google_columnar_engine.enabled
| 类型 | Boolean |
| 默认 | off |
| 实例重启 | 是 |
如果为 on,则启用 AlloyDB Omni 列式引擎。
自动列式处理
google_columnar_engine.enable_auto_columnarization
| 类型 | Boolean |
| 默认 | on |
| 实例重启 | 否 |
如果为 on,则启用列式引擎的自动列式化功能。
google_columnar_engine.relations
| 类型 | String |
| 默认 | 一个空白字符串 |
| 实例重启 | 否 |
除了自动列化流程之外,还指定要将 AlloyDB Omni 添加到集群列存储区中的列列表。这些列可以来自集群中的任何表。
该标志的值采用逗号分隔的项列表格式。每个项都指定单个表中的一个或多个列,采用以下格式表示:
'DATABASE_NAME.SCHEMA_NAME.TABLE_NAME(COLUMN_LIST)'
如需了解详情,请参阅手动管理列存储内容。
google_columnar_engine.auto_columnarization_schedule
| 类型 | String |
| 默认 | 一个空白字符串 |
| 实例重启 | 否 |
| 允许的最大值 | 2147483647 |
指定 AlloyDB Omni 在实例上运行自动列化流程的频率。
该值是以下格式的字符串:
'EVERY NUMBER TIME_UNITS'
替换以下内容:
NUMBER:一个正整数。
TIME_UNITS:
DAYS或HOURS。
如果未定义,AlloyDB Omni 会每小时运行一次自动列化流程。
大小调整和查询处理
google_columnar_engine.memory_size_in_mb
| 类型 | Integer |
| 有效值 | 介于 128 到表示实例内存 70% 的值之间 |
| 默认 | 1 GB 实例内存 |
| 实例重启 | 是 |
AlloyDB Omni 分配给列存储区的实例内存量(以兆比字节 [MiB] 为单位)。
如果未设置此标志,AlloyDB Omni 会将实例的内存 1 GB 分配给列存储区。
google_columnar_engine.enable_columnar_scan
| 类型 | Boolean |
| 默认 | on |
| 实例重启 | 否 |
如果为 on,则允许 AlloyDB Omni 在处理查询时访问列存储区中的数据。
如果此标志为 off,而 google_columnar_engine.enabled 为 on,则列式引擎会保持启用状态并保留其列存储,但 AlloyDB Omni 在处理查询时不会使用列式数据。
google_columnar_engine.storage_cache_size
如需启用存储缓存大小,您必须启用磁盘缓存。
| 类型 | Integer |
| 有效值 | 1024 至 2147483647 |
| 默认 | 5% of the disk cache is allocated to the columnar engine |
| 实例重启 | 是 |
如果为 on,则允许 AlloyDB Omni 为列式引擎配置存储缓存的大小。
此标志允许的最大值是总磁盘缓存的 50%,或 1000 * google_columnar_engine.memory_size_in_mb,以较小者为准。
维护活动
google_job_scheduler.maintenance_cpu_percentage
| 类型 | Integer |
| 有效值 | 0 至 100 |
| 默认 | 20 |
| 实例重启 | 否 |
在实例的 CPU 容量中,列式引擎可用于后台处理的容量所占的最大百分比。
google_job_scheduler.max_parallel_workers_per_job
| 类型 | Integer |
| 有效值 | 0 至 262143 |
| 默认 | 2 |
| 实例重启 | 否 |
为了完成任何单个后台处理操作,列式引擎可以创建的并行工作器数量上限。
自动刷新 - 事件驱动
google_columnar_engine.refresh_threshold_percentage
| 类型 | Integer |
| 有效值 | 1 至 100 |
| 默认 | 50 |
| 实例重启 | 否 |
指定列存储区的数据刷新阈值(以百分比表示)。
当满足以下条件时,AlloyDB Omni 会刷新列式单元(列式表格中的一组数据块)中的数据:
列单元的表已超出单独的
refresh_threshold_scan_count标志定义的扫描阈值。柱状单元的底层数据块中已失效的数据块所占的百分比超出了
refresh_threshold_percentage标志的值。由于基于行的列数据发生变化,列式数据块会失效。
google_columnar_engine.refresh_threshold_scan_count
| 类型 | Integer |
| 有效值 | 0 至 2147483647 |
| 默认 | 5 |
| 实例重启 | 否 |
AlloyDB Omni 会持续统计每个列式表中自最近一次 DML 查询以来所执行的表扫描次数。refresh_threshold_scan_count 标志的值指定了任何列式表上此计数器的最小值,AlloyDB Omni 必须达到此值才能刷新其数据。然后,AlloyDB Omni 使用 refresh_threshold_percentage 定义的无效分块阈值来确定何时刷新表的数据。
如果此标志的值设为 0,则 AlloyDB Omni 会忽略表扫描,而仅使用 refresh_threshold_percentage 来确定何时刷新列数据。
自动刷新 - 周期性和自适应
google_columnar_engine.adaptive_auto_refresh_schedule
| 类型 | String |
| 默认 | 一个空白字符串 |
| 实例重启 | 否 |
| 允许的最大值 | 2147483647 |
指定 AlloyDB Omni 在实例上运行自适应自动刷新进程的频率。
该值是以下格式的字符串:
'EVERY NUMBER TIME_UNITS'
替换以下内容:
NUMBER:一个正整数。
TIME_UNITS:
DAYS或HOURS。
如果未定义,AlloyDB Omni 会每小时运行一次自适应自动刷新流程。
google_columnar_engine. min_adaptive_auto_refresh_blocks
| 类型 | Integer |
| 有效值 | 0 至 2147483647 |
| 默认 | 50 |
| 实例重启 | 否 |
列单元的基础数据块中已失效的数据块数量超出了 min_adaptive_auto_refresh_blocks 标志的值。由于基于行的列数据发生变化,列式数据块会失效。
向量化联接
google_columnar_engine.enable_vectorized_join
| 类型 | Boolean |
| 默认 | off |
| 重启实例 | No |
如果为 on,AlloyDB Omni 会自动使用多线程向量化运算来提升联接多个表的查询的性能。
如需了解详情,请参阅启用矢量化联接。
google_columnar_engine.vectorized_join_threads
| 类型 | Integer |
| 有效值 | 最多为实例 vCPU 数量的一半 |
| 默认 | 1 |
| 重启实例 | No |
定义矢量化联接运算符可用的并行线程数量上限,由 enable_vectorized_join 标志启用。
您可以定义的值不超过实例 vCPU 数量的一半。例如,在 16 vCPU 实例中,此标志的最大值为 8。
预览版功能
google_columnar_engine.enable_json_support
| 类型 | Boolean |
| 默认 | off |
| 重启实例 | No |
如果此标志和 enable_raw_format 都设置为 on,则 AlloyDB Omni 允许在列存储区中使用 PostgreSQL JSON 和 JSONB 数据类型。
google_columnar_engine.enable_raw_format
| 类型 | Boolean |
| 默认 | off |
| 重启实例 | No |
如果此标志和 enable_json_support 都设置为 on,则 AlloyDB Omni 允许在列存储中使用 PostgreSQL JSON 和 JSONB 数据类型。