《国家工业信息安全发展研究中心:2022分布式数据库发展趋势研究报告(39页).pdf》由会员分享,可在线阅读,更多相关《国家工业信息安全发展研究中心:2022分布式数据库发展趋势研究报告(39页).pdf(39页珍藏版)》请在三个皮匠报告上搜索。
1、 分布式数据库发展趋势分布式数据库发展趋势研究报告研究报告 国家工业信息安全发展研究中心 中国电子学会 北京国家金融科技认证中心 前前 言言 随着信息技术的迅猛发展,各行各业产生的数据量呈爆炸式增长,传统集中式数据库的局限性在面对大规模数据处理中逐渐显露,从而分布式数据库应运而生。分布式数据库是在集中式数据库的基础上发展起来的,是分布式系统与传统数据库技术结合的产物,具有透明性、数据冗余性、易于扩展性等特点,还具备高可靠、高可用、低成本等方面的优势,能够突破传统数据库的瓶颈。分布式数据库目前已应用到金融、电信等大数据行业,未来将走向更广阔的领域。本报告旨在梳理我国分布式数据库技术路线和产业现状
2、,分析分布式数据库的技术特点以及面临的问题与挑战,对未来分布式数据库技术的发展趋势进行展望与研判,并提出发展建议。报告的第一章基于目前的技术发展情况,给出分布式数据库的概念及分类;第二章阐述分布式数据库的产业现状;第三章指出当前分布式数据库面临的机遇和挑战;第四章对分布式数据库未来的技术发展趋势进行展望;第五章提出推动分布式数据库发展的建议。I 目 录 前 言.2 一、分布式数据库的定义及分类.1(一)分布式数据库的定义.1(二)分布式数据库的分类.3 二、分布式数据库发展现状.7(一)发展背景.7(二)产业政策.9(三)市场格局.11 三、分布式数据库发展面临的机遇和挑战.13(一)软硬件协
3、同为分布式数据库的设计提供新思路.13(二)新技术发展为分布式数据库的架构带来新挑战.13(三)多租户管理为分布式数据库的运维提供新方法.14(四)数据迁移对分布式数据库的兼容性提出新目标.15(五)安全合规对分布式数据库的安全性提出新要求.17(六)数据增长对分布式数据库的存储技术带来新挑战 17 四、分布式数据的发展趋势.19(一)分布式数据库走向原生设计.19(二)分布式数据库架构的设计走向一体化.20(三)分布式数据库的能力将向混合负载发展.22(四)分布式数据库的场景将向云化发展.24 II (五)分布式数据库的高可用能力不断在提升.26(六)分布式数据库对数据一致性的支持将日臻完善
4、.27(七)分布式数据库的生态建设亟需推动.28(八)分布式数据库需要支持异构芯片的混合部署.29(九)分布式数据库应支持数据透明加密.30 五、分布式数据库的发展建议.32(一)补短板,聚集技术研发力量,推动标准体系建设 32(二)锻长板,依托应用丰富生态,打造自主技术体系 32(三)重测评,建立专有测评体系,提高产品质量水平 33(四)推政策,加强顶层设计引导,提升产品的成熟度 34(五)促开源,借助开源生态建设,优化国际合作形势 35 1 一、分布式数据库的定义及分类 当前数字化浪潮席卷现代社会的每一个角落,以数据作为关键生产要素的数字经济时代,数据库技术成为数字产业化的核心关键技术,数
5、据库成为了构成新型基础设施建设的坚强底座。作为 IT 系统的核心之一,数据库是企业级用户交易数据、客户信息、存货库存等海量数据的载体,数据库产业发展事关国家战略全局。据统计,2020 年全球数据库市场规模为 671 亿美元,其中中国数据库市场规模为 35 亿美元(约合 240.9 亿元人民币),占全球 5.2%;预计到 2025 年我国数据库市场规模将达到 688.02 亿元,2020-2025 年复合增长率为 23.4%。随着数据形态发生变化及数据体量爆发增长,分布式数据库的提出为解决企业数据承载困难的问题提供了一个较好的解决思路。根据 IDC 调研,目前约 26.8%的企业级市场用户部署了
6、分布式数据库,超过 90%的企业认可分布式数据库部署后的效果,其中,约 66%的被访企业看到数据库系统性能的明显改善,切实解决数据库企业级应用痛难点。(一)分布式数据库的定义 根据国际权威咨询机构(参考 Gartner1,Forrester2)对 1 Gartner:“分布式事务数据库是允许在任何分布式数据库实例节点集上执行事务的数据库。接受来自地理上分布的一组节点的写入,同时保持数据完整性和一致性并提供可接受的性能的能力使这项技术具有差异化。”2 Forrester::“一个全球性的实时数据平台,2 于分布式数据库的定义:分布式数据库是一种能够提供跨地域数据访问能力的数据库。分布式数据库需要
7、保证区域间数据一致性,在部分节点故障或者网络故障时仍旧能持续保持数据库的可用性,同时在集群内提供数据存储区域的管控,满足合规要求。图 1 分布式数据库特点 分布式数据库具备以下三个特点:跨区域提供一致且可信的数据跨区域提供一致且可信的数据。分布式数据库可以存储来自多种来源和格式的统一数据,以跨区域提供一致和可信的数据,从而支持现代业务应用程序和混合工作负载,有助于最大限度地减少应用层的数据集成,并确保数据的一致性和完整性。改善业务连续性。改善业务连续性。业务连续性已变得至关重要,特别是在支持区域和全球需求方面。分布式数据库提供了内置 支持跨地理分布区域的分布式数据处理和访问,使用高速网络连接,
8、通过自动复制确保数据的一致性、完整性、安全性和保护。”跨区域提供一致且可信的数据改善业务连续性支持法规遵从性任务 3 的高可用性(HA)功能,可在各个地理分布区域提供全天候数据可用性,并且零停机时间防止服务器或数据中心故障。支持法规遵从性任务。支持法规遵从性任务。分布式数据库可以通过存储和保护绑定到某个区域的敏感数据,确保受 GDPR 和 CCPA等法规遵从性要求驱动的数据本地化。通过利用访问控制、审核以及动态和持久数据屏蔽功能,保护机密数据不被区域外访问。(二)分布式数据库的分类 分布式数据库与单机数据库的不同在于其可以将核心功能,即查询、事务管理、存储等扩展到多台节点,甚至多个地域。从实现
9、方式上看,当前主要包含 3 条不同的技术路线。图 2 分布式数据库分类 第一条技术路线为分布式中间件第一条技术路线为分布式中间件+单机数据库。单机数据库。这条路线是在单机数据库系统上进行改造,主要解决了扩展性的问题。上层无状态的计算节点维护一套统一的分片规则,提供 4 SQL 解析,请求转发和结果合并的能力,下层实际是增强的单机数据库,提供单机数据库的存储和执行能力。这一架构通过数据在逻辑层的切割,可近似线性地对计算性能和存储容量进行扩展,具有可规模化扩展的能力。图 3 分布式中间件+单机数据库技术路线架构 优势:优势:由于实际的执行仍旧在传统单机数据库执行,这种路线的兼容性好,学习成本低;从
10、原理上说,如果有足够的资源投入,比如:硬件资源、开发运维人员等,节点的扩展可以做到很大规模。劣势:劣势:首先,由于每张表只能有一个分片规则,业务建模需要重新规划,业务代码也要相应修改,改造成本高;其次,由于分片规则是基于算法提供的,下层计算节点之间并不会进行数据交互,扩展下层计算节点的时候无法按需扩展,而要成倍扩展,数据分割过程需要停机人工介入。第三,这个路线本质上把单机数据库进行了二次处理,在全局事务 5 能力、全局 MVCC、副本控制、高可用等方面存在短板,需要有针对性增强。最后,整个方案的复杂度很高,机器冗余多,上层节点要保持高可用,分库规则的存储需要高可用,每个数据分片也需要一写多读的
11、一组节点维持高可用。第二类技术路线是通过构建分布式共享存储实现扩展第二类技术路线是通过构建分布式共享存储实现扩展,采用非对称计算节点采用非对称计算节点,大部分公有云数据库是这条路线。,大部分公有云数据库是这条路线。这条路线有限地解决了扩展性问题,跨地域数据一致性主要依赖分布式存储引擎。共享存储能够跨多个节点提供读写,上层的计算部分是无状态的一组节点组成。当有写能力的计算节点出现故障时,会自动从可用的读节点中自动选出一个作为写节点,实现写能力的高可用。图 4 非对称计算节点+分布式存储技术路线架构 优势:优势:由于上层运行的来自单机数据库改造,兼容性好;日志和数据在分布式共享存储中保持冗余和一致
12、性,产品整合度相对较高;应用不需要改造。6 劣势:劣势:扩展性有限,尤其是写节点,当数据处理规模要求较高时,仍旧需要分库处理;并且很难做到跨地域高可用。另外,这种架构需要对底座有比较重的依赖,需要对基础设施进行大范围替换。第三条技术路线是原生分布式数据库第三条技术路线是原生分布式数据库,各计算节点提供,各计算节点提供对等的读写服务对等的读写服务。这条路线是根据分布式一致性协议做底层设计,与传统数据库有本质区别。原生分布式数据库将分布式存储、事务、计算有机的结合在一起,数据由系统自动打散并存储多个副本,通过一致性协议保证多个副本和事务日志的一致性,对分布式事务、全局 MVCC 等支持更为彻底。整
13、个分布式结构是包裹在集群内部的,应用对此无感知,对应用来说,与使用传统数据库没有区别,大多数应用不需要做分布式改造。7 图 5 原生分布式技术路线架构 优势:优势:系统不需要改造;集群的扩展和收缩对应用透明,并可以按需扩展,没有数量和规模限制;数据一致性是在事务层被一致性协议保护的,安全性更高;原生的多副本机制支持跨地域的访问和容灾;硬件依赖少,可灵活进行混合云和多云部署,以及跨多云的数据管理;多活架构,硬件利用率高,可以通过普通 PC 服务器实现集群和高可用。劣势:劣势:多数产品成熟度不足,仍需沉淀,没有经过长时间核心系统验证;架构与传统数据库不同,目前虽然一些金融、能源、电信等行业的业务场
14、景已尝试原生分布式数据库的部署,但整体上下游生态适配还有待进一步完善。二、分布式数据库发展现状(一)发展背景 习近平总书记在中共中央政治局第三十四次集体学习时强调“数字经济发展速度之快、辐射范围之广、影响程度之深前所未有,正在成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量。”在数字经济、产业数字化转型的大背景下,数据要素尤为重要,而数据库作为各行业数据的存储、管理和分析的软件,是数字经济、产业数字化转型的基础。数字化转型对于大多数行业来说是知之非艰、行之惟艰。在数字化转型过程中,云计算、5G、IOT、人工智能、区块 8 链等新兴技术的发展,带来了产品和应用在各行各业的不断更
15、新和落地,随之而来的是数据量呈现几何级增长、数据结构复杂度与日攀升。根据国际数据公司(IDC)的监测数据显示,2013 年全球大数据储量为 4.3ZB,2014 年和 2015 年全球大数据储量分别为 6.6ZB 和 8.6ZB。近几年全球大数据储量的增速每年都保持在 40%,2016 年甚至达到 87.21%的增长率。2016 年和 2017 年全球大数据储量分别为 16.1ZB 和21.6ZB,2018 年全球大数据储量达到 33.0ZB,2019 年全球大数据储量达到 41ZB,2020 年全球大数据储量达到 47ZB,预计到 2025 年全球大数据储量达到 163ZB。图 6 2013
16、-2020 年全球大数据储量及其增长情况 如今,除了要求数据库提供完善的管理功能、数据存储等功能之外,若能够自如地利用数据库对数据进行采集、存储、传输、展现、分析和优化等,就可以实现企业对数据资产的治理、增值与科学决策,对数据库的高可靠、高可 9 用、高安全以及数据分析,发挥数据价值的能力需求进一步提升。但传统数据库在处理高并发、实时处理等数据业务时,明显力不从心,同时,高昂的建设成本也难以迎合数字化时代的潮流趋势。相较于传统数据库,分布式数据库的优势尽显:首先是传统数据库遇到的性能瓶颈首先是传统数据库遇到的性能瓶颈,快速发展更新的业务驱动着数据规模无限增长,传统集中式数据库面对数据量的增长时
17、难以维持性能,然而分布式数据库的性能可以水平扩展;其次是传统数据库面临其次是传统数据库面临分析能力的缺失分析能力的缺失,传统解决方案通常需要构建独立分析系统,数据存在冗余且获取延时,而分布式数据库的混合负载能力可大幅度提升分析时效性,并减少数据冗余,灵活性大大提高;最后是传统数据库的最后是传统数据库的成成本颇为高昂本颇为高昂,集中式数据库系统水平扩展难,需要按最大容量设计,可靠性需要付出高额的成本,反观分布式数据库,其架构支持灵活扩展,并可实现低成本的高可用解决方案。多重因素驱动下,分布式数据库的崛起,将为企业数字化转型提供新的思路。(二)产业政策 当前,国家已出台多项政策扶持数据库行业的发展
18、,并且信创政策也已经上升到国家战略层面,近三年部分相关政策见下图。10 图 7 产业政策 借助政策红利,从市场层面,从市场层面,国产数据库的应用越来越广泛,主要体现在党政、金融、电信、交通等行业领域;从从技术层面技术层面,国产数据库技术也处于加速提升的关键阶段,各方面能力突飞猛进,在与国外高端数据库技术的抗衡中逐渐不落下风。金融业是数据密集型行业,金融业是数据密集型行业,移动互联网和电子支付的蓬勃发展对金融系统能力带来全新的挑战。比如金融行业的数据量急剧增长,对数据存储和管理提出了更高要求,同时面临高并发业务和大用户量带来的系统压力,这就要求移动应用响应速度更快;目前我国绝大部分金融核心运行在
19、大型机系统上,运行速度尚能满足,但安全风险逐渐上升。分布式数据库在金融领域的应用能够极大的提升行业的安全与效率,同样,金融产品的日新月异也对分布式数据库技术 11 的成熟与稳定有着极高的要求。除金融外,电信行业也是一个典型的大数据行业,电信行业也是一个典型的大数据行业,数据是其重要的生产要素。随着 5G 的发展与普及,电信运营商需要处理的数据业务呈指数级增长。在助力各行各业数字化的进程中,如何利用好数据、技术等资源,释放更强大的生产力,实现对其他行业的快速支撑,是对电信行业的考验,也是对数据库技术的创新与突破的考验。(三)市场格局 我国分布式数据库自 2011 年陆续起步,经过 10 年的发展
20、,国产分布式数据库百花齐放,比如技术路线为分布式中间件+单机数据库的有 TDSQL、GoldenDB、PolarDB-X 等;技术路线是通过构建非对称计算节点与分布式存储实现扩展的有 GaussDB(for MySQL)、TDSQL-C、SequoiaDB 等;技术路线为原生分布式数据库的有 OceanBase、TiDB、ZNBase等。以下整理了部分国内分布式数据库的典型企业及其产品。第一条技术路线:分布式中间件第一条技术路线:分布式中间件+单机数据库单机数据库 图 8 分布式中间件+单机数据库技术路线典型企业及产品 12 第二类技术路线:非对称计算节点第二类技术路线:非对称计算节点+分布式
21、存储分布式存储 图 9 非对称计算节点+分布式存储技术路线典型企业及其产品 第三条技术路线:原生分布式数据库第三条技术路线:原生分布式数据库 图 10 原生分布式技术路线典型企业及其产品 13 三、分布式数据库发展面临的机遇和挑战(一)软硬件协同为分布式数据库的设计提供新思路 硬件和软件是信息系统的核心组件,两者之间相辅相成,互相制约、互相促进,所以新型硬件的发展为分布式数据库的发展带来新的挑战,软硬件协同设计为分布式数据库架构提供更多的想象空间。比如:由于市场竞争带来的性能效率问题,多核 CPU 技术走向成熟,但实际应用中 CPU 核数的简单叠加并不能实现数据库处理能力的无限扩张,核数增加带
22、来的性能增益会出现拐点和瓶颈,所以如何进行多核 CPU调度优化为分布式数据库的架构设计提出新的难题。另一方面,由于非易失内存具有掉电不易失、高速读写负载等优点,那么“把数据存储在内存中”便为数据库设计提供了更多的空间,但随着大容量内存和高速硬盘的普及,如何搭配新存储介质设计新的分布式数据库架构也有待探索。(二)新技术发展为分布式数据库的架构带来新挑战 随着大数据、人工智能、云计算等数字技术蓬勃发展,传统数据库产品与新兴技术的紧密融合促使数据形态发生变化,分布式数据库产品也不断迭代升级。然而,在分布式的前提下,还有许多待探索的问题。一是分布式事务的一是分布式事务的一致一致性保证性保证。对于单机较
23、容易实现的 ACID,分布式环境中出现了更多的难题。分布式数据库将需要处理的事务进行拆分,再部署到不同的服务器上进行处理,理想状况下,整个过程 14 需要全局一致性协议的保护,而分库分表两阶段的方式在一些意外情况下容易出现问题。二是架构的创新。二是架构的创新。当前各厂商在进行分布式改造时,分布式数据库的架构要么是对中间件负担过重,可扩展性较差,要么是在多并发和低延时上还存在升级改造的空间,因此分布式数据库的架构需要再创新。三是数据分片的智能化。三是数据分片的智能化。分布式通过分库分表进行数据拆分,从而各表的数据量保持在阈值以下,从而应对高并发和海量数据,但如何高效的、高质量的进行分片,还需再探
24、索。四四是企业级能力的提升。是企业级能力的提升。传统的数据库产品能够为用户提供很多企业级的服务,但分布式数据库的企业级能力还有众多挑战,比如:分库分表后会影响原有集中式数据库的功能,如存储过程的调用等,因此,分布式数据库自身的企业级能力还需进一步加强。(三)多租户管理为分布式数据库的运维提供新方法 从从管理难度的管理难度的角度,角度,相较于传统集中式数据库,分布式数据库的前后端工具使用均体现出差异,分布式数据库对运维人员的工作增加了许多新要求。比如:基于分布式数据库分片特性,需要更准确地管理不同节点不同类型的数据表;基于分布式数据库多节点特性,运维节点的数量也大幅增长;基于分布式数据库架构特性
25、,运维过程中更加需要注意节点故障中留存的数据不一致问题。这就需要数据库厂商提供全生命周期的运维管理工具,覆盖迁移、开发、运维全流程。15 从管理资源角度,从管理资源角度,多租户架构中一个集群中可以同时运行多个数据库租户,每个租户单独配置数据副本数量、副本类型、存储位置及计算资源等,租户之间的数据和资源互相隔离。多租户架构具备在现有服务器资源下的弹性,可以自动在不同业务之间灵活分割资源、不同时间段之间灵活调整资源,进而提升运维效率。从从管理数量的管理数量的角度,角度,用户的业务系统种类不断增加,分布式数据库的实例数量也不断增加,运维管理变得更困难。另外,用户既存的大量应用系统相互隔离、分别建设,
26、导致硬件资源利用率低,通过多租户管理等解决方案,将多个传统数据库实例并入一套分布式数据库集群,能够有效提升资源利用效率,结合方便易用的管理工具,从而为分布式数据库的运维提供新方法。有可能实现一个企业一个数据库解决所有应用的目标,最大限度地减少企业开发和运维的投入,专注于业务发展,实现降本增效。(四)数据迁移对分布式数据库的兼容性提出新目标 大部分行业经过企业信息化的长期积累与革新,在企业内部积累了大量的业务系统。传统的企业级数据库产品提供了强大的能力,协助开发者快速便捷地构建应用程序,但同时也导致应用设计过度依赖数据库功能。适配新的数据库产品必须对应用代码进行大量修改,比如:当一款经过长期迭代
27、发展的业务系统需要进行数据迁移时,由于源数据库与目标数据库在底层架构、实现逻辑上存在差异,在进行数据迁 16 移过程中,各数据表的数据类型、函数、语法规则需要进行系统、全面、细致的改造。这就要求分布式数据库对原有数据库都能够很好的支持,降低迁移的代码改造成本。目前大多数分布式数据库还不完全具备主流数据库生态的兼容能力,兼容的种类还不够丰富,兼容度还有待提高。个别技术路线还不能做到数据库架构对应用系统的完全透明,需要单独对数据库架构做分布式改造。另一方面,将数据从传统集中式数据库迁移至分布式数据库是一项复杂且庞大的工程。企业对于能否在不影响业务的条件下,实现安全的无损迁移,是尤为重要的。迁移前对
28、兼容度和性能进行评估和模拟测试,在迁移过程中,支持在较大数据量的背景下快速、准确完成迁移,并且不影响线上生产环境应用正常运行。完成之后还需要进行多轮全量数据校验和业务测试,以保证迁移正确性。但是目前大多数分布式数据库还无法提供迁移流程的全生命周期管理,流程缺失,或者准确性不足。值得一提的是,高度的商业数据库兼容能力意味着大量的设计和研发工作,涉及产品整体架构的多个方面,十分考验厂商对代码的理解和掌控能力。完全自主研发的产品在这方面具备先天的优势,未来无论在兼容性适配还是产品能力的研发上都更具潜力。17 (五)安全合规对分布式数据库的安全性提出新要求 当前信息安全已经上升到国家战略高度,诸多行业
29、监管机构和政府部门对数据存储和使用都有明确的安全合规性要求,而数据库系统对维持企业核心数据的安全性和业务的稳定性具有重要作用,任何数据的丢失和长时间的服务中断都将给企业造成无法挽回的损失。另一方面,随着“互联网+”与产业结合愈加密切,数据环境日趋复杂、业务创新加速、新技术蓬勃发展,企业越来越重视数据库的可用性、可扩展性、稳定性以及安全性。由于分布式数据库天然对数据有频繁调度,不论是地理位置方面还是节点方面,都增加了传输过程的风险性。尽管分布式数据库会设计一些安全措施,但企业仍会持审慎的态度,所以如何有效预防分布式数据库的数据泄露,保证分布式数据库满足安全合规的约束,对分布式数据库的发展提出了新
30、的要求。(六)数据增长对分布式数据库的存储技术带来新挑战 在当今的数字化时代,随着业务的迅速发展,每天产生的数据量惊人,数据库存储的成本将会越来越大。通常的做法是,对历史数据做归档,即将长期不使用的数据迁移至以文件形式存储的廉价存储设备上,然而在部分核心业务的应用场景下,会存在典型的如针对几个月甚至几年前的“旧”数据依旧存在实时的、低频的查询甚至更新需求。如果这时从历史备份中还原后查询,那么查询时间将会是以天为单位。18 如果将这些低频但实时的查询需求的历史数据与近期活跃存储在同一套分布式数据库集群下,同样会带来一系列挑战,如:存储成本巨大,进而导致成本远大于收益,比如钉钉聊天信息数据量在高度
31、压缩后接近 50PB,很难想象这些数据不做压缩会带来多大的资金开销。性能挑战巨大,随着数据量越来越大,即使针对数据做了分布式存储,单实例容量超过大概 5T 以后性能也会急剧下滑,进而影响到近期活跃数据的查询性能,拖垮整个集群。运维难度巨大,比如针对海量数据下发一个表数据结构变更操作,很难想象全部完成需要多长时间。正是基于上述情况,数据增长对分布式数据库的存储技术带来了诸多新挑战。鉴于存储成本是考核数据库的关键指标之一,分布式数据库需要具备数据压缩能力、HTAP 数据混合处理的能力等,以解决成本可控、统一查询入口、改造成本低廉等问题。19 四、分布式数据的发展趋势(一)分布式数据库走向原生设计
32、随着数据处理规模指数级增长,众多系统面临着性能和成本的双重压力。为应对新的业务需要,数据库领域急需革命性产品开启未来。分布式数据库的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。而原生分布式高可用设计能够在普通服务器上实现无限水平扩展,通过添加低成本服务器即可扩展算力,提升数据库集群的整体性能。所有节点均支持读写,对外提供统一的数据库服务,支持全局索引、全局一致性事务。特别是对客户来说,用法与传统集中式数据库没有区别,从而省去了定制改造的步骤,减少大量人工成本。除此之外,在高可用方面,容灾能力是关键业务系统的重要衡量指标。原生分布式在设计之初就假
33、定硬件是不可靠的,它可以支持多个数据副本分散存储在不同地域,实现跨机架、跨数据中心、跨地域的容灾部署,能够最大程度提高业务系统的容灾能力。在强一致事务的保护下,变更操作在多个地域保证成功提交,因此当灾难发生时,数据不会丢失,达到高级别的容灾标准。原生分布式架构是一个全新的设计,具备集群的扩展和收缩对应用透明,并可以按需扩展,没有数量和规模限制;原生的多副本机制支持跨地域的访问和容灾;多活架构,硬 20 件利用率高等优势。可以预见的是,未来更多的产品会走向原生分布式的技术路线,原生分布式数据库也将迎来更好的发展机遇。应用案例:某电信公司核心计费系统原生分布式数据库替换应用案例:某电信公司核心计费
34、系统原生分布式数据库替换 计费系统是电信公司的核心业务系统,日处理各类详单数据百亿条,数据处理性能和准确性至关重要。某电信公司过去使用的集中式单机数据库,面对互联网和 5G 时代不断激增的用户数和并发量,经常出现容量不足的情况,迁移应用还需要在复杂的业务逻辑中梳理 Oracle 数据库对象进行适配,故需要一款数据库产品具备很高的 Oracle 兼容性,并可以自动做评估、转换并支持在线搬库。某原生分布式数据库基于 Paxos 协议和分区等技术整合多套原先的分散系统,多机房部署实现高可用和容灾,业务迁移后不再需要搭建灾备系统。通过性能无损的数据高压缩比,分区、读写分离、LSM TREE 存储等技术
35、,提升了 OLTP 事务效率;通过高兼容性和迁移服务 OMS 保障了多个核心业务系统的平滑迁移,核心数据库源系统数据类型、对象、存储过程仅经过少量修改便能达成应用适配,实现一站式数据库无损切割。另外,该原生分布式数据库使用普通 PC 服务器替换线下小型机+集中式存储等传统架构,相比原有的架构帮助电信公司大幅降低硬件成本。图 11 某电信公司核心计费系统数据库替换架构图(二)分布式数据库架构的设计走向一体化 目前国内数据库主要分为存量替换和增量市场两个部 21 分。其中,增量市场主要以开源语法兼容为主,绝大部分业务逻辑在应用中实现,对数据库能力要求相对较低,很多开源产品也能满足。而对厂商来说,增
36、量市场研发投入相对较少,因此大部分新兴分布式数据库厂商都在追逐这个市场。而存量替换则是多数国内企业真正遇到的难题,绝大部分企业的核心业务系统运行在功能强大的集中式商业数据库上,目前面临着原有数据库系统无法升级的困境,存在License过期的风险,而业务系统重构又存在成本高、风险大的问题。商业数据库功能灵活、语法支持多等对分布式数据库的兼容能力设计提出极大的挑战。厂商要用一体化设计的思路,将传统商业数据库的强大的单机能力与分布式融合,将多种负载能力在一套数据库上融合,甚至将多种兼容能力体现在同一套数据库中,这些是国内各重点行业的企业迫切需要的,能够为企业节省大量的迁移适配成本。此外,未来分布式数
37、据库应提供数据迁移过程的全生命周期管理,在管控界面上完成数据迁移的创建、配置和监控,交互简便。同时提供多种方式的数据校检和保护,全面高效的保证数据正确性,展示差异数据,提供快速修复能力。因此,未来分布式数据库产品将具备全方位、高标准、高可靠性的平滑迁移能力。应用案例:某大型保险公司核心业务系统分布式数据库替换应用案例:某大型保险公司核心业务系统分布式数据库替换 某保险公司业务种类多、覆盖范围广,随着业务的快速发展,支撑系统面临着巨大的挑战。一是由于业务分布不均匀,原有数据库系统只能按不同省份 22 或业务划分,造成业务运行在上百套数据库集群的状况。二是由于业务的持续快速增长,原有集中式共享架构
38、的部署模式已不能有效支撑,且分散的集中式集群存在扩展瓶颈,导致数据库扩展成本、运维成本和管理复杂性的大幅提升。三是公司部分核心系统是基于 Oracle Tuxedo 中间件和 Pro*C 编程接口开发,对象类型复杂、系统庞大、数据量巨大,如果不能有良好兼容性的新技术支撑平台,业务代码将面临大规模修改,系统实施的难度和复杂性以及成本的消耗将无法估量。某分布式数据库为保险公司在两地规划双机房,采用两地部署跨城主备库方案,满足异地城市级容灾要求。同城采用三副本的分布式部署架构,利用多租户支持多业务,实现系统统一管理。多活模式支持高并发,保证高可用。利用数据迁移工具实现数据实时同步,在应用系统迁移到分
39、布式数据库后,数据回流原 Oracle 数据库,保证系统回切能力。通过对数据库的改造,该保险公司数百个业务数据库整合到几个集群实现集中管控,有效节约硬件和运维管理成本。图 12 某大型保险公司核心业务系统数据库替换架构图(三)分布式数据库的能力将向混合负载发展 企业级应用的业务场景通常可以分为联机交易和实时分析两种,通常称为 OLTP 和 OLAP 的业务应用,由于是不同的应用场景,大型企业往往会选择多款数据库产品分别支 23 持。这种组合式的解决方案要求数据在不同产品间进行流转,数据的同步过程就带来了时间延迟和数据不一致的风险,而且还会产生冗余数据,成本开销被迫提高,这在一定程度上限制了企业
40、的发展。HTAP(混合事务/分析处理),是近年来提出的一种新兴的应用框架,旨在打破事务处理和分析之间“壁垒”。未来分布式数据库应具备混合负载能力,即在支持高并发、事务性请求的同时,也对分析型的复杂查询提供了良好的支持,实现计算、I/O资源互不干扰的OLTP/OLAP混合负载管理,提供高性能并行执行计算,充分释放资源,进一步提升系统稳定性。并且可以灵活配置两种负载的资源占比,使得在线交易和分析互不影响,一站式地解决企业级应用的各种需求,从而大幅度降低成本,同时提高了企业决策的效率。混合型事务和分析(HTAP)能力能够帮助企业提高诸多特定场景的分析决策的实时性,比如:金融防欺诈、证券交易决策、信用
41、风险评级等。一个对数据多种查询和计算的 HTAP 系统于用户而言更加友好,性价比更高,省去了数据抽取转化加载的过程并保证了查询结果的实时性,将成为更多用户的选择。应用案例:某石化公司加油卡系统分布式数据库替换应用案例:某石化公司加油卡系统分布式数据库替换 某石化公司计划基于新基建技术构建新一代智慧加油站,推进自身向生活综合服务商的战略转型。然而,原有加油卡系统为异构分散式系统,无法满足业务转型对系统高可用的要求,也无法适应互联网化客户营销服务体验和模式的创新需求。24 某分布式数据库整合了该公司 23 套 Sybase 和 Oracle 数据库,基于分布式数据库架构实现省级和跨省分布式交易。整
42、个系统将分区、读写分离、异地双活等技术进行应用,实现负载均衡和 OLAP 查询效果提升,LSM Tree 等技术同时也提升了 OLTP 事务效率,能够支持互联网化应用类型负载,体现了分布式数据库的 HTAP 混合负载能力。该分布式数据库提供的兼容性和一键迁移能力,确保了原有的 Oracle 和 Sybase 数据库应用无损迁移,在节省大量人力成本的同时确保了迁移安全。基于 Paxos/分区/OMS 等技术实现异地双中心容灾和高可用能力,满足了业务转型对高可用的要求。图 13 某石化公司加油卡系统数据库替换架构图 该分布式数据库通过赋能“数据+平台+应用”的架构设计理念,使得公司加油卡系统实现了
43、南北双中心和系统远程灾备,可支持单位客户多级账户管理,是一个全国集中、全天候连续运行、交易与管理分离的全新加油卡系统。(四)分布式数据库的场景将向云化发展 全球知名咨询公司 Gartner 指出,“到 2022 年,75%的数据库将被部署或迁移到云平台,只有 5%的数据库会考虑本地部署。”云化无疑代表了未来,当前,云已经成为中小型企业和互联网公司进行数字化转型的首选 IT 架构,在传统行业,云的使用度也在逐步攀升。在此趋势下,数据库也加速了与云环境融合。分布式数据库可以将传统部署和 25 公有云资源有机结合,有效解决私有部署灵活度低,成本过高的问题。多云支持具备快速部署、快速销毁、前期投入低等
44、特点。利用公有云资源能够低成本实现容灾和算力扩展。另外,部署灵活特性意味着不被特定硬件和服务绑定,能够做到机房部署,任意公有云部署,甚至集群内跨多基础设施的混合云,多云部署。因此,在数据库产品设计层面要充分适配云环境、兼容更多云技术,从而添加更多资源管控、灵活购买、多部署形态等云化方面的能力。面对未来越来越多的用户选择业务上云,企业如何在云原生架构下使用数据库以及提升自己跨云数据管理的能力,就成为必须要思考的问题。应用案例:某应用案例:某头部财险公司新一代头部财险公司新一代车险系统公有云分布式改造车险系统公有云分布式改造 在“互联网+”的大背景下,保险公司的传统业务面临向互联网化转型的挑战。某
45、头部财险公司在转型过程中遇到几个大的挑战。首先,该公司一直使用传统集中式架构,原有约 150 个数据库实例包含了 4 种数据库产品,给运维工作造成了极大的复杂性,运维工作的复杂性增加了风险和故障的概率。其次,随着保险业务量的不断扩张,公司重点发展的 2C 业务交易量面临爆发式增长,未来对数据中心规模的需求无法估量,成本难以预测。某分布式数据库多租户、大集群的管理能力,实现数据库的技术栈归一,减少了管理实体的数量,提升了运维稳定性。同时,引入金融云公共平台,基于现有的私有云机房和公有云环境进行混合部署。利用公有云服务构建灾备中心,从传统冷备升级到双活,进而实现单元化部署。业务方可以在公有云上基于
46、数据库快速搭建完整分布式架构,降低私有云的交付运维成本。26 图 14 某头部财险公司新一代车险系统公有云分布式改造架构图 通过分布式改造,该财险公司利用公有云资源,低成本的实现容灾能力、算力扩展,达到了集群内跨多基础设施的混合云部署。该财险公司基于分布式数据库构建新一代的车险系统,在全国多个省区市实现业务线上化、智能化,为车主提供便捷稳定的车险服务。(五)分布式数据库的高可用能力不断在提升 提高分布式数据库的可用性包括了容灾能力建设及可靠性建设。在容灾方面,传统的高可用容灾方案依赖操作系统、存储、数据库等多组件整合分级实现,与业务自身应用配合度低,容灾切换要求高、难度大,风险难以估计,亟需变
47、革升级。在可靠性方面,由于各行业迅猛发展和信息量爆发式增长的现状对数据库的高可用能力要求更高,724 小时的服务不中断和数据零丢失往往超出了传统数据库可以承受的能力,同时应对的成本也十分高昂。因此,未来分布式数据库应采取更好的方案来提升其高可用能力。应用案例:某大型国有银行对公理财系统分布式数据库替换应用案例:某大型国有银行对公理财系统分布式数据库替换 对公理财系统是银行重要业务系统之一,支撑着企业客户万亿级别的资 27 产,需要保证 7x24 小时持续服务,容灾等级要求达到金融容灾规范的 5 级标准。某大型国有银行长期以来采用传统大机和 DB2 数据库的封闭模式运动架构,软件采购成本居高不下
48、;随着近年来业务并发量的不断增加,也出现了处理能力不足的情况。因此该银行决定迁移到分布式系统,并采用国产 ARM 芯片服务器、国产操作系统和国产分布式数据库的全国产分布式架构。某分布式数据库为该银行搭建了横跨两地三中心的分布式集群,以五副本+主备模式提升高可用水平,为业务提供坚实的连续性保障,同时保证了系统性能和稳定性。“主备库”方案将可用性进一步提升,当主集群出现故障时,备集群可以接管服务。备库提供最大可用、最大性能、最大保护三种保护模式,可以根据实际情况选择,最大限度满足实际业务需要。图 15 某大型国有银行对公理财系统数据库替换架构图 通过分布式数据库的替代,整个系统从原有的大机生态系统
49、下移,有效降低了软硬件成本,并为银行核心系统国产化分布式转型提供了一条可行的技术路线,对金融行业全栈国产化替换有很好的借鉴和推广意义。(六)分布式数据库对数据一致性的支持将日臻完善 研究表明,在可靠数据库管理系统中,事务应该具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。以往在处理单一事务时,事务的原子性和持久性可以确保在一个事务内,操作 28 多条数据要么都成功,要么都失败。这样在一个系统内部,可以使用数据库事务来保证数据一致性。但是在微服务日益广泛的今天,一项操作会涉及到跨多个系统、多个数据库的时候
50、,用单一的数据库事务就没办法解决了。并且,数据一致性不仅指在事务发生时的数据一致性,还需要考虑到主备副本之间、集群之间的数据一致性,以及是否有类似区块链似的校验,具备防篡改的能力和应对磁盘静默错误的能力。目前,从数据库行业看,不论是 Oracle、MySQL 还是其他大多数数据库都没有校验主备副本之间的数据一致性。传统数据库技术面临巨大挑战,无法有效保障数据一致性。因而,在数据服务场景越发多样化的趋势下,对分布式数据库所具备的数据一致性级别要求将会越来越高。当前支持跨区域的数据一致性只是基本,随着微服务的广泛应用,还需要分布式数据库能够支持跨集群、跨表分区、跨数据块的数据一致性。(七)分布式数
51、据库的生态建设亟需推动 数据库作为基础软件,需要与整个上下游软硬件厂商适配,需要很好的产业建设和人才培养,才能为用户提供更完整、更便利的服务。分布式数据库作为数据库产业的下一步发展趋势,要积极推动生态建设,与国产芯片厂商、硬件厂商、操作系统厂商、中间件厂商等相互认证,与上游 ISV 共 29 建行业解决方案,为用户提供一整套的产品服务体系。先行的分布式数据库厂商要积极参与国家行业标准制定,推动整个行业发展。另一方面,要积极参与制定人才培养体系,与高校深入合作,为国家培养更多的基础软件人才,助力行业基业长青。而分布式数据库生态建设的核心,便是开源的思想。开源是做基础软件的必经之路,也是社会组织分
52、工的一种新形式和新趋势,开源社区本身就是基础软件商业化当中重要的一环。分布式数据库之所以需要开源,是因为需要更多人去理解和使用,使用和为其贡献代码的人越多,才能越有助于构建出一个完整和健康的生态。因此,开源生态建设既是企业商业布局的利器,也是促进技术发展和推广的重要手段。当更多的分布式数据库厂商通过开源方式将技术共享给开发者、社区、合作伙伴进而推进共建生态环境时,分布式数据库将会步入快速高品质迭代的大道,提升产品质量,扩大品牌力,吸引更多、更广的用户群体,为分布式数据库的推广与发展,起到跨越式的推动作用。(八)分布式数据库需要支持异构芯片的混合部署 异构计算时代已经到来。所谓异构,即将 CPU
53、、DSP、GPU、ASIC、FPGA 等不同制程架构、不同指令集、不同功能的计算单元,组合起来形成一个混合的计算系统。所谓异 30 构芯片的混合部署,就是在允许异构内核以分离模式运行的同时,集成内核的共享集群逻辑以锁定模式运行。这就在不同的层级上既提供了锁定模式的安全机制,又提供了分离模式的性能。未来,数据库要为操作系统、芯片的灰度替换提供支持,而在关键行业及软件领域,数据库还需要提供对异构芯片的支持,从而提升数字化解决方案的严谨性,降低应用风险,分布式数据库也不例外。而对于企业,从成本角度上看,如A 芯片涨价,企业可选择采购 B 芯片,提升采购自由度的同时,可降低芯片成本;从安全层面上看,如
54、果 A 芯片爆出安全漏洞,企业可随时替换 B 芯片,尤其在核心系统,可以选择安全性更高的芯片,从而保障业务的连续性。(九)分布式数据库应支持数据透明加密 2021 年 11 月 1 日中华人民共和国个人信息保护法正式施行之后,监管部门已在金融等行业中推广数据加密,要求敏感数据采用加密的方式进行存储。而数据库、存储产品等作为数据的承载媒介,有义务为此提供坚实的数据安全保障。目前,敏感数据加密业界普遍的做法是通过代码直接调用加密机进行加密,这在实际的应用中带来了负担,因为每次应用代码的迭代都要考虑是否完成了对敏感数据的加密。同时,应用开发人员需要与安全、审计人员协作完成这块工 31 作,一旦出现遗
55、漏,就易造成信息的泄露。因而在分布式数据库的发展中,亟需实现更加简易的数据加密机制,而数据透明加密的出现不失为一种有益思路。其通过数据库层配置即可完成,开发人员无需修改代码,因而能够使应用完全无感。目前,数据透明加密的实现在透明传输加密及透明存储加密两个层面都取得了突破。具体而言,透明传输加密使得即使网络包被拷贝走以后,网络包中传输的数据也无法解密,其需要实现 SQL 代理到数据库服务器之间的通信加密。而透明存储加密使得即使数据库的文件被拷贝拿走,也无法解密其中的数据。透明存储加密采用两级密钥管理,第一级密钥为根密钥,在国家认证的加密机里,而第二级密钥即数据密钥的密文需在分布式数据库的内部表里
56、管理。32 五、分布式数据库的发展建议(一)补短板,聚集技术研发力量,推动标准体系建设 我国分布式数据库起步较晚,且数据库的技术壁垒高,长期以来一直面临着紧张的外部压力。在核心技术研发上,强强联合比单打独斗效果要好,要充分调动产学研用多方力量,协同攻关,解决技术瓶颈问题,持续加强关键核心技术突破,不断完善分布式数据库产品在高性能、高可靠、高安全、海量数据支撑等方面的核心技术研发,集聚资源力量协同攻坚。另一方面,随着商业模式向云化、微服务等方向发展,分布式数据库产品需要结合商业模式的转变,注重技术攻关与商用模式创新有机结合,完成技术攻关与融合创新的更新迭代。由此来建立面向我国分布式数据库自主技术
57、路线的标准体系,从关键技术、技术迁移、适配兼容、行业应用等多维度建立标准规范,实现行业规则统一、互联互通、高效发展,探索出特色发展路径,抓住机遇尽早实现分布式数据库领域的换道超车。(二)锻长板,依托应用丰富生态,打造自主技术体系 对于数据库厂商来说,做好产品是硬道理。好的产品是“用出来”的,要经历足够的应用实践,由用户推动成熟,在应用中解决层出不穷的问题,才能让产品更健壮,所以行业应用是推动数据库发展的关键要素,用户和厂商需共同为数据库产业良性发展而努力。当前,我国正在构建以内循环 33 为主,国内国际双循环相互促进的新格局。我们应当抓住这次以外力促进提升内功的机会,转变思维,从“模仿跟随”走
58、向“创新创造”,坚持以行业应用需求为牵引,以典型核心业务场景为突破口,找准产品市场竞争力的落脚点和发力点,研发高性能、高可靠、高安全的国产分布式数据库产品,打造我国自主技术路线体系。同时通过示范应用,以点带面逐步树立用户(特别是重点行业领域用户)对国产分布式数据库产品和服务的信任度。(三)重测评,建立专有测评体系,提高产品质量水平 分布式数据库测评体系的建立是提升产品质量水平,实现产业高质量发展的根基,我们建议我国的分布式数据库测评体系,一方面,从单一评价转向综合评估,以性能评价转一方面,从单一评价转向综合评估,以性能评价转向多维度能力评估体系。向多维度能力评估体系。我国测评体系的建立应该紧密
59、围绕产业发展实际,建立多维度能力评估体系,既包括数据库的性能指标,同时也包括数据库与应用系统的适配能力评价,数据库的安全性等。因此,由原有单一以性能评价为主,转向场景化测评、安全性评估、自主可控度评估等多维度能力评估体系至关重要。另一方面,从闭源走向开源,分布式数另一方面,从闭源走向开源,分布式数据库测评体系的建立与开源数据库的发展紧密结合。据库测评体系的建立与开源数据库的发展紧密结合。当前开源技术已成为全球基础软件发展的主流趋势,首先,最关键最核心的技术要立足自主创新、自立自强。此外,要加大国内外开源发展趋势研究,探索建立我国自主开源社区和开源 34 治理模式,分布式数据库测评体系的建立应与
60、开源数据库的发展紧密结合。(四)推政策,加强顶层设计引导,提升产品的成熟度 近年来在国家政策引导和各方努力下,国产分布式数据库在金融、互联网等行业得到了重点应用,同时也促使产品技术不断迭代,兼容性、易用性、可扩展性等问题一一克服。在此过程中,由于适配工作缺乏统一的组织管理,大大增加了分布式数据库适配的难度和工作量。很多厂商把大量的时间、资金和精力用在重复性的适配上,客观上迟滞了行业的技术水平和产业水平的提升。另一方面,国内数据库产业链尚不健全,各企业力图独自开展分布式数据库设计、研发、交付、运维、服务、迁移等全环节,导致力量分散、企业多而不强,产业内部优势互补、分工协同的产业生态模式有待加强。
61、我们建议加强适当的政策引导,充分利用好数据库以及基础软件领域的创新中心、适配基地及重点实验室等机构,加强供需双方的产用协同,形成良性的问题反馈机制,共同解决一些共性的技术和产品问题,逐步打磨优秀的分布式数据库产品。与此同时,未来随着分布式数据等的标准体系及评价体系的健全,分布式数据库产品的生态体系也将逐渐完善,在运维保障、数据迁移、运行监测等方面的配套工具也要逐步成熟。35 (五)促开源,借助开源生态建设,优化国际合作形势 发展我国分布式数据库产业,开源是一条重要的发展路径,而开源生态建设既要遵循世界开源强国的基本经验,又要根据内外部形势探索颠覆式创新,把提升原始创新能力摆在更加突出的位置,避
62、免一味盲目追赶。开源社区本质上是一种人才、智慧的聚合,是产业升级的强大助推器,我们建议要加强开源社区建设,积极参与开源全球体系建设和生态治理。对于数据库厂商来说,围绕开源社区去做增值工具组件或者增值服务,也恰恰是其围绕开源社区的一种商业模式。优秀的开源社区会成为一个平台,先把有类似想法、类似需求和类似技术能力的人汇聚在一起,再把有能力提供专业级服务的人和需要专业服务的人对接在一起,最终形成一个健康的正向循环。目前优秀公司的核心程序员大都在国外开源社区分享及贡献,我国也应该鼓励大家在社区上做出贡献,成立权威组织等吸引优秀程序员分享。同时号召生态工具能够让利合作伙伴,数据库体系内的工具产品不应全部是厂商自己闭环使用。另一方面,发挥开源基金会及开源组织等机构职能,与国内外开源组织建立良好合作,有序推动项目、开发者、社区联动,提高开源组织影响力,在全球范围内构建有话语权的国际开源机构,深化数据库领域的多边国际互利共赢。