1 GBase 8a MPP Cluster产品简介

1.1 产品简介

南大通用大规模分布式并行数据库集群系统,简称:GBase 8a MPP Cluster,它是在 GBase 8a 列存储数据库基础上开发的一款 Shared Nothing 架构的分布式并行数据库集群,具备高性能、高可用、高扩展等特性,可以为各种规模数据管理提供高性价比的通用计算平台,并广泛用于支撑各类数据仓库系统、BI系统和决策支持系统。GBase 8a已在银监会、农总行、中移动、海关总署等数百家用户形成规模化应用,目前部署节点总数超过35000个,管理数据超过400PB。本文主要对南大通用GBase 8a MPP Cluster 产品技术进行介绍,适合不太了解南大通用GBase 8a MPP Cluster的人员阅读,能帮助您快速了解GBase 8a的技术功能。

1.2 产品技术特点

GBase 8a MPP Cluster 具有联邦架构、大规模并行计算、海量数据压缩、高效存储结构、智能索引、虚拟集群及镜像、灵活的数据分布、完善的资源管理、在线快速扩展、在线节点替换、高并发、高可用性、高安全性、易维护、高效加载等技术特征,具体如下:

1) 联邦架构:完全并行的 MPP + Shared Nothing 联邦架构,Gcluster调度集群、Data 计算集群、Gcware 管理集群等三个功能集群都采用多活部署,避免了单点性能瓶颈和单点故障。群规模支持超过 1000个节点,Gcluster 调度集群和 Gcware 管理集群都支持部署 64 个节点,单个虚拟子集群支持 300 个以上的 data 计算节点。整个集群支持100PB 以上的结构化裸数据,单节点可支持 100TB 裸数据,所有节点无共享;

2) 大规模并行计算:采用分布式执行计划器、基于规则和基于代价的优化器、基于异步 I/O 技术的调度器,支持高并发、高可靠、大规模的并行调度;

3) 海量数据压缩存储:可处理 100PB 以上的结构化数据;采用先进的压缩算法、基于列存储的数据编码及高效压缩技术,减少存储数据所需的空间,并相应地提高 I/O 性能;支持实例级、表级、列级三级压缩;压缩比可达 1:20 以上;

4) 高效存储结构:集群采用 hash、random 及 replicate 的分布策略进行数据分布式存储;采用适合分析优化的列存储结构;支持行列混合存储,有效提高 select *多列查询场景下的查询性能;

5) 智能索引:采用高性能、免维护的智能索引技术,索引空间占比不超过百分之一。智能索引包含列的统计信息,在数据检索定位时可有效过滤数据,大幅降低数据库磁盘 I/O,大幅提高海量数据的查询性能;

6) 虚拟集群:通过虚拟集群技术,对一个大集群中的计算节点进行分组,形成多个虚拟子集群,各虚拟子集群在资源上物理隔离,独立规划与扩展集群规模和计算资源;各虚拟子集群在命名空间上逻辑隔离,支持多租户的使用方式。虚拟集群为所有子集群提供统一的访问入口、统一的元数据视图、统一的资源管理、统一的执行调度、统一的认证和权限管理;

7) 实时双活集群:通过虚拟集群镜像技术,在两个子集群间进行表级数据的实时复制,实现实时双活集群能力,满足更高的容灾和高可用要求,满足系统实时双活容灾和读写负载分离等业务场景需求;支持gcluster 调度集群跨机房部署,从而增强虚拟集群镜像双活场景下的高可用能力;

8) 完善的资源管理:通过虚拟子集群实现不同业务间的横向的资源隔离,不同的子集群承载不同的业务使用不同的节点资源;通过资源池及资源使用计划的灵活配置,实现不同数据库用户的纵向的资源隔离,支持对 CPU、内存、磁盘空间、磁盘 IO、并发任务数等关键资源和指标进行管控;能够提供完善的多租户能力;

9) 在线扩展:支持集群在线扩容和缩容,一次可扩容、缩容任意个节点;支持实例级、库级、表级等多级别灵活扩展,正在扩展的表支持数据追加写和查询;扩展过程可监控,支持扩展操作的暂停、恢复、取消,支持调整扩展表的顺序和优先级;在线扩展性能大于 20TB/小时;

10) 高并发:支持读写并发,支持数据的边加载边查询,并发性能随调度节点的扩展而提升,集群并发能力大于 1000;

11) 高可用:支持进程级、节点级、集群级等多个层级的高可用;核心进程被实时监控,出故障后由守护进程及时恢复;管理节点、调度节点、计算节点采用多活部署,任何一个节点异常退出后,集群能正常提供服务,保证集群数据一致性,当出现集群断电、交换机故障等问题时能够保证数据的完整性和一致性;支持双活集群,使用虚拟集群镜像技术实现同城的两个虚拟子集群之间数据的实时同步,RPO=0、RTO=0;使用集群间数据同步方式,实现异地集群间的数据一致,做到异地多活,RPO=0,RTO<60 秒。数据通过副本提供冗余保护,支持 1 至 3 个数据副本,支持用户指定和在线动态调整副本个数、指定副本分布方式,支持故障的自动探测和自动恢复;

12) 安全性:支持用户、角色、权限控制测试,支持用户密码强度、白名单及用户锁定;支持详尽的审计日志,可配置灵活的审计策略记录相关操作的日志;支持数据存储透明加密,支持数据加密压缩,支持通信加密,采用 SHA256、SM4 等高等级加密算法;支持灵活的库内数据脱敏,通过权限控制原始数据的访问范围;支持 AES_ENCRYPT()、ENCRYPT()、MD5()、SHA1()、SHA()等加密函数;支持 Kerberos 认证方式;

13) 数据高效加载:基于策略的数据加载模式,采用副本链式转发、P2P多点传输、多加载机并行等方式,集群整体加载速度大于 30TB/小时;支持 HTTP/HTTPS、FTP/SFTP、HDFS、Kafka 等多种数据源及网络协议,支持直接从 HDFS 中加载 gzip、snnapy、lzo 等压缩格式数据;

14) 数据备份恢复:支持实例级、库级、表级全量、增量备份和恢复;支持将数据备份到 Hadoop 及从 Hadoop 中恢复数据;单节点备份恢复性能大于 800GB/小时,整个集群的备份恢复性能超过 100TB/小时;

15) 数据挖掘:内置数据挖掘算法,可直接基于库内数据、利用 MPP 并行计算资源实现数据的深度挖掘分析与机器学习,无需单独搭建机器学习平台、无需进行数据搬移。采用 SQL 方式进行数据挖掘和机器学习,提高开发效率;使用 UDF 可灵活快速的进行 AI 算法的扩充;

16) 多实例部署:支持在一个物理机上部署多个计算节点实例,可以充分发挥高配服务器、NUMA 架构服务器的硬件性能;

17) 标准化:支持 SQL 2003 ANSI/ISO 标准,支持 ODBC、JDBC、ADO.NET等接口规范;支持 C API,Python API,TCL API 等接口;支持 OLAP函数。

1.3产品基本功能简介

功  能

描  述

结构化查询语言

符合SQL 2003标准,支持CREATE、ALTER、DROP等DDL语法,支持INSERT、UPDATE、DELETE、MERGE等DML语法,支持单表,多表联合查询

数据类型

BOOL布尔数据类型

INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT、DECIMAL、FLOAT、DOUBLE数值数据类型

CHAR、VARCHAR字符数据类型

DATE、TIME、DATETIME、TIMESTAMP日期类型

BLOB、LONGBLOB、TEXT大对象数据类型

数据库对象

提供了数据库,表,索引,视图,存储过程,自定义函数、同义词等常用数据库对象的创建,修改和删除操作,支持数据库用户/角色的创建,删除操作,以及用户权限的分配与回收

函数及操作符

支持多种标准函数,包括控制流函数、字符串函数、数值函数、日期和时间函数、转换函数、位函数、加密函数、信息函数、辅助函数、聚集函数、OLAP函数(包括avg() over()、sum() over()、rank() over()、row_number() over()、cube、rollup、grouping sets等)、正则表达式函数等

支持C、PYTHON语言用户自定义函数扩展

行列混合存储

基于创建的物理表,可以实现行存列的创建、修改和删除

图形化工具

提供了企业管理工具和集群监控工具

接口

符合并支持ODBC、JDBC、ADO.NET等接口规范;支持C API,Python API,TCL API等接口

2 GBase 8a MPP Cluster产品架构

南大通用GBase 8a MPP Cluster 产品技术简介(一)_数据库

GBase 8a MPP Cluster采用MPP + Shared Nothing 的分布式联邦架构,节点间通过 TCP/IP 网络进行通信,每个节点采用本地磁盘来存储数据。实现非对称部署,分布式管理集群、分布式调度集群、分布式计算集群支持独立部署和混合部署。系统中的每一个节点都是相对独立的、自给的,整个系统中不存在单点瓶颈,具有非常强的扩展性。 
由于没有资源共享,增加节点就可以线性地扩展数据容量和计算能力,可以从几个节点扩展到上千节点,满足业务规模增长的要求。

GBase 8a MPP Cluster产品总共包含三大核心组件,分布式管理集群GCWare、分布式调度集群GCluster和分布式存储计算集群GNode。它们的功能分别为:

GCluster:负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。

GCWare:用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,控制各节点数据一致性状态。

GNode:是GBase 8a MPP Cluster中最基本的存储和计算单元。GNode负责集群数据在节点上的实际存储,并从GCluster接收和执行经分解的SQL执行计划,执行结果返回给Cluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。采用虚拟集群部署策略时,可以按不同业务特点将不同节点进行物理隔离,形成不同的VC。

VC(Virtual Cluster):一组计算节点组成的虚拟子集群,实现单个业务的独立管理,包括database、表等数据库对象。

Free Nodes (闲置节点):不属于任何VC的GNode节点,通常是备机或待扩容或节点替换的节点。

除了以上核心组件外,还有GCMonit组件,用于实时监测GBase 8a MPP Cluster服务程序的运行状态, 一旦发现某个服务程序的进程状态发生变化,就会根据配置文件中的内容来执行相应的服务启停脚本命令,从而保证服务程序健康运行。

以上内容给大家介绍了GBase 8a MPP Cluster产品的基本技术和产品架构,为接下来的产品技术原理做铺垫,后续文章会陆续为大家介绍GBase 8a MPP Cluster产品一些核心技术原理,如列存储技术、高透明压缩、智能索引、高性能等等,大家敬请期待……