返回首页

gbase数据、南大通用产品文档:GBase8s行绑定

更新日期:2024年09月11日

GCI 接口对于行绑定的模式支持相对灵活,绑定时根据内存块申请策略不同,设定不同
的偏移量。
典型的有:
1.行集只包含数据,空值指示,长度指示缓存各自独立申请数组
A
B
C
i ndA
i ndB
i ndC
r l enA
r l enB
r l enC




此种情况下,
数据缓存按行申请一个内存快,
长度指示与空值指示各自申请对应的
缓存数组,空值指示和长度指示与列式绑定申请同样的内存。
此时GCIBindArrayOfStruct 或GCIDefineArrayOfStruct 调用参数为:
GCIDefineArrayOfStruct(define,pos,rowsize,2,2,0);或
GCIDefineArrayOfStruct(define,pos,rowsize,0,0,0);
2.行集包含空值指示和长度指示


此时,内存申请是数据和空值+长度指示的行集数组,只有一个内存块,偏移量设定统
一为行长(包含空值和长度指示)
设定偏移量:GCIDefineArrayOfStruct(define,pos,rowsize,rowsize,rowsize,0);
3.行集,空值指示,长度指示各自申请缓存块

此时,内存申请总计为三块,分别式行集,空值指示缓存以及长度指示缓存块。
设定偏移量:GCIDefineArrayOfStruct(define,pos,rowsize,6,6,0);


注:GCI 接口在行绑定模式中,数据集的行集是必须分配一整块内存的。只有空值和长度指
示内存块可以灵活的进行设定。
6 数据库对象访问
Oracle 数据库对象访问类似于ODBC 的目录函数,
主要用于获取数据库对象的描述信息。
GCI 接口目前支持四种类型的访问,分别是:
l
GCI_PTYPE_PKG:包对象访问
l
GCI_PTYPE_PROC:存储过程或函数对象的访问
l
GCI_PTYPE_TABLE:表对象
l
GCI_PTYPE_VIEW:视图
r ow
buf poi nt er
A
B
C
i ndA
i ndB
i ndC
r l enA
r l enB
r l enC
r ow
buf poi nt er
A
B
C
i ndA
i ndB
i ndC
r l enA
r l enB
r l enC
A
B
C
i ndA
i ndB
i ndC
r l enA
r l enB
r l enC


操作场景
多实例部署仅V9.5.3 支持。指在一个物理服务器上部署多个data 集群节点,每个
data 集群节点称为一个数据库实例。
GBase 8a MPP Cluster 在高配服务器(通常采用非统一内存访问架构,简称NUMA
架构)上部署时(如:内存大于256G,CPU 逻辑核数大于32),通过在一台服务
器上部署多个数据库实例的方式提升集群的性能。GBase 8a MPP Cluster 在每个服
务器上安装部署多个data 节点。每个data 节点都有一个独立IP 地址,不同节点间
通过IP 地址来区分。每台物理服务器上最多只能部署一个gcluster 节点和一个
gcware 节点。
部署建议

建议为每个data 节点申请一个独立的IP 地址。

建议同一服务器上的多个data 节点的IP 尽量不连续,这样可以避免加载时默
认多个连续IP 的数据节点取数据导致压力集中在部分服务器上,使部分服务
器压力过大产生木桶效应。

建议gcware 节点、gcluster 节点的个数为奇数个,每个物理服务器上最多只能
部署1 个gcware 节点和1 个gcluster 节点。gcware 集群和gcluster 集群均是半
数以上节点正常时可对外提供正常服务,所以通常部署奇数个节点,且不允许
一个服务器上部署超过1 个节点。

多实例部署,可以将每个物理服务器当做一个机架,在生成distribution 时按照
机架高可用的方式生成distribution,从而避免表的主备数据分片都位于同一个
物理机上。
如:服务器一:172.16.3.61, 172.16.3.64
服务器二:172.16.3.62, 172.16.3.65
Pattern 1
备份到其他rack 机架
Pattern 2
备份到相邻节点
distribution
gcChangeInfo.xml









GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
99
Pattern 1
备份到其他rack 机架
Pattern 2
备份到相邻节点











根据每个服务器的numa 节点个数、内存大小、集群规模、业务场景(负载)
等评估每个服务器上部署的机器节点个数。
建议每个服务器部署不超过4 个实
例,每个实例可使用的内存不低于32GB。在4 个NUMA 节点的服务器上,每
个NUMA 对应一个实例;在8 个或更多NUMA 节点的服务器上,2 个或多个
NUMA 节点对应一个实例。

建议gcware 节点和gcluster 节点部署在一个numa 节点上,不与data 节点部署
在一起。
注意
编辑gcChangeInfo_vcall.xml 文件时要使同一服务器的每个ip 的分片
都备份到其他服务器上。
如果使用pattern 1 创建distribution,
需要将同一服务器的ip 放到一个
rack 上,使其备分片全部落到相邻rack 上,保证备份片和主分片落在不同
的服务器上;
如果使用pattern 2 创建distribution,因为该模式是将备分片放到相邻
的IP 上,
所以需要将不同服务器的IP 在gcChangeInfo_vcall.xml 中相邻排
放。

语法
ALTER ENCRYPTION CERTIFICATE OPEN IDENTIFIED BY ‘password’
说明

根据口令打开密文密钥证书,需要用户输入口令对证书解密获取加密密钥,才能对
存储数据加密/解密。
ALTER ENCRYPTION CERTIFICATE CLOSE;

关闭密钥证书,关闭后无法对数据加密/解密,会影响加密列的DML 操作

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
449
注:明文密钥不可关闭,需将明文密钥转为密文密钥才可以关闭。
示例如下:
-----------打开密钥证书示例
gbase> alter encryption certificate open identified by '1111';
Query OK, 0 rows affected (Elapsed: 00:00:04.76)
------------重复open
gbase> alter encryption certificate open identified by '1111';
ERROR 1829 (HY000): encryption certificate already open.
-----------证书不存在
gbase> alter encryption certificate open identified by '1111';
ERROR 1829 (HY000): encryption certificate not exists.
-----------解密失败
gbase> alter encryption certificate open identified by '2222';
ERROR 1829 (HY000): decrypt failed, please check password.
-----------关闭密钥证书
gbase> alter encryption certificate close;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> insert into t1 values(4);
ERROR 1838 (HY000): Encrypt key invalid.
gbase> select * from t1;
ERROR 1838 (HY000): Decrypt key invalid.