GBase 8a 学习笔记 001 —— 数据库原理
GBase 8a MPP Cluster 综述
GBase 8a MPP Cluster ,全称“南大通用大规模分布式并行数据库集群系统”。
它是为管理超大规模数据量而设计的通用计算平台,具备高性能、高可用、高扩展
特性,广泛应用于各类企事业单位的数据仓库系统、BI系统和决策支持系统。
GBase 8a 集群数据库属于NewSQL分析型数据库,主要用于分析场景,是列存数据库。
GBase 8a MPP Cluster的核心技术
数据存储
列式存储技术
- 表的每一列物理上分开存储
- 数据以DC(数据单元)为单位进行组织,存成DC文件
- DC文件依据操作系统的文件大小限制进行分裂和存储
- DC是基本的I/O单位,只有查询所涉及到的列才产生I/O
- 每个DC包含65536行数据,数据行数不足时以DC尾块形式单独存放
- DC尾块不封装、不压缩
压缩存储技术
- GBase 8a MPP数据库内置多种数据压缩算法,基于一列内同类型数据,实现高压缩比存储
- 较高的压缩比,为海量数据的存储节省了存储投资和电能损耗
- 压缩态数据使得数据处理过程中,大幅降低磁盘IO
- 压缩比可达到1:20, 远远高于行存储
- 实现库级、表级、列级三级压缩选项
- 压缩算法按数据类型和数据分布不同而优化,自动选择最优压缩算法,灵活平衡性能与压缩比的关系
- 可以对压缩方式进行修改
智能索引技术
粗粒度智能索引
- 粗粒度:轻量级索引,索引的建立和维护对系统资源的占用和性能影响几乎为零
- 透明性:索引自动建立,并且随数据变化自动更新,无需人工干预
- 有效性:大大缩小查询和数据物化的范围,迅速定位目标数据集
并行计算
-
多线程并行,单节点多线程并行计算
-
多节点并行,MPP多节点并行计算
集群高可用
管理节点高可用
- 元数据自动同步,避免单点故障
- 所有调度集群节点的元数据都在后台自动同步,对用户透明
- 自动故障倒换,SQL持续运行
- GCware服务实时探测节点失效并且马上启动故障倒换机制
- 多类日志保障,节点信息同步
- 重新恢复的调度节点根据GCware日志信息恢复到最新的元数据
- 限定故障规模,保护数据安全
- 当调度集群大规模节点故障,达到或超过调度集群节点总数的1/2时,集群为保护元数据安全将停止工作。
计算节点高可用
- 指表数据按照一定的规则分别存储在不同的节点上,各节点根据预先设定的分片规则进行备份。
- 数据高可用
- 支持多副本,最多2个
- 支持指定副本存放位置
- 多分片机制
- 实现负载均衡
- 解决木桶效应
数据集成
数据集成方案
- GBase 8a MPP支持多种数据源的加载和同步操作
- 通过和Kafka系统无缝集成,GBase 8a MPP实现和主流关系型,非关系型数据的实时接入流式加载
数据加载功能
批量加载
- 简单易用
- sql方式下发加载命令
- 支持ftp、http、hadoop等多种数据源
- 高性能
- 加载只写主分片,副本内部自动同步,性能大幅提升
- 加载速度:30T+/小时
- 可扩展
- 集群整体加载吞吐能力随节点数增加而线性提升
数据导出功能
- 查询数据导出
- 通过select语句的形式导出数据
- 支持普通文本、定长文本、压缩文件、HDFS文件导出
- 支持远程导出
- 表结构导出
- 导出表结构
- 导出存储过程
- 导出自定义函数
集群扩展
- 在线扩容/缩容功能
- 分片搬移方式扩容和缩容
- 分片搬移方式提高了扩容/缩容的效率
- VC管理
- 线性动态扩展,Shared Nothing + MPP集群性能随节点数增加呈近似线性关系
安全管理
数据脱敏
动态数据脱敏
- 用户权限控制
- 指定脱敏属性字段
- 多种脱敏方式
- 默认脱敏default()
- 随机脱敏random(start,end)
- 自定义脱敏 partial(prefix,padding,suffix)
- 例:设定prefix为3,suffix为6,padding字符“XXXX”
- 哈希脱敏sha()
透明加密
高效透明加密
- 透明加密/解密,数据在后台自动加密和解密
- 轻量级数据加密/解密,加解密负载对整体性能影响小于5%
- 面积数据列的加密/解密,根据数据字段的安全级别进行加密
监控工具
- 图形化管理监控系统
- 监控集群运行状态
- 监控资源利用情况
- 监控网络通讯情况
GBase 8a MPP Cluster 数据库架构
- GBase 8a MPP 超大规模集群(V95)
- 集群虚拟化
- 业务内独立
- 业务间关联
- 集群镜像
- 实时备份
- 存算分离
- 兼容模式
- 单集群
- 低版本升级
- 集群规模
- 大于1000节点
- 集群虚拟化
- 虚拟集群物理架构
- 统一Coordinator Cluster: 实现跨业务关联访问和操作。包括跨业务数据访问和用户权限管理
- VC(Virtual Cluster) : 实现单个业务的独立管理,包括数据管理,用户管理和集群版本管理
- Free Nodes (闲置节点) : 实现多个业务之间的资源共享以及合理调配
- 虚拟集群逻辑架构
- 统一接口层:为上层应用SQL提供标准JDBC、ODBC、ADO.Net、CAPI访问接口
- GCluster(调度集群):负责SQL 的解析、SQL 优化、分布式执行计划生成、执行调度
- GCWare(管理集群):GCWare 用于各节点GCluster 实例间共享信息,以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态
- GNode(计算集群):是GCluster 中最基本的存储和计算单元。GNode 负责集群数据在节点上的实际存储,并从GCluster 接收和执行经分解的SQL 执行计划,执行结果返回GCluster
- 虚拟集群网络架构
- 按功能分为两个网络
- 数据网络(集群内部网络)
- 业务网络(集群外部网络)
- 两个网络之间物理隔离
- 每个Coordinator节点需要配置业务网络IP 和数据网络 IP,其中分配的数据网络IP必须属于同一IP网段;
- 数据集群中的每个 data 节点只接入数据网络,数据网络可跨IP网段。
- 按功能分为两个网络
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。