张玉红
摘要:数据库技术作为应用系统的重要组成部分,正逐渐占据中心地位。目前,几乎所有的计算机应用都离不开数据库系统的基本支持,尤其是在金融行业。金融网络的不断发展对金融数据库有了更高性能、拓展性和可溶性。传统的数据库管理系统很难同时满足这些特点。面对金融互联网的挑战,分布式数据库系统逐渐成为金融界的选择。在此背景下,本文详细分析和探讨了分布式数据库在金融业发展中的作用。
关键词:分布式数据库;金融行业;应用和展望
前言
数据库技术是上世纪60年代所发展起来的一种自动化数据信息技术手段,它的创立开辟了计算机的新分支。随着计算机的应用,数据库在计算机领域的应用变得越来越重要。当前,所有的计算机应用都需要数据库系统的支持。也就是说,实现了对数据的分类、编码、存储、检索和高效维护。随着硬件系统的发展,数据库技术也取得了很大进步。从数据管理方法的角度看,数据库技术经历了人工管理、文件系统和数据库系统等阶段。
一、分布式数据库应用优势
(1) 适合分散管理和控制。建立一个分散的数据库系统适合于地理位置分散的组织,位于不同地区和不同级别的部门可以在本地控制他们的数据。例如,为了实现全局数据的本地输入、查询和维护,此时计算资源离用户很近,这可以降低通信成本,提高响应速度。因此,网站上其他数据库中的少量数据可以显著减少通过网络传输的信息量,同时,可以提高本地数据的安全性。
(2) 有灵活的体系结构。集中式数据库系统强调的是集中管理,物理数据库在网上由数据库管理来进行集中管理,只有在运行支持临近以及远程多用户的操作系统,多个用户才能够集中数据进行管理[1]。另一方面,分布式数据库系统中本地数据管理系统站点自治性能够解决大多数的本地事务管理和控制。只有在本地事务包含其他位置数据时,才能够通过网络来进行管理。分布式数据库管理系统可以从完全的现场自律到几乎完全的具有多个自治权的集中控制。
(3)该系统经济可靠,实用性强。由于计算机或小型计算机所支持的分布式数据库比平时支持大数据的计算机添加更多的进程,并提供更高的成本效率和交付灵活性。
(4)分散式系统更加集中于更高的可靠性与可实用性。由于数据大多分布在网站上,许多的数据容易被复制,如果单个网站或单个通信链容易出现故障,导致整个系统崩溃,系统的局部故障造成损失。
二、数据库技术发展历史和分布式数据库的现状
(一)数据库技术的形成过程
数据模型是数据库系统的核心,在数据模型开发的不同阶段,数据库技术也经历了以下三个发展阶段:
1.层次模型和网状数据库管理系统
这个阶段的主要代表是IBM1969开发的数据库管理系统的层次模型。分层数据模型是整个数据库系统的先驱,建立了完整的数据库概念、方法和技术。
2.关系数据库管理系统
在不同数据库系统的进一步发展中,关系数据库基本上是垄断的。現在有了不同的新数据库格式,关系数据库仍然主导着使用。IBM发表这一理论后,它首先在自己公司的OS/390上实现。许多金融机构现在支持使用OS/390操作重要的业务系统,关系数据库技术的实际应用是jamesgray的主要职责。Gray在解决数据集成、安全性和数据恢复系统等技术问题发挥了很大作用。数据库系统的出现使得数据库开始小型化与大众化。随着现代信息技术的进步,建立了一个更加开放的数据库系统,Oarcle数据库领域中占据了主导地位。
3.新一代数据库技术的研究与开发
随着计算机技术的发展,关系数据库的处理存在着许多问题。在这方面,下一代数据库应运而生。然后从数据模型、内容、新技术和范围三个方面描述了下一代数据库系统的开发。
(1) 面向对象的方法和技术对数据库开发的影响
随着互联网技术的发展,数据库技术也开始了新的发展。数据库逐渐采用一个面向对方的方法与技术,建立一个面向对象的数据库模型,主要就是在以往的数据库中进行拓展,创建相应的对象数据库。
(2)数据库技术与多域学科技术的先进结合
数据库技术与多学科技术的结合是当前开发数据库的重要方式,计算机领域的其它新科技对数据库产生了很大影响。传统的数据库与其它计算机数据的结合,在数据库中不断进行创新,数据库的许多概念、技术与内容等一些原则都有了很大的变化。所以,实施了一些新的数据库,如分布式数据库、多媒体数据库和移动数据库。
(3)数据库技术对于专业应用来说是无穷无尽的。
针对数据库的多样性要求,在以往数据库的基础上,结合具体应用场景,研究这一领域专用数据库,建立一个科学的数据库。
(二)分布式数据库的分类
应用程序对数据库处理能力的要求越来越高,集中数据库已不能满足数据处理要求,需要更多的处理单元参与数据处理。为了满足这种处理条件,分布式数据库出现,它已经成为集中数据库的一个双分支。
分布式数据分为以下三种类型:
1. Sharding(分片式)
数据被划分为单独的规则数据库,不同的需求通过业务层或中间路由层(代理)发送到数据库的不同实例。代表方案有:共享业务层,分库分表,基于代理的数据库中间件碎片化是最后一种解决方法,因为单个表示达到了处理单个节点的极限,应用程序必须分散在碎片中。碎片化影响到业务类应用程序满足数据库体系结构要求的性能和灵活性。基于业务的数据库包括IBMDB2DPF,开源MySQL还支持分散的数据库功能。
2.Shared-everything(共享存储)
共享存储模式可分为SharedDisk和SharedLog。
Shared-everything在共享存储系统中安装多个数据库模块节点,所有数据库模块都可以在多个数据库模块实例前面显示数据库代理层的所有数据负载,并将数据库负载分配给不同的引擎。每个引擎都能显示所有数据,从而处理所有数据,扩展整个数据库系统的处理性能。一般商业产品有oraclarac、db2purearear、开源MySQL、MySQL集群。该方法通过添加数据库模块节点,提高了共享内存的基本能力和数据库的处理能力。所有数据也将显示,以提高应用程序级别的兼容性。SharedLog是近年来发展的一种技术,随着云计算的发展,建立了一些比较分散的数据库,提出一种以协议为中心的数据库,采用分布式存储数据来进行组合,实现了数据库协议的一致性和高可用性。在创建数据集后,通过中间存储逐步创建额外数据,可以提高数据库的处理性能。一个典型的解决方案是复制AmazonAurora和MySQL组。
3.Shared-nothing(纯分布式架构)
SharedNothing是业界最新的全分布式解决方案,在单点、中心、无限数据库等领域具有高度优势,数据库自分散、独立、不开放。
(三)金融行业数据库的现状
目前国内金融业使用的数据库主要是国外商业数据库的产品,主要分为以下几种情况。
1.大型国有银行数据库现状
在大型国有银行中,以OS/390为代表的主框架可以取得一定的份额。因此,IBM为os/390主框架改编的db2数据库系统、数据库产品和物理操作系统设备具有高度的集成能力和可靠性。然而,由于成本高昂,目前全球使用的客户数量正在减少,技术发展相对缓慢。与此同时,中国金融业的快速发展,特别是互联网融资、移动解决等金融服务业的快速发展,使中国金融业的规模迅速扩大。目前,中国主要银行的主要框架体系是世界上最大的银行体系,整个系统的可靠性风险逐渐增大。
2.部分股权银行、城商行、农银行数据库现状
as400也是一个高度集成的数据库产品、操作系统和物理设备的解决方案,由于历史原因,在一些股票银行、城商行和农银行中开发能力较低。随着全球技术发展的趋势,as400的市场份额急剧下降,导致as400的技术开发和支持面临重大风险。
3.大多数使用数据库的金融机构的状况
许多金融机构,包括大型政府银行、股份制银行、城市商业银行和中国农业银行,经常使用国外的商业数据库,如Oracle和DB2,它们基于小型外形和高端x86服务器。然而,受国际形势的影响,这些产品的使用存在许多潜在的风险。
4.探索其他类型的数据库
一些金融机构已经开始积极研究各种数据库产品,包括自主开发、开源MySQL和PostgreSQL。
三、金融行业对数据库的需求
(一)金融行业数据库转型的潜在动力
随着普惠融资和数字金融的快速发展,数据功能已成为新时期金融机构提高业务能力的重要参考点。同时,移动互联网和电子支付业务的快速发展,要求金融系统的性能数据采用新的形式,适合金融领域的典型应用场景,如在线/移动支付交易、实时交易监控和指标分析。
首先,金融业的数据量急剧增加,对数据存储和管理的要求不断提高。例如,对于大型金融机构来说,通常有数十万个交易系统和数亿用户的大量数据,其tb到pb的数量呈指数增长。其次,金融业更加重视公司的可持续性。在金融领域,对证券监管的要求越来越高。尽管数据没有丢失,但有必要对数据进行灾难恢复备份,并赋予中央数据系统“双重功能”。在数据库操作過程中,数据与使用不同技术的两个数据中心的数据库实例实时同步。如果某个中心局出现故障,可以及时将服务切换到另一个中心局,不间断地使用服务。第二,它面临着大量同时服务和大量用户带来的系统压力。随着互联网金融服务的发展,金融领域的用户数量和自身使用权不断增加,面临着高并发服务和大用户带来的系统压力。过去,主要通过窗口接收结算请求[2]。第三,提高移动应用的响应速度。鉴于移动互联网用户需求的快速增长,移动互联网用户对移动应用的反应速度也在不断提高,移动设备的反应必须低于第二层。此外,金融业本身也需要提高数据技术能力和业务价值,提高管理能力。第四,技术方面的定位要求。随着贸易中断的加剧,为了加强自主控制,一些经济制裁与技术封锁变得越来越需要,金融业对数据产品的稳定性与安全性提出了更为严格的要求,成为现阶段一个重要任务。第五,考虑总运营成本。由于数据处理量的增长,金融机构如果继续使用外贸数据库的原有产品,必须承担巨大的成本。巨大的成本压力将使金融机构逐步推出更廉价、更高效的分散式数据库解决方案,以利于传统外贸产品的逐步替代。
(二)金融行业进行分布式数据库转型的路径
1.注意事项
传统的集中式数据库模式在金融领域普遍存在,并有多年的运行维护经验。快速有效地实现从传统的中央数据库向分散数据库的转变,是金融机构需要解决的问题。与以前的集中数据库相比,分散数据库具有以下特点,在金融部门发生变化时需要加以考虑。首先,分布式数据库必须要遵循金融领域的传统业务逻辑,通过数据库中的相应程序来处理各个阶段的节点,来保证高性能,分类业务系统,满足系统的扩充需求。其次,在分布式数据库中创建基于时间的分区,或者基于数据集本身的值创建散列分区来对数据进行分区,如有必要,请保持每个分区的大小,以改善系统的负载平衡、规划和可扩展性。第三,充分理解分布式数据库的工作逻辑,充分发挥分布式并行处理在业务中的作用,并行处理不同的任务,提高整体效率。此外,必须理解,权力下放有助于提高整体效率,给定服务的低逻辑负担不一定比以前的集中式数据库更高效,必须使应用程序逻辑适应此逻辑预期。
2.规划建议
为了确保分布式数据库的可行性和可靠性,建议考虑以下设计方案:
(1) 先存后增
对于金融机构内部跨境互联网融合等附加交易,由于安全要求较低,不存在金融安全风险,因此可以进行替代性测试。新的分布式交易在线数据库满足业务需求,一旦相关业务伙伴适应了相关的操作方法和模式,将逐步取代现有的核心业务。在替换现有业务时,必须将维护原有系统作为灾难响应,在检查新系统的稳定运行后,原系统将逐步淘汰。
(2) 根据合同业务性能瓶颈顺序
分散的交易数据库提供了强大的处理能力,金融机构可以分析和评估不同业务服务中目前的瓶颈,以便澄清需要用分布式交易数据库模型解决的现有指标。按优先次序划分的流量,以及在舒缓现有服务的同时检讨新系统的表现。
(3)根据项目技术实施方案
金融机构内部业务比较复杂,不同的企业对信息系统的处理要求也大不相同。例如,传输服务需要有较高的处理能力,需要更强的数据处理功能,根据协议要求进行数据分析。所以,金融数据机构需要根据不同业务来进行处理,并逐步进行管理。
四、分布式数据库在金融行业的应用
近年来,许多商业银行开展了分散数据库的研究、开发和应用,并取得了显著成效。江苏银行将把用于邮政监控系统的数据库下放,到目前为止,由于使用了Oracle數据库、200多个存储过程和400多个表,系统的性能还不能满足业务需求。在保证数据准确性和安全性的前提下,分布式数据库导入器将系统性能提高40%,处理速度提高100%,从而实现了系统性能与业务需求的衔接。广州银行以分布式数据库为基础,开发了一套面向金融业的传记数据存储和检索解决方案,重点是历史数据的存储和检索,优化管理等,这与Petabate级别存储和检索大量数据的要求相对应[3]。同时,通过引入分散式数据库,实现了历史数据存储、查询和中心系统的分离,降低了数据归档成本和需求,提高了业务效率。中信银行从2014年开始,研究和开发使用全局事务ID的分布式数据库,引入新的分布式事务处理方案,并基于MySQL等开源数据库技术对数据库事务进行实时管理,实现集群的高可用性交换。重要目标,如在线回放、数据库备份、恢复等。在信息管理系统中,线路分散数据库按顺序配置,新门户网站、金融行业平台和中信银行POS系统开发了分布式数据库的试点应用,取得了良好的效果。
五、分布式数据库在金融行业的展望
分布式数据库发展历程比较短,尤其是国内的分布式数据库,近些年来,大多数的互联网供应商都提出了比较成熟的提高自主研究能力的商业生态建设,满足自己无法与传统数据库匹配的业务需求。因此,为了满足金融部门的需要,分布式数据库必须从其本身的角度迅速发展,以缩小这一差距,更好地满足金融部门的需要。
结语
分布式数据库最大限度地利用有限的物理节点资源,并基本满足了数据交换行业和应用的需求。在金融行业,由于互联网融资的快速发展,以及对移动银行、直营银行等新颖业务形式的需求,使得数据管理变得更加复杂。所以,利用新的分散技术来搭建数据服务结构来满足银行不断发展的需求,需要不同银行机构来给予关注。
参考文献:
[1]胡利明.金融新基建浪潮下的云计算应用与发展[J].金融科技时代,2020,28(10):8-13.
[2]胡利明.分布式数据库在金融行业的应用和展望[J].金融科技时代,2020(05):25-33.
[3]刘雷,郭志军,马海欣,赵琼,胡卉芪,蔡鹏,杜洪涛,周傲英,李战怀.分布式数据库在金融应用场景中的探索与实践[J].大数据,2019,5(01):77-86.