温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
分布式
数据库
架构
设计
应用
分析
阮慧丰
论点 ARGUMENT 科技论坛122分布式数据库的架构设计与应用分析 文/阮慧丰当代企业的大部分业务都是基于数据库业务系统进行管理的,但随着企业业务的快速扩张,数据规模与业务系统访问负载明显增加,集中式数据库已无法满足企业发展的需求。同时,IT 技术的飞速发展为微服务、业务中台等技术架构的广泛应用创造了有利条件。企业可以将 IT 技术与分布式数据库的集群应用相结合,以加快实现数字化转型,进一步提高自身服务水平与经济效益。一、分布式数据库概述(一)分布式数据库的概念分布式数据库不同于传统的数据库,其可以将数据打散并按照一定规则存储于分散的物理存储节点中。从计算逻辑层面来看,各物理数据存储节点同属于一个整体逻辑,且每个物理数据存储节点均具备独立的数据处理能力。因此,分布式数据库具备全局协作及局部应用的能力。(二)分布式数据库的特点分布式数据库不仅具备集中式数据库的特点,还具备以下几点独特性质。(1)动态扩展:分布式数据库能根据业务系统的存储需求实现节点存储容量的动态扩展。(2)并发及读写数据:分布式数据库不仅能对海量数据进行并发随机读写,还能及时响应用户的大规模访问请求。(3)强大的容错机制:分布式数据库拥有强大的容错机制,实现了数据冗余的处理及备份,保证了基于分布式数据库业务系统的数据及服务的安全性。二、分布式数据库总体架构设计目前,分布式数据库的总体架构设计有以下两个方向:(1)基于共享存储架构的分布式数据库;(2)基于数据分片架构的分布式数据库。(一)基于共享存储架构的分布式数据库架构设计如图 1 所示,共享存储型分布式数据库架构可划分为底层和上层两个层次。其中,底层以共享存储为基础,在此基础上建立数据池;上层是可用于数据弹性扩展的数据服务层。用户可以申请数据服务资源,并在上层建立相关数据业务系统,相关业务数据将存储于底层架构中共享存储模块的专用空间。需要注意的是,虽然该设计能够实现资源的最大随着科技水平的日益提升,数据安全、数据存储、业务数据扩展等方面的问题逐渐暴露,集中式数据库已无法满足当前市场的需求,分布式数据库逐渐获得发展并在多个领域广泛应用。基于此,本文首先对分布式数据库的概念及特点进行简要概述,其次对分布式数据库的总体架构设计、主流架构设计方案及应用实践进行探讨,最后对分布式数据库的未来发展进行合理预测。科技论坛 论点 ARGUMENT123化利用,保证业务扩展及数据的弹性伸缩,但是从严格意义上讲,此类数据库架构并不能完全算作分布式数据库架构。(二)基于数据分片架构的分布式数据库架构设计数据分片型分布式数据库架构是一种典型的分布式架构,其可以根据 Range、Hash 等规则将数据进行分片打散处理,随后再通过网络将处理后的数据传输至对应物理存储节点(见图 2)。在进行逻辑计算处理时,普通的分布式数据库将同时组织多个相关联的物理存储节点参与计算,进而得到完整的计算结果。数据分片型分布式数据库则采用 MPP 大规模并行处理架构进行计算,以扩展物理存储节点,实现不同节点之间的协作和基于上层逻辑控制的数据转发、SQL(结构化查询语言)解析。三、分布式数据库主流架构设计方案(一)TIDB 方案TIDB 方案的主要结构由以下三大组件构成。(1)开源组件 TIKV Server:本质上是一个分布式键值对存储引擎,可作为底层数据存储。(2)上层TIDB Server:协调组织节点,支持数据转发和 SQL 解析等操作。(3)PD Server:通过复制分配全局时间戳进行全局事务管理及负载均衡调度。总的来说,该方案具备轻量化、部署方便快捷、兼容 MySQL、自动动态负载均衡等特点。(二)PolarDB 方案PolarDB 方案是一个多节点的集群应用,其通常包含一个 Writer 节点和多个 Reader节点。集群中各节点之间均采用分布式文件系统的模式实现共享存储,采用代理的方式对外提供服务。同时,代理层可用于安全认证、解析 SQL 等。该方案具备高性价比、兼容MySQL、容量大、无锁备份等特点。(三)OceanBase 方案OceanBase 方案的底层是通过 Observer 进行运转的,同时,Observer 集成了 SQL 引擎、总控服务、存储引擎等功能;上层通过 OBProxy 进行运转,且OBProxy 具备 SQL 路由的功能。在该方案中,所有数据均需要进行分区处理,并保障分区数据的一致性。其中,主分区可作为协调者,其他分区在主分区出现故障时自动切换以替代原主分区,从而保障数据库的正常运转。该方案具备低成本、高可用、高性能、兼容 SQL 标准以及主流关系论点 ARGUMENT 科技论坛124数据库等特点。(四)SequoiaDB 方案SequoiaDB 方案的底层采用JSON 键值对的方式进行存储,并且兼容结构化与非结构化数据,真正实现了 NoSQL 模式。其上层包括编目、数据、PG、协调等一系列功能节点。同时,元数据由编目节点负责存储,真实数据由数据节点负责存储。SQL 引擎支持由 PG 节点负责实现,各节点之间的工作任务由协调节点负责协调。该方案具备金融级分布式 OTLP、兼容 MYSQL 及标准SQL、数据安全性高、容灾备份等特点。四、分布式数据库的应用实践当前,分布式数据库在金融行业的应用最为普遍。其中,分布式数据库在历史数据查询系统和贷记卡授权系统这两种应用场景中表现出高并发处理、弹性扩展、高可用等优异性能。(一)在历史数据查询系统中的应用随着金融业务的快速发展,历史业务数据呈现爆炸式增长。传统数据库已无法满足金融业务的扩展需求,并对历史查询系统造成了一定的负面影响。在通常情况下,金融机构的历史数据查询系统主要包含财务系统、主机业务、贷记业务等多个子系统的历史数据,数据体量庞大。因此,数据查询系统的快速响应能力至关重要。分布式数据库具备高性能、高扩展、高可靠性等优势,能够较好地满足金融机构的业务拓展需求。以某银行为例,经过多年的发展,其系统每日新增数据为 1TB 左右。在应用分布式数据库后,历史数据查询系统即使在大并发环境下,响应时间也能维持在毫秒级别。(二)在贷记卡授权系统中的应用随着信用卡业务的蓬勃发展,金融机构的客户增量日益庞大,信用卡交易额不断攀升,客户需求越来越多样化。此时,贷记卡授权系统要想维持高效稳定运转,大幅提升处理效率,就必须突破传统数据库系统的瓶颈。以某银行为例,在应用分布式数据库后,贷记卡授权系统在“双11”网购促销时段高效完成了海量业务数据的存储需求和大规模并发处理任务,有效分担了主机的运行压力。五、分布式数据库的未来发展随着企事业单位业务数据量的激增以及应用场景的增加,相关系统对并发量与吞吐量的处理需求不断攀升,分布式数据库的推广应用已是大势所趋。当前,分布式数据库虽然拥有较为成熟的架构,但在云原生分布式架构设计、一体化分布式架构设计、分布式数据库混合负载、分布式数据库与云原生数据库相结合、对异构芯片的支持、高可用及性价比提升、保障数据一致性、推动实现生态建设、支持数据加密机制等方面仍有较大的进步空间。推动分布式数据库核心技术与架构体系的深度研发,加大建设并实现国产自主生态体系及测评体系的对接,将是分布式数据库未来发展的关键。随着时间的推移,分布式数据库将越来越成熟,行业应用场景也将越来越广泛。六、结语综上所述,随着分布式数据库架构设计的日益完善,其应用领域将得到进一步扩展。从社会发展的角度来看,分布式数据库不仅会成为社会发展的有效助力,还会为人们的生产和生活带来极大便利;从经济发展的角度来看,其不仅会推动社会生产力的进一步发展,优化生产方式,还能创造更高的经济价值;从科技发展的角度来看,它能够有效推动其他相关科技产业的发展。总而言之,推动分布式数据库的长远发展具有十分重要的现实意义,完善分布式数据库的架构设计任重道远。参考文献:1 盛玉,王耀强.分布式数据库创新探索与实践 J.中国金融电脑,2022(12).2 张雪芳,邱希.企业分布式 数 据库架构方案研究与设计 J.电子 设计工程,2019,27(13).本文作者阮慧丰,就职于山东大学(威海)