达梦数据库DMDPC与Hadoop大数据产品体系的差异

背景
随着互联网的普及及新技术的快速发展,市面踊跃出以Hadoop为代表的大数据开源技术栈,运用这类型技术的公司就是用最小的成本做最大的事情,技术往往是新的、开源的、市场占用率高的特点。而发展多年以国外ODSCle、国内DM8为代表的“传统”数据库厂商,因为足够稳定和可靠,且有靠谱专业的维护支持团队,出现任何问题都有专业的人运维兜底,比如电信行业的BOSS系统,银行的账户系统等等这些数据容不得半点闪失的部门,服务的客户一般为国企,银行、外企、党政等一些预算较为充足的大公司。为了更好的了解两者的差异,故通过以下不同维度来进行对比。
定义
Hadoop大数据体系产品不是数据库,而是一个开源软件集合,通过底层的分布式存储框架(HDFS)来管理庞大的数据集,其主要目的是分析、存储、管理和交付数据。因为Hadoop的核心是HDFS(分布式文件系统),所以从这一点就可以看出它的本质是一个非常强大的文件系统。
市面上针对大数据产品具体有什么内容没有统一的规定,DAMA数据管理知识体系是国际数据管理协会组织专家对30多年数据管理领域知识和实践的总结,也仅仅只是对大数据产品/数据治理作出宏观的描述。就个人理解而言,一个通用的大数据产品体系包含五个部分:
共享服务组件:以接口的形式对外输出数据服务,严格的会包含审批流。
元数据管理组件:数据在组件之间的内部扭转,数据调度管理。
数据/任务计算组件:离线/实时的数据计算,以flink/mr算子进行任务执行。
数据采集组件:源数据通过采集工具(类似kettle)全/增量的形式获取业务数据。
数据仓库/湖仓一体:业务数据以基表+维度=主题的形式进行存储,也可以以来源数据成湖存储+处理后的数据存储在数据仓库一体的方式存储。
HIVE
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
达梦数据库产品
DM8
DM8基于C/C++语言开发的国产关系型数据库,有支持X86和ARM平台的版本,可以部署到开源系统CentOS6.X+及国产系统KyLin-V4+上;作为国产关系型数据库,其DM8与ODSCle数据库的设计思路非常相似,但又有区别于ODSCle的特色:
1)ODSCle一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。 而DM数据中一个用户下可以存在多个schema。
2)ODSCle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决 。而DM数据库中,在创建用户时,系统会为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,并且用户还可以用模式定义语句建立其它模式。
3)ODSCle数据库不能删除或者创建模式,而DM数据库可以删除或者创建模式。
DM8达梦数据库透明分布式数据库架构图如下
在这里插入图片描述

DM8达梦数据库是一种透明分布式数据库,支持分布式存储和查询,能够实现数据的分布式部署和访问,同时保证数据的一致性和完整性。
在这里插入图片描述

透明分布式数据库是指用户无需关心数据分布的具体实现细节,只需要像操作单个数据库一样对分布式数据库进行操作。DM8达梦数据库实现透明分布式的方式是通过在底层引入分布式事务管理和数据分布策略。
在这里插入图片描述

具体地,DM8达梦数据库通过引入XATransactionManager和DM DistransactionManager等分布式事务管理器,支持分布式事务的提交和回滚,保证了数据的一致性和完整性。同时,DM8达梦数据库采用数据分片的方式将数据进行分布式存储,通过内置的数据分布策略,将数据分散到多个节点上,避免了单节点存储过多数据的问题。
在这里插入图片描述

在DM8达梦数据库中,用户可以通过SQL语句对分布式数据库进行操作,而无需关心具体的数据存储位置和分布式事务的处理。DM8达梦数据库还提供了自动化的数据分片和数据迁移功能,可以根据数据的访问模式和负载情况进行动态调整,从而优化系统的性能和可靠性。
在这里插入图片描述

总之,DM8达梦数据库作为一种透明分布式数据库,通过分布式事务管理和数据分布策略等技术,实现了数据的分布式存储和查询,提高了系统的可靠性和性能,为企业级应用提供了更加稳定和高效的数据库解决方案。
在这里插入图片描述

DMDPC
达梦分布计算集群英文全称 DM Distributed Processing Cluster,简称 DMDPC。
DMDPC 是基于达梦数据库管理系统研发的一款同时支持在线分析处理和在线事务处理的新型分布式数据库系统。它既具备传统单机数据库的绝大部分功能,又提供了分布式计算集群才拥有的高可用、高扩展、高性能、高吞吐量和对用户透明等高级特性。
DMDPC 关注和解决的是大数据、计算与存储分离、高可用、支持全部的 SQL 标准、拥有完整的事务处理能力和集群规模能够动态伸缩的业务场景。在这些场景中,用户经常会遇到以下问题:
大量的复杂查询操作要求优化器能够生成优良的执行计划,并且执行引擎能够充分利用多机器、多核的硬件资源;
某些行业对数据一致性和多副本备份容灾有较高要求,同时希望维护成本足够低和故障恢复时间足够短;
用户的业务规模有峰值,要求所需的机器资源能够灵活地添加和删除。
为了解决上述问题,DM 提供了全新的、一站式的分布式数据库解决方案 DMDPC。
DMDPC 数据库无状态计算节点,可随数据库并发压力负载按需增加或减少节点,具备极致的横向扩展能力。同时 DMDPC 支持分布式事务(满足 ACID 规范)、数据分片的多副本容灾、多机并行协同计算,适用于 HTAP 场景。DMDPC 架构包 括三类节点:1)计划生成节点 SP:对外提供分布式数据库服务,也会分配执行带有汇总 性质以及不包含数据扫描操作的子任务;2)数据存储节点 BP:访问数据并进行简单的过 滤、投影以及分组操作;3)元数据服务器节点 MP:获取 SP、BP 节点的数据字典信息。新一代分布式数据库 DMDPC 满足金融、电网、交通、工业互联网等多场景需求。1)金融 系统:DMDPC 基于改进的多主机 XA 协议、基于分布式环境的多版本并发控制等技术,保 证了分布式数据库对事务 ACID 规范的支持,满足金融核心业务系统对事物强一致性的需求; 2)智慧电网:支持同城异地多活,可有效支持电网在全国多地的部署联网;3)智慧交通: DMDPC 可实现计算资源的按需分配,弹性扩展、支持 GIS 地理信息存储;4)工业互联网: 支持100以上的分布式节点且采用多种安全加固措施,可支撑工业互联网的数据安全需求。
在这里插入图片描述

DMDPC与单机DM8差异

差异
技术理念
Hadoop大数据产品体系是分治+规约的思想,外加开源生态的活跃对硬件没有任何强制要求,使用普通PC机可以部署集群,使用成本低。源代码随时查看,可对源码进行修改。
DMDPC是多个单机DM8关系型数据库+数据库之间的并行联通,组合而成的分布式集群,计算与存储分离,又支持动态增删节点。
技术演进
Hadoop大数据产品体系的技术变化更侧重海量数据的处理,DMDPC更侧重高频事务型的并发处理。Hadoop大数据产品体系往往是以数据仓库/数据湖为数据库存储与管理模式,而DMDPC的存储是传统数据库的管理架构。数据仓库采取Shared-nothing 架构,在节点之间不共享任何数据,DMDPC的理解是一主多备的思想。
在数据支持方面,两者均支持结构化和半结构化数据的组合使用,可以接收 JSON、XML或Avro格式的数据,并且支持嵌套和重复数据类型,从而满足传统数据库、Hadoop 等半结构化使用场景的使用需求。
在这里插入图片描述

文件系统与数据库系统区别
即为Hadoop作为文件系统和达梦产品的数据库系统差异:
(1) 文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据;
(2) 文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离;
(3) 文件系统用作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据;
(4) 文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。
文件系统和数据库系统之间的联系:
(1) 均为数据组织的管理技术;
(2) 均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;
(3) 数据库系统是在文件系统的基础上发展而来的。

安全性
Hadoop大数据产品体系是开源生态,产品之间往往是以组件的形式进行搭建整合,组件之间的版本存在安全隐患,同时开源技术栈的数据细节是暴露在公众之中,而DMDPC的技术路线是自研产品,从底层到应用代码都是掌控在厂家自身,相对安全性有保证。
多副本系统
DMDSC的多副本系统由 N 个节点实例组成,N 必须是大于 1 的奇数。只有配置了 RAFT 归档的实例才能加入多副本系统。
目前一个多副本系统最多支持部署 9 个节点实例。同一个 RAFT 组中的所有节点(三个或三个以上)共同构成一个多副本系统。实例之间通过 XMAL 模块进行 TCP 消息通讯。各个节点实例之间基于 RAFT 协议选举出一个领导者作为主库,其他实例作为备库(也就是副本)角色运行。主库会自动向备库同步日志,备库接收并重新应用日志,从而达到主备库之间数据保持一致的目的。
而Hadoop的分布式文件系统的横向扩展是没有限制的,可以根据业务需要线性增加。
用途
HDFS是用来存储大数据的分布式文件系统,适用于存储大文件、大数据集合。HDFS具有高扩展性、高容错性、分布式处理等特点,提供了 MapReduce 程序处理海量数据的能力,主要应用于大数据分析、数据挖掘、机器学习等领域。
针对典型的"强事务"需求场景,达梦新一代大型通用关系型数据库DM8,全面支持 SQL 标准和主流编程语言接口/开发框架,在兼顾 OLAP 和 OLTP 的同时,满足 HTAP 混合应用场景。而针对数据量大且高并发的需求,新一代分布式数据库DMDPC,适用于金融科技、工业互联网、物联网场景,可极致扩展,存储随需扩容。
产品架构
HDFS架构主要由NameNode和DataNode两部分组成,其中NameNode负责管理Metadata,即存储文件的元数据信息,而DataNode负责存储实际数据内容。该架构的数据安全性由副本机制来保证,即将数据在多个DataNode之间进行副本复制。这种架构可以支持 PB 级别的数据存储。
DMDPC的架构如下:
在这里插入图片描述

DMDPC架构
操作方式
HDFS采用基于命令行的操作方式,可以通过Hadoop提供的命令行工具hadoop fs来完成对文件系统的操作,也可以通过Java、Python等编程语言来调用Hadoop的API进行文件操作以及MapReduce程序的开发和调用。
DMDPC数据库则采用基于SQL的操作方式,可以通过PL/SQL、Java等编程语言来调用DM8的API进行数据库操作,也可以通过可视化工具来操作数据库。
HDFS特性
HDFS能够存储PB级别的数据,有很好的扩展性和容错性,在大数据领域有广泛应用。缺点是无法很好的支持结构化数据和事务,不适用于企业信息管理、业务应用尤其是信息敏感的企事业单位。
DMDPC特性
DMDPC本质上是基于DM8的扩展升级,由单个DM8的SP、MP、BP模块扩充为1个SP+N个MP+N个BP,DMDPC 的主要特点包括:高可用、高扩展、高性能、高吞吐量和透明性。
高扩展
DMDPC 集群提供达梦数据库高扩展性解决方案。根据用户业务量的变化,用户可以对集群规模进行扩展和缩小。
高性能
DMDPC 架构对 OLAP 和 OLTP 型场景都很适用。
查询的执行计划被拆分为一系列子任务,这些子计划被分散到多个 BP、SP 上执行以有效利用硬件资源;同时执行框架上采取了基于生产者、消费者的并行执行模型。不同的子任务允许有不同的并行度,同一个子任务在不同 BP 上的并行度也可以不同,并行度设置的灵活性能大大地提升线程资源的利用效率。
另外,通过将业务的不同表、或者同一表的不同分区拆分到多个 BP,甚至于多个主机,在面对高并发的 OLTP 型应用,集群可以极大地提升 IO 能力,分摊并发压力。
在多副本系统中,主备库之间的日志同步采用异步通信方式,主库同步日志时不需要等待备库刷盘或重演完成,备库也以异步消息通知主库自己的日志刷盘进度,消除了主备库之间的消息同步等待时间。
高吞吐量
与单节点数据库管理系统处理用户请求时的性能瓶颈相比,DMDPC 集群中,多个 BP 节点可以充分利用多台物理主机的处理能力,支撑更多的用户连接请求,提供更高的吞吐量。
DMDPC 集群中包含多个 BP 数据库实例,BP 数据库实例访问独立的处理器、内存。数据库实例之间通过 XMAL 模块交换数据,每个 BP 数据库实例都可以接收并处理用户的各种数据库请求。
多个 BP 节点同时提供数据库服务,有效提升集群的整体事务处理能力。
透明性
DMDPC 架构逻辑对用户透明。透明性是指 DMDPC 上任意一个 SP 提供的功能与普通单机数据库基本无异。用户登录 DMDPC 的任意一个 SP 节点,即可获取完整的数据库服务。
性能
在性能方面,Hive通常比较适用于大数据分析场景。由于其分布式计算的能力,Hive可以轻松处理PB级别的数据,而DM8在处理海量数据的能力上则较为有限。然而,在实时处理部分,DMDPC的数据处理还是由DM8来进行,DM8则比较占优势,因为它采用的是OLTP(Online Transaction Processing)架构,支持高并发的事务处理,并提供了完善的ACID(原子性、一致性、隔离性、持久性)特性,适用于对数据实时性要求较高的场景。
功能
Hive和DMDPC的功能也存在较大的差异。例如,在数据仓库方面,Hive提供了外部表和分区表特性,可以与Hadoop文件系统进行无缝集成,同时支持多种数据格式,包括文本、ORC和Parquet等,适用于大数据存储和分析。而DMDPC则提供了很多高级特性,包括分布式数据库、数据复制和备份、高可用性和安全性等,适用于高性能、高可用、高安全要求的企业级应用场景。
适用场景
Hive和DMDPC在适用场景上也存在较大的差异。Hive通常用于海量数据存储和分析,例如电商、社交媒体、广告平台等,可以将PB级别的数据集进行处理和分析,并提供了多种数据挖掘工具和算法。而DMDPC则适用于企业级应用,例如ERP(企业资源规划)、CRM(客户关系管理)、SCM(供应链管理)等,提供了丰富的业务功能和高可靠性的性能。
Hadoop与DMDSC
Hadoop是分布式的,数据是分散存储在各个节点,但是设备一般都是廉价的设备,经常出现节点故障,不过对用户来说是透明的。分布式数据库是多个数据库,而DSC只是一个库多个实例。
DMDSC是由DM8组成的集群,数据是共享存储,只有一份,每个节点都不存放数据。节点可以宕,但数据不会丢失。
hadoop处理方式为 mpp,硬件投资低,硬件数量多;侧重数据仓库与数据分析,数据规模大;支持的节点多,增加节点性能基本为线性增加;
DMDSC为共享磁盘,硬件成本高,硬件数量少;侧重联机事务处理,数据规模小;支持的节点数少,增加节点性能不是线性增加。
DMDSC事务上没有协调的问题,而分布式数据库由于是多个库需要事务上的协调。
DMDSC最大的特性在于shared everything的架构,导致IO的处理能力有限,而且扩展能力也有限;而分布式数据库是shared nothing架构。
总结
2022年9月底,国家下发了79号文件,全面指导并要求国央企落实信息化系统的信创国产化改造。要求到2027年中央企业的信息化系统安可信创替代。替换要求还提到生产制造、研发系统“能替就替”;其中芯片、整机、操作系统,数据库、中间件是最重要的产业链环节。
信创产业已经被提升到国家安全的战略高度,是维护国家安全、数字经济持续健康发展的重要保障,国产替代是大势所趋。Hadoop大数据产品和达梦数据库产品在不同的行业不同场景有着各自优势的应用,但随着国央企、党政、核心单位等国产化替代进程的日益加速,目前拥有自主研发且兼容国产化要求的全系列数据库产品,可以提供一站式企业数据化转型、数据治理解决方案,满足国产化替代的需要。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值