返回首页

gbase数据、南大通用产品文档:GBase8a术语

更新日期:2024年09月11日

表6- 1 术语简介
术语
介绍
镜像
是指两个集群结构(分片数量,节点数量,分布情况)完全相同
分布情况
是指两个集群的相同分片的hash 值一致;简单可以理解为同样的数据,在
两个集群上导入会落到同样的分片上
一组可用分片
指一个表在集群上的各个分片(例如:n1、n2、n3、n4)都存在一个状态
正常的分片(可以使用SHOW DATACOPYMAP vcname.dbname.tablename
查看表分片及其状态)
主集群
同步的源端集群,可以理解为正在使用,需要备份的集群
备集群
同步的目的端集群,可以理解为作为镜像备份的集群
主分片
表的主分片仅存在于分布表(随机分布表和哈希分布表)。在集群中的每
个节点上都会存在表的主分片,表的主分片为表名_dpname 取值(dpname
就是执行gcadmin 后,dpname 列的显示的取值,目前dpname 都是以n1、
n2、……的顺序显示)。例如:n1->node1,n2->node2,n3->node3,n4->node4,
集群运行任务时优先选择主分片
备分片
主分片的备份分片,用于备份主分片的数据,存放于和主分片不同的节点

备份周期
一个备份周期包括一次全量备份和这次全量备份基础上的所有增量备份
备份点
一个备份周期中的各个增量备份称为这个备份周期中的备份点
DC(Data Cell)
数据单元,列存数据落盘时一列数据中65536 个数据打包压缩成一个DC,
集群从磁盘读取数据和处理数据的单元。
临时表
创建表时使用TEMPORARY 关键字,这样创建的表为临时表,临时表仅存
在于当前session 中。
预租磁盘
预租磁盘空间可以预先批量分配磁盘块,这样尽量保证了列的DC 数据文
件在磁盘块上存储连续。在顺序读取列DC 数据时,性能会有明显提升。
静态哈希分布
是指在使用CREATE TABLE 时,明确使用DISTRIBUTED BY(col_name)
指定哈希列,那么,表中的数据就会按照这个定义的哈希列进行哈希分布
存储,这种方式就叫做静态哈希分布。
动态哈希分布
一般出现在多表JOIN ON 查询时的情况。例如表a 和表b,创建表a 时,
使用DISTRIBUTED BY('hash_col')定义了哈希列,表b 没有指定哈希列,
在表a 和表b 进行JOIN ON 查询时,例如,“SELECT a.* FROM a JOIN b
ON a.hash_col= b.col;”,在这条SQL 语句中,表a 和表b 进行了JOIN 后
的等值查询a.hash_col= b.col,
虽然a.hash_col 是哈希列,
b.col 不是哈希列,
但是此时会对b.col 列进行动态哈希列的计算,然后再进行等值比较。

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1535
术语
介绍
kafka topic
一个消息队列,消息根据topic 进行归类,集群中一个topic 对应一个表
kafka broker
一个Kafka 实例称为一个broker,kafka 集群由多个broker 组成

当 GBase 8s JDBC 客户机与 GBase 8s 数据库服务器交换数据时,
SECURITY 环境变量指定
执行的安全操作。在 GBase 8s JDBC Driver 中支持的SECURITY 环境变量的唯一设置
是 PASSWORD。
如果指定 PASSWORD,
则当将口令从客户机传至数据库服务器时,
使用 56 位加密来加密
用户提供的口令。没有缺省的设置。
这里是一个示例:
String URL = "jdbc:gbasedbt-sqli://158.58.10.171:1664:user=myname;
password=mypassord;GBASEDBTSERVER=myserver;SECURITY=PASSWORD";
PASSWORD 不区分大小写。
配置数据库服务器
在 GBase 8s 数据库服务器中,支持 SECURITY=PASSWORD 设置。
如果在 GBase 8s JDBC 客户机中指定 SECURITY=PASSWORD,
则在 GBase 8s 数据库服
务器上必须启用 SPWDCSM csm 选项。否则,在连接期间会返回错误。
要使用支持在数据库服务器上口令加密的 SPWDCSM csm 服务器选项,必须配置服务器
sqlhosts 服务器名称选项。在服务器上设置此选项之后,仅使用 SECURITY=PASSWORD
设置的客户机可连接至该服务器名称。
要查看如何配置 CSM 选项的通用详细信息,请参阅《GBase 8s 管理员指南》。

概述
要使用全文检索功能,首先需要建立一个表存储数据源信息,将要查询的文本内
容放到数据表中,然后将查询的文本内容列创建全文索引,当表中有内容更新时
也要更新索引,这样就可使用全文检索查询语法进行查询。具体语法包括创建索
引,更改索引,更新索引,删除索引和查询等操作,下面就以手机短信息检索的
例子进行说明,快速了解全文检索的使用方法,具体语法说明请参考后面章节。
示例
示例1:创建一个存储短信信息的表sms,包括手机号和短信内容两个字段。
gbase> CREATE TABLE sms (MB_No char(11), MB_Text varchar(1000)
DEFAULT NULL);
Query OK, 0 rows affected
示例2:创建全文索引,索引名称:idx_t,索引列:MB_Text。
gbase> CREATE FULLTEXT index idx_t ON sms(MB_Text);
Query OK, 0 rows affected
Records: 0
Duplicates: 0
Warnings: 0
插入示例数据信息
INSERT INTO sms VALUES('13023315123','南大开设java 编程培训班,每
周五晚上7:00-9:00 上课');
INSERT INTO sms VALUES('13521000123','天津大学开设考研培训班,学
期3 个月,每周六、日上课,欢迎报名,咨询40088800');
INSERT INTO sms value('13023315123','晚上去南大上英语课,在南大主楼

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
913
115 房间');
INSERT INTO sms VALUES('13023315123','周末去天津博物馆参观,在南
开区南门外大街公交车站集合。');
INSERT INTO sms VALUES('13023300023','本公司负责办理各种文*凭、

/件,绝对保真,电话联系:022-30088200。');
INSERT INTO sms VALUES('13023300023','明天去公司办公柜里查找合同
文件、档案和报销凭证。');
INSERT INTO sms VALUES('13988213328','周六上午9 点去水上公园,在
东门集合,对着天津天塔');
INSERT INTO sms VALUES('13323315181','南大通用数据技术股份有限公
司地址:
天津华苑产业区海泰发展六道6 号海泰绿色产业基地J 座(300384)');
INSERT INTO sms VALUES('13521015341','本小学为6 到12 岁儿童开办语
文、数学和英语培训班');
示例3:手动更新索引
gbase> UPDATE INDEX idx_t ON sms;
Query OK, 9 rows affected
示例4:查询建立的索引(包括全文索引)
gbase> SHOW INDEX FROM sms;
因为结果集列数较多,分为多行显示
+-------+------------+----------+--------------+-------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name |
+-------+------------+----------+--------------+-------------+
| sms
|
1 | idx_t
|
1 | MB_Text
|
+-------+------------+----------+--------------+-------------+
+-----------+-------------+----------+--------+
| Collation | Cardinality | Sub_part | Packed |
+-----------+-------------+----------+--------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
914
| NULL
|
NULL |
NULL | NULL
|
+-----------+-------------+----------+--------+
+------+------------+---------+
| Null | Index_type | Comment |
+------+------------+---------+
| YES
|
FULLTEXT
|
|
+------+------------+---------+
1 rows in set
示例5:搜索查询
gbase> SELECT COUNT(*) FROM sms WHERE contains(MB_Text, '南大通
用');
+----------+
| COUNT(*) |
+----------+
|
1 |
+----------+
1 row in set
示例6:查询包括天津或者培训班文字、并且不包含“水上”文字的数据条数:
gbase> SELECT COUNT(*) FROM sms WHERE contains(MB_Text, '"天津"
| "培训班" - "水上"');
+----------+
| COUNT(*) |
+----------+
|
5 |
+----------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
915
示例7:想具体查看一下135 开头的手机号收到的包括天津或者培训班词组、并
且不包含“水上”词组的短信内容:
gbase> SELECT LEFT(MB_Text,30) FROM sms WHERE
contains(MB_Text, '("天津" | "培训班") - "水上"') AND MB_No like '135%';
+--------------------------------------------------------------+
| LEFT(MB_Text,30)
|
+--------------------------------------------------------------+
| 本小学为6 到12 岁儿童开办语文、数学和英语培训班
|
| 天津大学开设考研培训班,学期3 个月,每周六、日上课,欢迎报名|
+--------------------------------------------------------------+
2 rows in set
示例8:搜索以南大词组开头的短信内容:
gbase> SELECT * FROM sms WHERE contains(MB_Text, '^"南大"');
+-------------+-----------------------------------------------------------------------------------
-------------------------------------------------+
| MB_No
| MB_Text
|
+-------------+-----------------------------------------------------------------------------------
-------------------------------------------------+
| 13023315123 | 南大开设java 编程培训班,每周五晚上7:00-9:00 上课
|
| 13323315181 | 南大通用数据技术股份有限公司地址:天津华苑产业区海泰
发展六道6 号海泰绿色产业基地J 座(300384)
|
+-------------+-----------------------------------------------------------------------------------
-------------------------------------------------+
2 rows in set
示例9:要查询制作假文凭的垃圾短信内容:
gbase> SELECT MB_Text FROM sms WHERE contains(MB_Text, '"文凭

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
916
"/2');
+--------------------------------------------------------------+
| MB_Text
|
+--------------------------------------------------------------+
| 明天去公司办公柜里查找合同文件、档案和报销凭证。
|
| 本公司办理各种文*凭、证/件,绝对保真,联系电话:022-30088200。|
+--------------------------------------------------------------+
2 rows in set
示例10:从上面信息中发现正常的短信也查询出来了,修改查询语句为:
gbase> SELECT MB_Text FROM sms WHERE contains(MB_Text,
'NEAR((文,凭),4,1)');
+--------------------------------------------------------------+
| MB_Text
|
+--------------------------------------------------------------+
| 本公司办理各种文*凭、证/件,绝对保真,联系电话:022-30088200。|
+--------------------------------------------------------------+
1 row in set
示例11:查询包含“南大”词组的短信并且按照no 倒排序。
gbase> SELECT MB_No AS no,MB_Text FROM sms WHERE
contains(MB_Text, '"南大"',1) ORDER BY no DESC;
+-------------+------------------------------------------------------------------+
| no
| MB_Text
|
+-------------+------------------------------------------------------------------+
| 13323315181 | 南大通用数据技术股份有限公司地址:天津华苑产业区海泰
发展六道6 号海泰绿色产业基地J 座(300384)
|
| 13023315123 | 晚上去南大上英语课,在南大主楼115 房间

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
917
|
| 13023315123 | 南大开设java 编程培训班,每周五晚上7:00-9:00 上课
|
+-------------+------------------------------------------------------------------+
3 rows in set