400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
本文档介绍了系统配置参数中 数据表类别的相关参数。
注意!
为确保系统稳定与安全,请务必谨慎手动修改相关参数。
当 CREATE TABLE
命令未显式指定访问方式时,设置默认的表访问方式。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
enum | heap | heap / ao_row / ao_column / mars2 / mars3 | master;session |
使用不包含 DISTRIBUTED BY
子句的 CREATE TABLE
或 CREATE TABLE AS
创建 HEAP 表时,控制表的创建。
CREATE TABLE
,如果此参数值为 off
(缺省值),并且创建表命令不包含 DISTRIBUTED BY
子句,YMatrix 数据库将根据以下命令选择表分布键:LIKE
或 INHERITS
子句,则 YMatrix 将从源表或父表复制分布键。PRIMARY KEY
或 UNIQUE
约束,则 YMatrix 会选择所有键列的最大子集作为分布键。LIKE
或 INHERITS
子句,则 YMatrix 选择第一个合适的列作为分布键。(具有几何或用户定义数据类型的列不符合 YMatrix 分布键列的条件。)on
,则当未指定 DISTRIBUTED BY
子句时,YMatrix 数据库将遵循这些规则来创建表:PRIMARY KEY
或 UNIQUE
列,则表的分布是随机的(DISTRIBUTED RANDOMLY
)。即使表创建命令包含 LIKE
或 INHERITS
子句,表分发也是随机的。PRIMARY KEY
或 UNIQUE
列,则还必须指定 DISTRIBUTED BY
子句。如果未将 DISTRIBUTED BY
子句指定为表创建命令的一部分,则该命令将失败。CREATE TABLE AS
命令:off
,则根据该命令确定表分发策略。on
,则表分发策略是随机的。数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;system;reload |
使用 CREATE TABLE 命令创建表时,设置以下表存储选项的默认值。
ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'
。使用面向列的表和 RLE 压缩在 mytest 数据库中创建追加优化的表。你需要在 WITH
子句中仅指定 appendoptimized=TRUE
。gpconfig -c 'gp_default_storage_options' -v 'appendoptimized=true, orientation=column'
。gpconfig -s 'gp_default_storage_options'
。默认值 | 取值范围 | 设置分类 |
---|---|---|
appendoptimized=FALSE blocksize=32768 checksum=TRUE compresstype=none compresslevel=0 orientation=ROW |
appendoptimized= TRUE / FALSE blocksize= integer between 8192 and 2097152 checksum= TRUE / FALSE compresstype= ZLIB / ZSTD / QUICKLZ2 / RLE_TYPE / NONE compresslevel= integer between 0 and 19 orientation= ROW / COLUMN |
使用 gpconfig 工具指定:master;session;reload 建表时指定:table |
在 VACUUM
命令期间启用压缩 Segment 文件。
VACUUM
仅将 Segment 文件截断为 EOF
值,当前行为也是如此。数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | on | master;session;reload;superuser |
指定在没有 FULL
选项(惰性 VACUUM
)的情况下运行 VACUUM
时隐藏行与触发压缩 Segment 文件的总行的阈值比率(百分比)。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 10 | 0 ~ 100 | master;session;reload |
指定在非成熟文件系统中,对 AO 表进行安全写入操作的最小尺寸。
0
的字节数时,追加优化的写入器将填充数据添加到该数字,以防止由于文件系统错误导致的数据损坏。32768
。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 0 | 0 ~ INT_MAX | master;system;restart |
压缩阈值。用于控制单表多少元组(Tuple)进行一次压缩,是同一个单元中压缩的 Tuple 数上限。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 1000 | 1 ~ 10000 | table |
用于控制所有的 MARS2 表,L0 达到多少个 Run 触发合并。
level0_merge_threshold
。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 32 | 10 ~ 2048 | master;session/system;reload |
用于控制单表 L0 达到多少个 Run 触发合并。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 32 | 1 ~ 2048 | table |
控制单表 L0 -> L1 升级的大小(MB),当 L0 发生合并后结果 Run 超过这个大小将升级到 L1。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 25 | 1 ~ 10000 | table |
控制单表 L1 -> L2 升级的大小(MB),当 L1 发生合并后结果 Run 超过这个大小将升级到 L2。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 1000 | 1 ~ 10000 | table |
控制单个插入的排序内存大小(KB),如果插入目标表是分区表,它们将共享这个大小。
2097152KB
,即 2GB。取值范围为 128KB ~ 2147483647KB
(即 2048GB)。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 2097152 | 128 ~ 2147483647 | master;session/system;reload |
控制单个分区表至少分配多少排序内存。
16384KB
,即 16MB。取值范围为 128KB ~ 2147483647KB
(即 2048GB)。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 16384 | 128 ~ 2147483647 | master;session/system;reload |
注意!
此部分参数需在建表时使用WITH
子句配置,适用于单表,且一旦配置便无法修改。
压缩阈值。用于控制单表多少元组(Tuple)进行一次压缩,是同一个单元中压缩的 Tuple 数上限。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 1200 | 1 ~ 100000 | table |
指定 Level 尺寸的放大系数。
rowstore_size * (level_size_amplifier ^ level)
。其值越大,读速越慢,写速越快。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 8 | 1 ~ 1000 | table |
指定 MARS3 内部的数据加载模式。
normal
表示正常模式,新写入数据先写到 L0 层的行存 Run 中,积累到 rowstore_size
之后,落至 L1 层的列存 Run,相对于 bulk
模式会多一次 I/O,列存转换由同步变成了异步,但适用于 I/O 能力充足且对延迟敏感的高频次小批量写入场景。bluk
表示批量加载模式,适用于低频大批量写入场景,直接写至 L1 层的列存 Run,相对于 normal
模式,减少了一次 I/O,列存转换由异步变成了同步,适用于 I/O 能力不足且对延迟不敏感的低频大批量的数据写入。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
enum | normal | normal / bluk | table |
用于控制 L0 Run 何时切换。当数据大小超过该参数值(以 MB 为单位),将会切换下一个 Run。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 64 | 8 ~ 1024 | table |
开启/关闭对象存储的文件系统缓存。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;session;reload |
设置多久更新一次会话的访问授权。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 0 | 0 ~ INT_MAX | master;system;reload |
数据库后台任务定时探测满足数据转储要求与否的时间间隔(单位 s)。
mxstop -u
重启加载配置才能生效数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 3600 | 1 ~ INT_MAX | master;system;reload |
开启/关闭对象存储的内存缓存。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;session;reload |
开启/关闭自动转储功能。
mxstop -u
重启加载配置才能生效数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;system;reload |
启用或禁用在 Segment 主机上执行操作系统命令或脚本的外部表的使用(CREATE EXTERNAL TABLE EXECUTE
语法)。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | on | master;system;restart |
从外部表读取数据时启用过滤器下推。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | on | master;session;reload |
设置在外部表操作期间扫描外部表数据的 Segment 数量,目的是使系统不要超载扫描数据并从其他并发操作中夺走资源。
gpfdist://
协议访问外部表数据的外部表。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 64 | 1 ~ INT_MAX | master;session;reload |
假设此参数值为 n
,YMatrix 数据库在使用 COPY
命令或从外部表导入数据时,如果处理的前 n
行包含格式错误,则停止处理输入行。
n
行中处理有效行,则 YMatrix 数据库继续处理输入行。0
将禁用此限制。COPY
命令或外部表定义指定 SEGMENT REJECT LIMIT
子句,以限制被拒绝的行数。INT_MAX
是可以作为整数存储在系统中的最大值。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 1000 | 0 ~ INT_MAX | master;session;reload |
对于 COPY
和外部表 SELECT
上的单行错误处理,设置在 SEGMENT REJECT LIMIT n PERCENT
开始计算之前处理的行数。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 300 | 0 ~ INT_MAX | master;session;reload |
丢弃来自 gpfdist v1 协议的数据包。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;session;reload |
当 SQL 查询从外部表读取时,参数值指定当数据停止从外部表返回时,YMatrix 数据库在取消查询之前等待的时间(以秒为单位)。
0
,指定没有超时。YMatrix 数据库不会取消查询。gpfdist
的查询运行很长时间然后返回错误间歇性网络连接问题
,则可以为 readable_external_table_timeout
设定值。 如果 gpfdist
在指定的时间内没有返回任何数据,YMatrix 数据库将取消该查询。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 0 | 0 ~ INT_MAX | master;system;reload |
YMatrix 数据库用于网络通信的缓冲区大小(KB),例如 gpfdist
实用程序和外部 Web 表(使用 HTTP)。
32KB ~ 131072KB
(即 128MB)。数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 64 | 32 ~ 131072 | segments;session;reload |
使用 gpfdists
协议定义 YMatrix 数据库外部表以使用 SSL 安全性时,此参数控制是否启用 SSL 证书身份验证。
on
,当 YMatrix 数据库与 gpfdist
实用程序通信以从外部数据源读取数据或将数据写入外部数据源时,将启用 SSL 身份验证。off
将禁用 SSL 证书身份验证。忽略这些 SSL 异常:gpfdist
使用的自签名 SSL 证书。gpfdist
的主机名不匹配。off
以在测试 YMatrix 数据库外部表与提供外部数据的 gpfdist
实用程序之间的通信时禁用身份验证。gpfdists
SSL 证书来禁用 SSL 证书身份验证会暴露安全风险。数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | on | master;session;reload |