数据库技术架构分类及落地情况如何?

最佳答案 匿名用户编辑于2024/07/17 10:34

分布式架构日渐兴起、逐渐成熟。

1、数据库的技术架构分类

数据库按照架构分类:根据计算机学会数据库专委会《数据库系统的分类和评 测研究》,按数据库系统架构角度分类,数据库可以分为单机数据库、集中式 数据库(without data sharding)、分布式数据库(with data sharding):(1) 单机数据库适用于数据量少、对服务可靠性要求不高的场景。一般都是 sharedeverthing 架构,即共享所有计算资源(CPU、RAM、Disk)和数据;(2)集 中式数据库是指多台机器联合管理数据,一般不对数据进行分片,包括一主多 备(备机不可读)、一写多读、多写多读等架构;(3)分布式是分布在计算机网 络上、逻辑上相互关联的数据库,将数据从物理上分割,并分配给多台服务器 (或多个实例),例如通过哈希进行数据划分,或者通过范围进行划分,或者 通过列表进行划分(例如北京、上海数据分配到一个节点),每台服务器可以 独立工作,具备共同的 schema。分布式架构的技术路线包括分库分表+中间件、 共享存储分布式数据库、去中心化的分布式数据库三种。

集中式 VS 分布式:根据计算机学会数据库专委会《数据库系统的分类和评测 研究》,集中式数据库是一种经典、传统的数据库结构,被广泛应用于数据管 理,其数据被集中存储在存储设备中,安全且易于处理。但是,集中式数据库 具有信息化投入成本高、性能及容量无法弹性扩展的资源瓶颈等明显的劣势。 分布式可以解决资源瓶颈问题,但受限于 CAP 理论,需要在一致性与可用性之 间权衡,其最大的挑战便是解决各个节点状态的同步问题;此外,根据中国软 件评测中心发布的《分布式数据库发展路径研究报告》,在集中式数据库中应 用比较成熟的存储过程、触发器、视图、DBLink、外键约束等功能要迁移到全 局层面实现,实现难度较大。即使部分分布式数据库已经实现上述功能,也可 能是受限使用,并且执行效率低于集中式数据库,当前分布式数据库产品在功 能完备度方面距离通用数据库有较大差距,在标准化程度方面也有一定差距。

分布式的技术路线:根据国家工业信息安全发展研究中心《分布式数据库发展 趋势研究报告》,分布式数据库与单机数据库的不同在于其可以将核心功能, 即查询、事务管理、存储等扩展到多台节点,甚至多个地域。从实现方式上看, 当前主要包含 3 条不同的技术路线:分库分表+中间件、共享存储分布式数据库、 去中心化的分布式数据库。根据 Frost&Sullivan《2021 年中国分布式数据库市 场报告》,分库分表+中间件路线的案例包括 GoldenDB、TDSQL MySQL 版、 openGauss 等;共享存储分布式数据库路线的案例包括 AWS Aurora、 PolarDB、TDSQL-C、SequoiaDB-MySQL、GaussDB for MySQL、ArkDB 等; 去 中心化 的分布 式数据库 路线的 案例包括 TiDB 、 Oceanbase、 Google Spanner 等。

2、分布式架构能更好适应高并发、大流量、高可用特征, 金融、电信已有较多落地案例

分布式架构能更好适应高并发、大流量、高可用特征。根据金融电子化援引北 京银行软件开发中心平台架构研发团队的文章《北京银行 OceanBase 分布式数 据库应用实践》,长久以来重要行业的核心数据库一直使用传统的集中式数据 库,传统的集中式数据库架构支持一般业务系统时,可以做到高效、稳定和可 靠,对金融服务的发展起着重要支撑作用,但并不能较好适应数字经济时代金 融业的高并发、大流量、高可用的特征。根据中国信息通信研究院《数据库发 展研究报告(2021 年)》,由于传统基于集中式数据库在应对海量数据及复杂 分析处理时,存在数据库的横向扩展能力受限、数据存储和计算能力受限、不 能满足业务瞬时高峰的性能等根本性的架构问题。根据中国信息通信研究院 《数据库发展研究报告(2021 年)》,利用分布式计算和内存计算等新技术设 计的分布式数据库能够解决上述遇到的性能不足等问题,分布式数据库的数据 分散在网络上多个互联的节点上,数据量、写入读取的负载均衡分散到多个单 机中,集群中某个节点故障整个集群仍然能继续工作,数据通过分片、复制、 分区等方式实现分布存储。每个数据节点的数据会存在一个或者多个副本,提 供数据冗余。当某个数据节点出现故障时,可以从其副本节点获取数据,避免 数据的丢失,进而提升了整个分布式集群的可靠性。为保障分布式事务在跨节 点处理时事务的原子性和一致性,一般使用分布式协议处理。常用两阶段提交、 三阶段提交协议保障事务的原子性;使用 Paxos、Raft 等协议同步数据库的事 务日志从而保障事务的一致性。

各主流数据库厂商均布局分布式架构。早期参与数据库产业并至今仍续存的公 司往往少有分布式数据库产品传承,但在分布式技术的趋势下,大多启动了相 关产品的研发;而新近成立的数据库企业及其它转型参与数据库技术的企业则 较多采取了直接新研分布式数据库或分布式数据库中间件的路线。

国产分布式数据库已进入大型银行核心系统和电信行业多项业务。中国银行、 中国农业银行、中国邮储银行均采用云底座+分布式数据库的方式构建分布式核 心系统;中国工商银行、交通银行则以自研开源数据库+国产数据库的方式引入 国产化数据库方案;中国建设银行则按分行与客户维度渐进式分布切换数据库 投产。