更新日期:2024年09月11日
由于GBase UP 是列存储的集群架构,因此当列数较多,访问的数据记录又非常离
散时,会造成大量的离散I/O,严重影响查询性能。
GBase UP 提供行列混存功能,即通过存储冗余行的信息,提高I/O 性能。
功能
行列混存具有以下功能:
支持SQL 语法,包括建表时定义行存列,对已存在的表创建行存列,删除行存列。
支持快速创建,并行创建行存列。
提升I/O 性能,行存列可以按更小粒度的Data Page 读取数据,而不是DC。
Server 会自动判断某场景是否需要使用行存数据。
GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 681
存储冗余方式灵活,用户可自定义数据存储及冗余方式。
行存列维护,
DML 语句自动维护行存列,
包括,
INSERT、
快速UPDATE、
DELETE、
LOAD 等。
建表语法
CREATE TABLE tablename (column-definitions, GROUPED_DEFINITIONS:
[GROUPED_DEFINITIONS]
);
GROUPED_DEFINITIONS:
GROUPED_DEFINITION [,GROUPED_DEFINITION...]
GROUPED [grouped_name](column_references)[COMPRESS(num)]
参数说明
GROUPED:关键字,表示定义的是行存列。
grouped_name:表示行存列的名称。如果不指定名称,则默认为后面的
column_references 中第一个列的名称,
如果该名称重名,
则在名称后面加上
“_#”
(#为从2 开始的一个数字)。
column_references:行存列中包含的物理列的集合,各列间以“,”分隔。
COMPRESS(num):表示行存列指定压缩方式,取值为0、3、5 中的一个。
修改表(创建/删除行存列)语法:
ALTER TABLE table_name ADD GROUPED_DEFINITIONS
ALTER TABLE table_name DROP GROUPED grouped_name
行存列的创建可以在CREATE TABLE 时指定,也可以使用ALTER TABLE...ADD
GROUPED 语句。