本页面介绍了 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% 或 1,000 * 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 数据类型。