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

谈谈几款国产数据仓库产品

数据最前线 2024-04-13
200

随着业务数据量的增多,企业需要能够对数据进行分析,助力商业决策,更好地发挥数据价值,而传统开源及商业关系型数据库通常为单机版,在海量数据分析场景下扩展能力有限,性能无法满足需求。

TeradataOracle Exadata为代表的数仓技术,虽然具备了较好的分布式横向扩展能力,但其以一体机形态输出,对硬件有特定要求,整体价格昂贵,通常面向传统金融,交通,能源等大企业。随着Google等互联网企业崛起,以Hadoop为代表的基于传统x86服务器集群的大数据技术迅速发展,同时开源分布式数据库如Greenplum等也成为相应替代方案,为广大中小企业大大降低了数据分析技术和成本门槛。

随着国家信息产业创新的深入,也涌现了一批优秀的本土数据仓库系统,今天我们梳理了其中的部分产品。

南大通用Gbase 8a

南大通用大规模分布式并行数据库集群系统,简称:GBase 8a MPP Cluster,是在GBase 8a 列存储数据库基础上开发的一款Shared Nothing架构的分布式并行数据库集群,具备高性能、高可用、高扩展等特性。

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执行计划,执行结果返回给GCluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。采用虚拟集群部署策略时,可以按不同业务特点将不同节点进行物理隔离,形成不同的VC

·VC (Virtual Cluster):实现单个业务的独立管理,包括Database、表等数据库对象。

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

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

人大金仓KADB

金仓分析型数据库系统KingbaseAnalyticsDB (以下简称为 KADB) 是北京人大金仓信息技术股份有限公司推出的MPP数据库产品。产品应大数据时代海量数据分析处理的需求,采用shared-nothing分布式架构,具有高性能,高扩展性能力,承载了人大金仓在大规模并行计算和数据库管理领域先进的研发成果,它定位于数据分析类应用市场,可以处理TB ~ PB级别的数据,并能集成多种异构数据源进行数据挖掘和分析。在处理复杂查询,如:多表连接、聚合等,也体现出了很好的性能。适用于数据仓库、决策支持、高级分析等分析类应用场景。

KADB的数据库服务器部分采用MPP+无共享式的分布式架构,集群组件包括集群主控(Master)节点以及计算(Segment)节点。

·主控节点负责接收应用连接、为应用的请求生成执行计划,并将计划分派给计算节点执行,最后将执行结果汇总返回给应用。

·计算节点是独立的数据存储和查询执行引擎,用户数据以分片的方式存储在计算节点上。计算节点会执行主控节点分派的计算任务和将本节点的数据分发给需要数据的其他计算节点。

阿里云AnalyticDB

AnalyticDB PostgreSQL是阿里云推出的一款云原生数据仓库产品,基于开源项目Greenplum构建,由阿里云深度扩展,提供PB级数据实时交互式分析、ETL/ELTBI报表展示功能,支持数据高吞吐实时写入与批量导入,提供ACID保证和标准事务隔离级别,采用MPP全并行架构,是一款具有高性价比的云原生数仓产品,提供基于阿里云生态的公共云和混合云服务。

AnalyticDB PostgreSQL主要包含Master NodeCompute Node两大组件,中间通过Interconnect进行互联通信和数据交换传输。

·Master Node,主要负责客户端连接协议层接入,认证和鉴权,SQL解析,重写,优化,和执行分发协调;全局事务管理器,负责全局事务ID、快照生成和分布式事务管理;全局元数据目录则记录了用户,库,表,视图,索引,分布分区等数据库对象的元数据信息。

·Compute Node,包含了一组Segment,部署形态上可以是物理机,VM或者容器。

·Segment,是负责具体的SQL执行和数据存储节点。其中本地元数据(Local Catalog,与Master Node Global Catalog保持同步)起到加速执行的功能(Segment无需每次访问Master Node获得元数据信息);本地事务管理器提供本地事务能力;缓存管理器则提供了数据的读写缓存,用于提升读写性能;执行引擎通过向量化和即时编译等技术,相比传统逐行计算的火山模型获得数倍性能提升;数据和索引支持行存表,列存表,和外表以及相应索引。

华为Gauss 200

GaussDB 200是一个基于开源数据库Postgres-XC开发的分布式并行关系型数据库系统,采用Share-nothing架构,由多个拥有独立且互不共享CPU、内存、存储等系统资源的节点组成,业务数据被分散存储在多个物理节点上,数据分析任务被推送到数据所在位置就近执行,通过控制模块的协调,并行地完成大规模的数据处理工作,实现对数据处理的快速响应。

MPPDBServerCMGaussDB 200集群管理模块CMCluster Manager)。负责管理和监控分布式系统中各个功能单元和物理资源的运行情况,确保整个系统的稳定运行。CM通过CM服务完成对各个MPPDBServer管理。CM服务由CMServerCMAgentMonitor组成。

·CMServer是整个GaussDB 200集群的大脑,它会根据CMAgent上报上来的各MPPDBServer状态信息来决定是否需要状态变更。CMServer只部署在主备CM上。

·CMAgentMPPDBServer上面部署的实例代理线程,负责接收CMServer下发的命令和上报MPPDBServerCoordinatorDatanodeGTM的状态给CMServer。每个MPPDBServer (包括主备CM和主备GTM)均会部署一个CMAgent

·MonitorWatchdog定时任务,其唯一的任务是在CMAgent停止的情况下将CMAgent重启。每个MPPDBServer (包括主备CM和主备GTM)均会部署一个Monitor

MPPDBServerGTM: 全局事务管理模块GTMGlobal Transaction Manager),即含GTM进程的特殊MPPDBServe,负责生成和维护全局事务ID、事务快照、时间戳等需要全局唯一的信息。

MPPDBServer业务模块由Coordinator及多个Datanode组成,负责执行CMGTM下发的任务。

CoordinatorCN):负责提供外部应用接口、优化全局执行计划、向Datanode分发执行计划,以及汇总、处理执行结果。

DatanodeDN):每个DN存储了一部分数据。如果DN无高可用方案,则故障时会导致该实例上的数据无法访问。因此GaussDB 200DN提供了高可用方案:主、备、从备。

功能特性总结

从生态上看,除了Gbase 8a,其他三种数据库均由PostgreSQLGreenplum演进而来,对于从Greenplum迁移到国产数仓的项目,兼容性会更好。

从系统架构上看,这四款数据仓库产品都采用了经典的Sharing-nothing架构,主控节点和存储计算节点分离,主控节点负责集群控制和全局事务分发协调,存储计算节点则负责接收和处理主控节点提交的任务。所不同的是Gbase 8aAnalyticDB采用多主的架构,规避了Greenplum等单主架构中存在的单点隐患。

从功能上看,四款产品各有特色,比如Gbase 8aGauss 200引入了虚拟逻辑集群的概念,能够实现租户之间资源的物理或逻辑隔离;Gbase 8aADBGauss 200引入机器学习算法,实现深层次的数据分析和挖掘,以及SQL自我优化等功能;此外Gbase 8a还具备智能索引、数据脱敏等独具特色的功能。

写在最后

随着现在生活节奏的加快,对实时分析需求不断的增加,数据仓库技术也在快速的演进。自1990Inmon提出数据仓库概念至今,数仓架构经历了最初的传统数仓架构,到离线数仓库、离线大数据架构,到Lambda架构、Kappa架构以及近年来火热的流批一体架构,数据仓库产品也在与时俱进满足越来越高的生产需求。

这篇文章介绍的四款国产数据仓库,均为传统的MPP架构,他们在国产化替代传统数据仓库的项目中发挥了重要的作用。除此之外,市场上还涌现了诸如星环ArgoDB、阿里Hologres等具备流批一体、湖仓一体能力的本土实时数仓产品,后期有机会再进一步的介绍。

在美国数据库市场中,分析型数据库的份额已经达到40%~50%,但中国市场的这一数字仅是10%左右,中国数据仓库市场的发展潜力十分巨大。随着Teradata退出中国,国产商业数据仓库产品也迎来了自己的春天,期待他们未来在更多的项目中有更好的表现!


文章转载自数据最前线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

暂无图片
获得了1次点赞
暂无图片
内容获得2次评论
暂无图片
获得了15次收藏