本页介绍了 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 数据类型。