返回首页

gbase数据、南大通用产品文档:GBase8a创建新的distribution

更新日期:2024年09月11日

操作步骤
步骤1:将安装目录下的gcChangeInfo.xml 复制到gcS_vc1.xml 文件,然后去掉待
缩容的节点IP。
修改后的gcS_vc1.xml 文件参考如下:
$cp gcChangeInfo.xml gcS_vc1.xml
$cat gcS_vc1.xml







步骤2:执行创建distribution 的命令。
$ gcadmin distribution gcS_vc1.xml p 1 d 1 vc vc1
gcadmin generate distribution ...
gcadmin generate distribution successful
完成后的集群信息如下:

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
282
$ gcadmin
CLUSTER STATE:
ACTIVE
================================================================
|
GBASE COORDINATOR CLUSTER INFORMATION
|
================================================================
|
NodeName
|
IpAddress
| gcware | gcluster | DataState |
----------------------------------------------------------------
| coordinator1 | 172.168.83.11 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator2 | 172.168.83.12 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator3 | 172.168.83.13 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator4 | 172.168.83.15 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
=============================================
|
GBASE VIRTUAL CLUSTER INFORMATION
|
=============================================
|
VcName
| DistributionId |
comment
|
---------------------------------------------
|
vc1
|
4,5
|
|
---------------------------------------------
|
vc2
|
2
|
|
---------------------------------------------
2 virtual cluster: vc1, vc2
4 coordinator node
0 free data node
$ gcadmin showdistribution vc vc1
Distribution ID: 5 | State: new | Total segment num: 2
Primary Segment Node IP
Segment ID
uplicate Segment node IP
===================================================================
|

由于GBase 8a MPP Cluster 是列存储的架构,因此当列数较多,访问的数据记录
又非常离散时,会造成大量的离散I/O,引起I/O 性能及有效性低下,严重影响执
行性能。
冗余行存储总体的实现逻辑为:将需要冗余的各列数据拼成行,以单独一列的形
式存储,相当于在原始表上添加了一列,该列为VARCHAR 类型,存储着对应的
行数据。行存列的管理与普通列大体相同,但DC 被划分为多个page,可以根据
要访问的page 进行加载,不需要读取整个DC。
行列混存功能,
通过冗余行存储来有效提高I/O 性能,
可将典型SELECT * FROM
场景的性能提升一个数量级。
1.
优化特性:

支持行存列压缩存储,减少冗余。

行存列以更小粒度的Data Page 读取数据,减少无效I/O,提升查询性能。

使用gbase_hybrid_store 配置参数控制是否使用行存数据,
用于对比测试、

查错误等,该参数取值为:

0:不使用;

1:server 自动判断是否使用;

2:强制使用,有则一定使用。
自动判断逻辑,如果满足以下条件则使用:

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1317

字段被定义为行存列;

RowsPerDC 的值小于等于参数_gbase_hybrid_store_limit 的定义值;
RowsPerDC:就是当前查询所返回的记录数/命中的DC 个数。

存储冗余方式灵活,用户可自定义行存列中的字段,主要是通过select 语句
中投影列出现的频率来选择行存列应该包括哪些字段。
2.
优化限制:
行存列数据暂时不用于scan、join、group 等运算,目前仅能用于单表查询带
order by 的select(即物化)部分以及order by 的相关列,如:
SELECT * FROM t [ WHERE … ] ORDER BY ...;
3.
优化参数:

查询时是否使用行存列参数:gbase_hybrid_store=0(不使用)/1(自动判断
/2(强制使用),该参数默认值为1。

行存列存储时的页大小:
gbase_hybrid_store_page_size=<1k –1G> ,
默认
值32K。

返回结果中平均DC 返回记录数的上限:
_gbase_hybrid_store_limit=<1-65536>,默认值100。
4.
其它特性及限制:

支持建表时指定行存列;

支持在已有表上新增行存列;

支持删除行存列;

支持一个表上建立多个行存列,但行存列不能重名;

行存列的数据更新由系统自动维护,对用户透明。当用户执行INSERT、
快速UPDATE、DELETE、LOAD 等时,系统会自动更新冗余的数据;

不支持修改行存列的定义,只能先手工删除再重建行存列;

行存列的原始列定义不允许删除或修改数据属性(但允许更改列名称和
列顺序);

原始列的数据不允许做批量update 操作(整列替换模式);

同一grouped 中所有列的总长度不允许超过32KB;

行存列支持分区表,允许原始列上有索引。

GBA-02BR-0070
错误码
错误标识
错误信息
GBA-02BR-0070

node's gnode is not OPEN
错误出现原因
节点gnode 状态不正常
分析与建议
检查节点集群状态

GBase 8a MPP Cluster 产品手册
7 附录
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1671