暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a 学习笔记 001 —— 数据库原理

心有阳光 2023-02-22
1962

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论