代码改变世界

0 GBase 8a MPP Cluster 数据库核心技术

2021-08-25 20:05  那个,我  阅读(316)  评论(0编辑  收藏  举报

正在参与南大通用线上培训,记笔记如下
数仓系统:南大通用大规模分布式数据库集群系统,NewSQL分析性数据库
培训地址 https://edu.gbase.cn/detail/term_610770517282c_OZ0qR5/25

一、数据存储

1. 列式存储
        以DC为存取单位;
        存为DC文件;
        DC文件以操作系统文件大小限制分裂和存储;
        查询涉及到的DC才产生I/O;
        每个DC包含65536行;
        行数不足则以DC尾块形式存放,不封装为DC,且不压缩。
2. 压缩存储,压缩比可达1:20;实现库、表、列三种压缩选项;自动选择最有压缩算法;压缩方式可修改;
3. 智能索引,粗粒度智能索引;自动建立和更新;索引表记录每个DC的最大,最小,和值,空值等信息。

二、并行计算

1. 节点内多线程并行
2. 多节点并行

三、集群高可用

1. 管理节点高可用
        GCcluster元数据自动同步;
        GCware实时探测失效节点,并自动故障切换,SQL不中断;
        重新拉起的调度节点读取GCware日志,恢复元数据并重新作为主节点;
        故障节点数达到或超过1/2时,集群停止。
        称为联邦架构
2. 数据节点高可用
        数据高可用:支持最多2副本,支持指定副本位置。
        多分片机制:负载均衡,解决木桶效应。防止某节点故障,另一个节点承担双倍压力。
        场景:1节点有3主分片,2节点保存a副分片,3节点保存b副分片,4节点保存c副分片,1节点宕机,其他节点平均承担压力

四、数据集成

1. 数据集成,支持多种数据源加载
        关系型数据库通过CDC+Kafka实时消费到8a
        手机,平板,IoT通过Flume流式加载到Kafka消费到8a
        FTP/HTTP/HDFS 批量加载到8a
2. 数据加载
        Load data infile 'ftp://' into table xxx data_format 3 Fields Terminated by '|';
        管理节点GCcluster调用数据加载SQL,数据节点并行批量加载,再内部协调数据归属,走内部数据高速交换网络
        加载只写主分片,副本后台自动同步
        加载速度:30T+/小时
        集群加载速度随节点数增加而增加
3. 数据导出
        select方式所有节点并行导出
        支持远程导出数据,表结构,过程,函数。
        支持普通文本,定长文本,压缩文件,HDFS文件导出
        Select into outfile 'HDP://'

五、集群扩展

1. 在线扩、缩容
        分片搬移
        重建分布信息表,重新分布数据
        不停服务
2. VC管理
        虚拟集群
        集群独立,互访
        VC弹性扩缩容:HR_VC释放Nodes -> Free Nodes -> Finance_VC
3. 线性动态扩展
        增加节点 Scale Out(MPP)
        节点升级、替换 Scale Up(SMP)

六、安全管理

1. '动态'数据脱敏
        权限控制
        指定脱敏字段
        多种脱敏方式
            默认default()
            随机random(start,end)
            自定义partial(prefix,padding,suffix)
            哈希sha()
2. 透明加密
        后台自动加解密
        性能影响<5%
        面向数据列
3. 监控工具
        集群状态
        会话信息
        资源利用率
        网络监控
        等