列式引擎标志

本页介绍了 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_UNITSDAYSHOURS

如果未定义,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.enabledon,则列式引擎会保持启用状态并保留其列存储,但 AlloyDB Omni 在处理查询时不会使用列式数据。

google_columnar_engine.storage_cache_size

如需启用存储缓存大小,您必须启用磁盘缓存

类型Integer
有效值10242147483647
默认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
有效值0100
默认20
实例重启

在实例的 CPU 容量中,列式引擎可用于后台处理的容量所占的最大百分比。

google_job_scheduler.max_parallel_workers_per_job

类型Integer
有效值0262143
默认2
实例重启

为了完成任何单个后台处理操作,列式引擎可以创建的并行工作器数量上限。

自动刷新 - 事件驱动

google_columnar_engine.refresh_threshold_percentage

类型Integer
有效值1100
默认50
实例重启

指定列存储区的数据刷新阈值(以百分比表示)。

当满足以下条件时,AlloyDB Omni 会刷新列式单元(列式表格中的一组数据块)中的数据:

  • 列单元的表已超出单独的 refresh_threshold_scan_count 标志定义的扫描阈值。

  • 柱状单元的底层数据块中已失效的数据块所占的百分比超出了 refresh_threshold_percentage 标志的值。由于基于行的列数据发生变化,列式数据块会失效。

google_columnar_engine.refresh_threshold_scan_count

类型Integer
有效值02147483647
默认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_UNITSDAYSHOURS

如果未定义,AlloyDB Omni 会每小时运行一次自适应自动刷新流程。

google_columnar_engine. min_adaptive_auto_refresh_blocks

类型Integer
有效值02147483647
默认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 数据类型