解析分布式数据库技术框架.docx
《解析分布式数据库技术框架.docx》由会员分享,可在线阅读,更多相关《解析分布式数据库技术框架.docx(19页珍藏版)》请在课桌文档上搜索。
1、04,一、刖百早期银行业务系统处理的主要是交易型数据,数据量较少,传统关系型数据库(如SQ1.Server、Orace1.DB2等)已足够应对.随着互联网金融业务的快速发展,业务系统需要处理的数据呈爆炸式增长,传统数据库因其扩展能力有限,已无法满足业务系统越来越高的数据处理能力要求.于是,新型的分布式数据库系统应运而生.本文拟先对数据库进行分类,r解各类数据库的特点,参考人行的分布式数据球技术架两规检,并结合业界主流分布式数据库的技术实现,试图榛理出通用技术框架,并根据各功能模块的主要技术特点,结合业务场景,提出分布式数据库系统在金融犊域的应用规划,供大家参考.二、数据库的分类为了更高效地了解
2、不同厂商分布式数据库的产品特点,我们需要对数据库产品进行分类.业界对数据库的分类尚未形成统一的标准,但都大同小异,本文数据库分类参考了451Group分析报告中的数据库行业全景图.数据库根据其数据模型,可分为关系型数据库(RDBMS)和非关系型数据由(NoSQ1.),其中,关系型数据库根据其技术特性,分为传统关系型数据库和NewSQ1.数据麻;根据业务负载特征,可分为O1.TP数据阵和O1.AP数据库.根据部署架构,可分为集中式数据库和分布式数据库.其中NoSQ1.数据库与NewSQ1.数据库均为分布式数据库.各类数据库的特性描述如下:1、关系型数据库与非关系型数据库关系型数据库(RDBMS)
3、即SQ1.数据库,支持SQ1.操作,具备ACID属性,用于处理存储结构化数据,包括传统关系型数据库与NewSQ1.数据库.非关系型数据库,通常为NoSQl数据库.NoSQ1.(NOtOnlySQ1.)即“不仅仅是SQ1.,提倡运用非关系型的、分布式的数据存储系统,通常以牺牲豆杂SQ1.、AClD事务支持和数据的一致性为代价,以此换取弹性扩展能力.常用的NoSQ1.数据库有基于键值(Key-Value)的,如IeveIDB.RocksDB.redis等;基于列存储的,如:BigtablexHBASE等;基于文档的,如:MangoDB;其他如基于图的Neo4j,基于时间序列数据的InfIuxDB等
4、。2.传统关系型数据库与NewSQ1.数据库传统关系型数据库与NeWSQ1.数据库均属于关系型数据库.早期使用的关系型数据库是传统关系型数据库,扩展能力有限,如商业软件Oracle、DB2,开源软件MySQ1.、PostgreSQ1.等.NewSQ1.数据库为应对爆炸式增长的数据需求而生.采用分布式技术,支持SQ1.麋作,满足AelD属性,同时具备良好的扩展能力,如CockroachDB.GoogleSPanner/F1、TiDB.OCeanBaSe等。3、O1.TP数据库与O1.AP数据库O1.TP(On-lineTransactionProcessing联机事务处理)数据库,适用于事务管理
5、型系统,该类系统处理的是高并发且数据量级不大的交易,如INSERT,UPDATE.DE1.ETE等.O1.TP是传统关系型数据库的主要应用.O1.AP(On-lineAnalyticalProcessing联机分析处理)数据库,适用于直询频率较低,但通常会涉及到非常夏杂的聚合计算的系统.该类系统需要进行夏杂的分析操作,侧电决策支持,并且提供亘观易懂的查询结果。如数据仓库,风睑预警等.4、集中式数据库与分布式数据库集中式数据库将数据在物理空间上集中存储和处理,是一种较为经典、传统的架构模式;分布式数据库是物理上分散而逐辑上集中的数据库系统,利用分布式事务处理、数据自动分片、数据多副本存储等技术,
6、将分散在计或机网络的多个逻辑相关节点连接起来,共同对外提供服务.NeWSQl.数据库与NOSQl数据库采用分布式部署,均为分布式数据库。5、数据库分类示意图:Z-关系型数据库一XX-二集中式数据二I7m三HIJ-I1.、O1.TP/-段SSaSB库、y三、分布式数据库的技术框架就分布式数据库的技术框架而言,可分为计算模块、存储模块和管理模块.各模块的技术框架介绍如下:(一)计算模块计算模块包括接口层、解析层和计算层.1、接口层接口层负责接口调用,是分布式数据库对外提供服务的统一接口,可提供包括SQ1.接口、JDBC/ODBC以及其他驱动等方式的接入.2 .解析层解析层包括解析器、优化器,负责解
7、析数据库收到的指令,(包括SQ1.语句和其他指令),同时对解析结果进行优化,生成执行计划,并将指令与计划自动分配到各计凭节点并行执行。在解析层中,我们需要关注产品对SQ1.的兼容性,以及对存储过程的支持情况3 .计苴雇计算层负责资源管理,确定计算框架,采用合适的通讯协议,通过分布式事务处理等技术确保数据正确性,借助井发控制、动态资源分配等技术提升分布式数据库在聂杂业务场景的计算效率,同时保证整体系疣的可靠性.各模块功能如下:-资源管理主要负责计算资源的管理,包括CPU、内存的调度,跟盘I/O管理、动态资源分配等。合理的资源管理设计,能最大程度发挥计箕资源的效率,提升分布式数据库在基杂业务场景的
8、计算效率.-计算框架分布式数据库通常采用MPP计算框架,实现并行计算的能力。MPP(MaSSiVelyParallelProcessing),大规模并行处理。MPP先对数据进行分块,交给不同节点储存.杳询时,各数据块利用所在节点的计算资源分别处理,然后汇总到leadernode进行合并.MPP有sharedeverything/Disk/Nothing三种类型.-负载管理包括资源管控、租户隔施、租户的S1.A,并发控制等等,合理的负载管理,能有效隔不同数据厮租户之间的相互影响,确保租户获得需要的S1.A.-通讯管理分布式数据库网络中,传输属通常可采用TCP/UDP协议,道路层可采用Ethern
9、etZRDMA协议.数据的高可用主要针对数据副本的管理,包括副本数据的巨制技术(如流且制、块复制和WA1.函构)和数据的一致性管理(强一致性和最终一致性).数据的三种豆制技术采用的实现方式不同:流直制.包括操作日志与SQ1.语句,通过重放操作,实现数据副本的欠制.块兔制.通过数据块的豆制,实现数据副本的豆制.常用的数据一致性技术有Paxes.Raft.WA1.重构,定期进行快照复制,并实时直制快照之后的操作日志,当需要数据恢豆时,可用过快照+日志的方式,将数据恢豆到最新状态.WA1.更构常用于数据的灾备.在实际技术实现时,计算层和存帏层都需要可靠性管理。其中,服务高可用在计算房和存储层上都要关
10、注,而数据的高可用主要在存储层上实现.(二)存储模块存储层属于存储模块,包括数据存储组织管理和日志组织管理。数据存储组织管理包括数据分片/分区策略、数据更新机制、数据存储结构、索引管理、数据物理结构等;日志组织管理包括日志类型和日志的归档方式等无论是数据还是日志,最终存储在物理介质上,存储介质可以是本地磁盘或外部存储.各模块功能如下:1、数据存储组织管理-数据分片/分区管理数据的切分有两个维度:水平分片和垂直分区.水平分片,按照一定的规则,将数据集划分成相互独立、正交的数据子集后,再将数据子集分布到不同的分片节点上。常见的数据分片策略有HaSh、RoUndrObin两种方式垂直分区,分片后的数
11、据,按照一定的规则进行切分,再根据分区策略,将数据分布在分片集群内的各存储单元上.常见的分区策略有一致性HaSh/一致性Hash,range和IiSt三种方式.- 数据更新机制数据在磁盘的组织和更新方式有两种方式:In-place,Append-onlyIn-place,数据更新时,直接对内存缓冲区中的数据迸行修改,然后刷新到磁盘上,完成数据的更新操作.Append-only,数据更新时,将新的数据直接追加到内存文件上,(而不对原来的数据进行修改),并定期保存在磁盘上.- 数据存慵结构存储上,数据可以以行存、列存、KV、文档、图和序列等方式组织存储,不同的数据存储组织适用于不同的业务类型。逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 解析 分布式 数据库技术 框架
链接地址:https://www.desk33.com/p-1493899.html