前言
分布式数据库是传统数据库技术与计算机网络的有机结合,具有平滑扩展、高性能、高可靠、高可用、低成本以及容灾备份等技术优势,特别是在性能方面可突破集中式数据库的瓶颈,具有很强的研究和应用价值,目前很多数据库企业研发了分布式数据库产品,并在金融、电信、互联网等重点行业进行了成功应用,具有良好的发展前景。
为了明确分布式数据库的概念,梳理分布式数据库的技术体系和应用现状,对未来的技术和应用趋势进行研判,中国软件评测中心牵头组织,中兴通讯、华为、蚂蚁科技、贵州易鲸捷、腾讯云、武汉达梦等国内分布式数据库产品厂商参与,调研了国内主要分布式数据库产品厂商,并对部分产品进行了测评,参考了国内外主要研究机构的学术成果,历时半年共同编制了《分布式数据库发展路径研究》报告,为我国的分布式数据库产业和技术发展提供参考,为分布式数据库的发展路径提出建议。
目录
01
分布式数据库的概念及分类
1
分布式数据库的概念
分布式数据库最早于20世纪80年代提出,受限于当时的计算机软硬件及网络发展水平,数据库专家M.Tamer?zsu和PatrickValduriez在经典著作《分布式数据库系统原理(第3版)》中,把分布式数据库定义为一群分布在计算机网络上、逻辑上相互关联的数据库。随着信息技术的发展,集中式数据库也正向基于网络的共享集群路线发展,而市场上的分布式数据库也不仅限于网络分布、逻辑关联等特性,经典的分布式数据库定义显然已不能体现分布式数据库当前技术特点,难以满足数据库种类区分要求。
根据目前我国分布式数据库技术现状,我们认为分布式数据库是具备分布式事务处理能力、可平滑扩展、分布于计算机网络且逻辑上统一的数据库。
主要特征如下:
1.分布式事务处理
2.平滑扩展
3.物理分布、逻辑统一
2
分布式数据库的主要技术
分布式事务处理技术
分布式数据库为保障跨多个节点的事务原子性、一致性,一般使用分布式协议来处理分布式事务。常用两阶段提交协议、三阶段提交协议保障事务的原子性;使用Paxos、RAFT等协议保障事务的一致性。
分布式存储技术
分布式数据库一般采用无共享(Shared-nothing)架构,数据分布在网络上多个互联的节点上,这样做有多种好处:
1.数据量、读取负载、写入负载超过单台机器的处理能力。
2.满足容错和高可用需求,单台机器(或多台机器、网络或整个数据中心)出现故障的情况下,仍然能继续工作。多台机器可以提供冗余,一台出现故障,另一台可以接管。
3.降低延迟,每个用户可以从地理上最近的数据中心获取服务,避免等待数据包远距离传输。
数据分布存储有两种常见方式:复制(Replication)和分区(Partitioning),两者通常结合使用,使得每个分区的副本存储在多个节点上。这意味着,即使每条记录属于一个分区,它仍然可以存储在多个不同的节点上以获得容错能力。
3
分布式数据库的分类
分布式数据库分类与传统集中式关系数据库相类似,按对数据处理的方式不同一般分为两类:联机事务处理、联机分析处理。随着技术的发展,用户对于数据库的要求越来越高,事务处理类的数据库在满足功能、性能时,还需要有一定的数据分析能力,因此目前分布式数据库又产生一个新的分类—混合事务分析处理。
以上是报告部分内容,点击文末阅读原文,即可免费获取完整版报告~
02
分布式数据库发展的现状及问题
1
分布式数据库的发展现状
技术现状
相比教于集中式数据,分布式数据库具有平滑扩展、高可靠、高可用、低成本等关键特性和显著优点。目前部分分布式数据库实现了分布式事务的强一致性,保证分布式事务的ACID要求,为分布式数据库在关键领域的领域奠定了基础,而且成熟的分布式数据库透明性较好,上层应用系统可以像使用集中式数据库一样使用分布式数据库事务,无需