温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
分布式
数据库技术
应用
分析
,信息通信分布式数据库技术及应用分析田锐,喻婧(中国移动通信集团设计院有限公司湖北分公司,湖北武汉430 0 0 0)摘要:随着IT技术的发展,数据库系统架构演进经历了单点集中式架构、共享存储架构和分布式架构三个阶段。其中分布式架构的数据库技术演进主要包括应用垂直拆分、中间件分库分表和原生分布式数据库三种架构体系。伴随着企业数字化转型的深入,业务系统数据总量呈现指数级的增长,数据库业务场景和形式也越来越多样化,分布式架构的数据库技术应用实现了数据库服务能力的分布式线性扩展;同时也推动了数据库逐渐从“点”向“面”转变,逐步开始向可提供弹性扩展、多模式的数据服务能力平台的方向发展。文章主要是从数据库架构、分布式数据库技术、分布式数据库应用等维度对分布式数据库技术及应用进行分析,为企业业务IT支撑系统应用分布式架构数据库提供参考。关键词:IT;数据库;集群;分布式;原生分布式数据库中图分类号:TP311Distributed Database Technology and Application AnalysisChina Mobile Communications Group Design Institute Co.,Ltd.Hubei BranchAbstract:With the development of IT technology,the evolution of database system architecture has gone through three stages:single point centralized architecture,shared storage architecture and distributed architecture.The evolution of database technol-ogy of distributed architecture mainly includes three architecture systems:application vertical spltting,middleware databaseand table splitting,and native distributed database.With the deepening of enterprise digital transformation,the total amount ofbusiness system data shows exponential growth,and the database business scenarios and forms are becoming more and more di-versified.The database technology application of distributed architecture realizes the distributed linear expansion of databaseservice capability;At the same time,it also promoted the database to gradually change from point to face,and gradually be-gan to develop towards a database platform that can provide a flexible,scalable,multi-mode data service capability.This papermainly analyzes the distributed database technology and application from the database architecture,distributed database tech-nology,distributed database application and other dimensions,and provides a reference for the enterprise business IT supportsystem to apply the distributed architecture database.Key words:Information technology;Database;Colony;Distributed;Native distributed database0引言近年来随着企业数字化转型的深入,业务系统数据总量呈现指数级的增长,数据库业务场景和形式也越来越多样化,系统数据库需要应对业务更高的性能挑战,传统的集中式架构数据库逐渐成为整个IT系统的瓶颈。与此同时,云服务的飞速发展要求数据库具备良好的弹性伸缩能力、持续服务能力和合理的成本控制;企业在对IT支撑系统升级改造时也希望通过相对廉价的X86设备堆叠出具备高可用性、高扩展性的数据库计算集群,从而摆脱对小型机、磁盘阵列等高TCO(T o t a l Co s t o f O w n e r s h i p)大型数据库设备的依赖。因此,兼具高可扩展性、高并发性、高可用性的分布式数据库逐渐在企业集中式部署DB(主)DB(备)2023年第0 5期(总第 2 45 期)文献标识码:A文章编号:2 0 96-97 59(2 0 2 3)0 5-0 16 5-0 3TIAN Rui,YU Jing业务系统、云服务中得到越来越多的应用,已经成为了一种技术架构演进趋势。1数据库架构浅析数据库系统架构演进发展主要分为三个阶段,即单点集中式架构、共享存储架构和分布式架构。(1)单点集中式架构单点集中式架构数据库通常需要构建在高端数据库硬件设备上,以保证高性能和高可用性。数据库服务器大多采用IBMPOWER系列、HPSuperdome等高端小型机服务器、后端FC存储则通常采用EMC、Su n 等高端磁盘阵列。以Oracle为代表的传统单点数据库在生产企业的业务系统数据库中仍占据主导地位。共享存储部署DBDB分布式部署DBDBDBDBDB本地威盘本地磁盘共享存储本地磁盘本地磁盘木地磁盘本地磁款图1数据库系统架构示意图收稿日期:2 0 2 2-12-0 9作者简介:田锐(198 7-),男,湖北武汉人,工程师,学士,主要研究领域为IT系统、云计算等。165Changjiang Information&Communications(2)共享存储架构共享存储架构数据库各个处理节点使用自已的私有CPU和内存,但共享同一磁盘系统,相对单点集中式架构,具备一定的扩展能力。以Oracle数据库实时应用集群(RAC)为例,RAC集群需要建立在一个共享的FC存储之上,且各数据库服务器节点之间需要通过高速网络实现互连来处理通信和保证每个节点访问数据的一致性。(3)分布式架构分布式架构数据库基于数据分片,各个处理节点都配置了私有的CPU/内存/硬盘等资源,无共享资源;各个处理节点之间通过协议实现通信、数据处理,数据库的并行处理能力和扩展能力更加强大。分布式架构数据库底层数据通过特定的规则将数据打散,并分布到不同的数据处理节点上,数据处理时底层多个节点共同参与,是一种MPP并行计算的架构。分布式架构数据库的数据节点可以线性扩展,通过协调节点进行SQL解析和转发,并通过全局事务管理节点保证一致性。分布式数据库硬件通常基于通用的PC服务器设计,不依赖IBM、H P等厂商的高端服务器和高端存储设备。近年来,随着企业数字化转型的深入,业务系统数据总量和形式呈现指数级的增长,数据处理所面对的数据类型、数据规模、计算速度的要求越来越严苛;云服务也已经开始成为传统终端以外新的重要的计算场景。面对各类多样化计算场景的需求,传统数据库能力逐渐无法满足,分布式架构数据库开始逐渐替代传统架构来实现海量高效的数据处理。2分布式数据库技术分布式数据库产品所采用的技术主要包括应用垂直拆分、中间件分库分表和原生分布式数据库三种架构体系。(1)应用垂直拆分数据库按照业务应用进行垂直拆分是最传统的分布式理念,实现方式主要有两种:第一种是将应用拆解为多个独立子服务,每个子服务对应整体中的一部分数据;第二种是一个服务对接多个数据库,在应用内部根据特定的业务规则来选取不同数据源。例如,客户关系管理系统的营业账务数据可根据用户城市归属属性进行切分,A城市属性的用户存在数据库A,B城市属性的用户存在数据库B,以此类推。(2)中间件分库分表中间件分库分表是通过引入数据库中间件软件来构建应用程序和数据库之间的SQL解析器服务,将传统的SQL进行解析翻译成底层各数据库所对应的子查询,然后将子查询下发给各传统数据库进行执行。中间件分库分表架构体系的优势是底层数据可以继续基于传统的关系型数据库不变,但无法实现对上层应用的10 0%完全透明无感知。(3)原生分布式数据库原生分布式数据库在底层的存储引擎层面以PC服务器作为基础来进行重构;在数据存储结构、数据安全机制、分布式事务控制等多个维度针对分布式存储与执行能力进行优化。已发布商用版本的原生分布式数据库产品可以在10 0%兼容MySQL的前提下,实现对上层应用完全透明的分布式存储与执行能力。用户在设计使用原生分布式数据库时,不需要关注系统数据表的规模,只需要在建表时配置好容量和最大物理资源消耗策略,数据将自动在分布式集群的多个物理节点之间进行均衡,上层应用可以像访问标准的表一样进行读写请求。原生分布式数据库内部的分布式事务处理和数据切分逻辑对于上层应用程序是10 0%完全透明的,上层应用无需感知田锐等:分布式数据库技术及应用分析底层数据分布。原生分布式数据库内部原生支持分布式事务,不需要中间件,性能远高于中间件分库分表架构。同时,原生分布式数据库的高可用与容灾能力是由数据库内核原生支持的,不需要增加额外的辅助工具。可以看到原生分布式数据库相对于其他两种分布式架构,有明显的技术优势,更符合我们对分布式数据库的本质需求。3分布式数据库应用分析传统的集中式数据库普遍用于各类企业级应用,需运行在独立的服务器上,通常用于部署容量小于10 TB的分析型系统、容量小于30 TB的纯交易系统以及容量小于10 TB的混合负载系统等,适用于大多数传统业务。共享存储数据库与集中式数据库适用场景基本相同,但能够基于普通PC服务器搭建集群,在扩展能力上具备一定优势。分布式数据库则主要面向互联网型交易业务,并适应部署在云环境中。通过与传统的集中式数据库、共享存储数据库OracleRAC进行对比,原生分布式数据库的应用部署在硬件架构、异地多活与容灾、数据可靠性、扩展性等方面存在显著的优势。详细对比分析见下表1 表4。表1硬件架构对比分析分类集中式企业级应用通常务器组成集群,以提高处件设计,不需要IBM、构建于高端的硬理能力;相对单点集中式EMC等高端服务器和硬件件基础之上,例架构,具备一定的扩展能高端存储设备;原生架构如:IBM小型力数据库RAC集群仍需机+EMC磁盘阵建立在一套共享的高性能自动负载均衡能力更列存储上,各节点之间采用好,对硬件资源利用更高速网络实现互连表2 异地多活与容灾能力对比分析分类集中式容灾采用数据库可基于ASM穴余设计架构,支持两地三中心、异地多或者存储“主备 架支持数据中心双活。存储层三地五中心多活活与容构,不支持多活容需实现SAN网络跨数据中以及无损数据容灾能力灾能力表3数据可靠性对比分析分类集中式一是采用高端硬件设备(以保证数据可靠性;二是采用“主从复制”方时接收客户端请求,可式,若主节点故障,恢复人从而保证在集群中白的情况下,Paxos可数据服务会有一定数据损失只要有一个节点存以保证数据无损(即可靠性(RPO0)。无法自动恢活,就可以正常对外RPO-0),并且自动选复服务,需要人工干预,提供服务;但若共享举并恢复服务,服务服务恢复时间(RTO)存储故障,则服务恢恢复时间(RTO0)通常以小时为单