金融职业作为国民经济的命脉和枢纽,对底层数据库的才干要求在不断提高。具有高功能、可扩展、高可用等特性的散布式数据库是金融职业数字化转型的重要支撑。

金融企业如安在不同的运用场景下,做好散布式数据库的选型和落地呢?本文从事务、技能、职业视点动身,从商场展开到落地实践,全方位全流程为您剖析散布式数据库在金融场景中的运用与实践。本文将会为您解答以下几个问题:

  • 如安在品目繁多的商场中挑选一款适宜的数据库?
  • 从哪些维度去调查数据库?
  • 数据库搬迁进程中需求留意哪些要点呢?金融客户的诉求是什么?
  • 有无实践的案例可供参阅呢?

一、金融业数据库选型之路

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

数据库商场会怎么展开,在金融范畴首要要看政策与监管。《金融科技(FinTech)展开规划(2019-2021)》中明确指出要加强散布式数据库的研制运用。做好散布式数据库金融运用的长时刻规划,加大研制与运用投入力度。韩锋以为,当时散布式数据库研制运用的成效便是看金融企业内部是否能够平稳的推动散布式数据库的运用

在我国,数据库商场起步较晚但展开势头微弱,根据国产数据库的金融科技转型已不再是难题。可是,品目繁多的数据库商场和杂乱的数据库技能给金融企业带来了不小的困扰。怎么挑选一款适宜的数据库?从哪些维度去调查数据库?有没有参阅呢?

选型之前先要了解商场上有什么。根据多年深耕数据库商场的经历,韩锋为咱们梳理了数据库职业及技能的布景,提炼出了现在职业和技能的三大特色,并指出了背后的三大痛点。

1. 碎片化严峻

数字化浪潮下,企业的数据意识越来越强,数据在企业出产经营的运用广度和深度都在提高,由此也衍生出丰厚的事务场景。

面对丰厚的事务场景,商场上很难找到一款数据库去适配一切的场景。现在的普遍现象是企业在不同的场景下,需求对应不同的产品,来处理相应的问题。且不同的产品供给的技能路线又不尽相同,企业当然很迷茫。由此,在多场景、多形状、多技能栈、多元路线的影响下,整个数据库商场呈现出来的是一种碎片化状况

痛点一:在数据库碎片化严峻的布景下,企业如安在纷纭杂乱的商场中,找到一款合适公司的数据库产品呢?

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

2. 开源 or 商业

从近十年来的全球数据库盛行趋势中咱们不难发现,开源数据库的盛行程度逐年上升,乃至在 2021 年已经超过了商业数据库。在国内,越来越多的国产数据库厂商纷繁走向开源。开源对国产数据库来说意义非凡,是完成弯道超车的最佳拐点。因为数据库作为根底软件,技能门槛相对较高,全体的架构规划也较为杂乱。开源则能够大大下降数据库的运用门槛,使得越来越多的开发者能够参加到开源生态中去建造,无论是植根数据库内核技能上,仍是打磨数据库运用场景方面,开源都能够加速国产数据库的普及与运用。

痛点二:对企业来说,开源和商业,究竟怎样选?

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

从前期的架构选型,到中期的开发布置,再到后期的运营保护,开源数据库和商业数据库之间都有十分显着的差异,需求企业根据本身的事务特色、公司实力从各个维度去评价。

3. 厂商分解

据统计,数据库赛道上已有 200 多家厂商,并且还有越来越多的国内外厂商参加进行。国内的数据库商场中能够分红四大类数据库厂商,扎根数据库范畴多年的传统厂商、深受本钱重视的草创厂商、立异资源交给形状的云厂商、数据库上下游的跨界厂商。在国外,能够分为数据库老牌厂商以及活泼的开源厂商。

痛点三:在厂商分解,百家争鸣的数据库商场中,企业该怎么挑选?

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

企业要对事务场景有明确的知道。数据库在金融职业的运用十分广泛,场景十分丰厚,而散布式数据库往往需求有明确的适用场景。因而,选型的数据库产品是不是适用于这些场景呢?韩锋以为前提是企业要知道到自己的场景究竟是什么。下图是金融业数据库运用场景的简略划分,首要包含事务、数据规模、一致性要求、负载特色、剖析才干等方面。韩锋强调,客户在选型的时分,要清楚一款数据库是很难乃至是不或许适用于一切场景的

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

更进一步地,韩锋供给了更多维度的调查点,如下图所示包含功能、扩展才干等多个具体的技能细节上。咱们能够看到不同场景下的差异是十分显着的。韩锋以数据分片为例,从技能视点上为咱们具体论述了怎么调查数据库的才干。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

数据库是十分杂乱的体系工程软件,在选型时要留意的细节其实还有许多。韩锋总结了几个观点,给企业的选型之旅供给方向。

榜首,尊重路线之争,无关乎技能领先性。最好的数据库产品是合适企业事务的,而纷歧定是技能最先进的。选型必定要结合事务,不要寄希望于大一统的计划。

第二,成熟度有待完善,但时不我待提早规划。散布式数据库确实是一种新兴技能,成熟度有待完善。但企业在这个进程中不能“等靠要”,仍是得参加进去,不断打磨,才干越用越好。

第三,国产数据库百家争鸣,时机无限。这一现状倒逼企业需求具备明晰的调查标准,严格调查商场现有产品,才干终究筛选出真实有实力。

第四,慎重技能选型,不迷信厂商宣扬。真实选型进程离不开测试,要想对产品有十分全面且准确的了解,需求在企业自己的环境中测试,这样的成果才更具有说服力。

第五,选产品选的是标准。许多企业担心厂商绑定问题,韩锋以为这个问题有一部份是兼容性带来的。因而,在挑选产品的一起,咱们要重视标准,尽量兼用某个通用协议的产品,相对自由度较大,便于后续替换数据库。

终究,保留技能敏感度,紧跟年代脚步。数据库技能迭代很快,金融企业客户要时刻重视技能展开,根据本身的事务进行思考是否升级。在具体措施上,能够挑选架构前置、慎重选型,局部试点、多线布局、把握主动、自建增强等策略。

点击观看讲师共享视频,了解更多细节哦!

二、散布式数据库在金融场景下的实战

作者|王东,南云鹏

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

在互联网金融的大布景下,农商银行面临着多重挑战。具体表现在第三方金融、大型金融机构大幅占有商场;客户在服务体会上的要求不断提高;年轻客源流失严峻;存款理财等负债资金本钱越来越高;线下渠道运用率大幅下降一级。

农商银行这类金融机构普遍承担着展开落实乡村振兴战略,推动普惠金融的落地重担,又是支撑县域经济展开与服务三农的金融主力军。要想做好普惠金融的作业,金谷银行亟需借助金融科技力量来处理上述的难题。经过充分调研,金谷银行立刻启动了互联网金融渠道的建造作业。

金谷银行表示当时的预期便是建立一套需 IT 人员装备少、技才干量要求不高,稳定的、办理简略、高可用、高并发且易于扩展的根底架构。选型期间要点考虑四个方面:首要是大并发与高可用,在面向互联网的事务在技能架构上,必定要考虑 7 x 24 小时不间断事务与买卖峰值的场景;其次是易于保护与办理,这与农商银行本身的特色高度相关。农商银行普遍存在 IT 根底薄弱,人力资源有限的问题,因而操作简略,学习本钱比较低的渠道更合适。第三,选用散布式存储。这是因为会集式存储本钱高、办理难度大、技能要求也比较高。终究是技能选型的前瞻性和架构规划的合理性

南云鹏自毕业后就一直在金融机构从事 IT 技能相关的作业,根据 15 年的作业经历,他整理共享了在传统数据库运维办理中存在的一些难题。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

  1. 传统架构下数据库版别和品种较多,人员学习本钱高,把握常识泛而不精。因为没有一致渠道,甲方只能跟着乙方走,乙方供给什么甲方就被动地接受什么。

  2. 烟囱式数据库,运维自动化程度较低,导致作业及时性差,保护本钱高。运维人员在保护数据库的一起,还要保护操作体系,还要统筹硬件环境等。

  3. 日常运维的作业比较繁琐,一切的操作基本都是人工完成,包含用户、表空间等等。这些人工操作,存在很大的危险,因为出错率比较高,难以构成一致的标准。

  4. 会集式的架构横向扩展才干较差,面对功能缺乏、容量缺乏、空间缺乏等场景,用户能做的只有添加 CPU、添加内存、添加存储或许换机器的方式。但这些处理计划都无法确保事务的连续性。

  5. 会集架构下高可用性也难以保障,事务服务才干完全依赖于高功能的主机,一旦主机出现问题,处理计划将十分杂乱,对开发人员的要求也比较高。

此外,在数据备份恢复归档办理、一致监控办理和运维标准上都存在着困难。这就导致运维作业杂乱、繁琐,基本上遇到一个作业是一套办法,或许一套临时性的计划应对。

在运维架构规划的进程中,金谷银行结合实践的事务需求拟定了一套合理适宜的运维架构,协助标准日常作业,一起满意监管要求。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

运维全体架构分红根底环境层、标准制度层、事务层、东西渠道以及监控层。最底层的作业包含事务怎么落地、运维架构怎么建立、怎么展开相应的运维作业、怎么削减体系的反常场景以及怎么确保事务体系的连续性等。根底环境依托在腾讯云渠道上,在这个根底上金谷银行拟定了自己的标准与制度。

在标准制度层,金谷银行针对操作体系中间件、网络装备、数据库等日常根底的标准环境,拟定了相应的机械性与标准性的文件。这样能够确保一切的事务体系,尽或许地在一个安全、标准的环境下展开运维的作业,也削减运维人员日常的办理难度。在容量办理、问题办理、应急办理等范畴,金谷银行也拟定了相应的制度。这些制度一方面确保了资源的合理运用,另一方面也协助银行内部进行常识沉积

在事务层首要是做一些布置和集成的作业。在此根底上,金谷银行构建了东西渠道,包含堡垒机、运维办理渠道以及自动化发布东西。堡垒机是日常运维操作的一个进口,一切对后端事务体系的操作都是通过堡垒机进行的;运维办理渠道是对资源进行办理,比如资源的添加或削减以及对物理主机的办理等;Jenkins 是自动化开源发布东西,负责日常体系的改变、出产版别的发布以及发布完的成果反馈。

运维监控渠道的构建纳管了一切事务的监控,首要建造了体系监控渠道、事务监控渠道以及行为监控渠道。其间,体系监控渠道监控着物理主机 CPU、内存等物理信息、根底信息等,一起监控了一些事务体系的服务端口,比如说开启 7001、8003 等,确保事务是健康存活的状况。假如事务端口宕掉了,也会有及时的短信告知等;事务监控渠道是倾向于买卖类型,比如说热门事件、许多的访问行为或进犯行为等,确保体系不被羊毛党、黑灰产歹意进犯;行为监控指的是内部操作行为的监控,以便追溯危险源。

终究,南云鹏根据日常作业中的实践操作经历,具体论述了数据备份恢复、切换演练、容量办理和巡检作业中的操作流程、留意事项及优化计划。

点击观看讲师共享视频,了解更多细节哦!

三、金融运用场景对散布式数据库的诉求

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

银职业是相对传统的金融职业,数字化转型进程中首要寻求稳定,金融 IT 侧是趋于保存的。从银职业布置架构趋势来看,前期通常是将服务器会集布置在大型机上,为的便是稳定、高效、多并发。随着运用的展开,银职业的盛行架构开端变成根据服务器来建立不同的运用,Oracle 数据库开端席卷商场。后来,X86 服务器兴起引起运用架构开端发生变化,尽管这时分数据库商场还离不开 Oracle、DB2,但去 IOE 理念已经萌芽了。现在,在国产化浪潮下,自主可控的必定要求使得国产散布式数据库的盛行。银职业需求将曾经布置在 Oracle、DB2 等数据库上的数据搬迁至国产数据库上,这时分数据库搬迁进程中的问题开端显现了。

根据公司多年的数据库搬迁经历,孙亮以两个国产数据库对接案例为切进口向咱们具体的论述了搬迁进程中的留意事项及优化项。总结来看,首要是分片键的合作,必定要带上 Shardkey。在数据量很大的状况下,能够确保精准分配;在报表标准、买卖接口、数据传递进程中,要考虑到分片键怎么向下传递。其次是** SQL 的优化特性,需求留意唯一性的要求**。高唯一性的数据字段向前放,能够到达更好地索引命中的或许。

接下来是数据库序列,每个数据库的序列都不相同,这导致在数据库搬迁进程中需求从头对数据序列做分支计划,做归拢操作。现在的处理计划是先在技能渠道上做独立的序列组件,通过序列组件去做全体的序列。终究,日终并发进程当中存在数据散布不均匀的状况,这也是对数据功能的影响,咱们需求要点重视分片键是否设置得合理,是否能够到达数据平均化,或许把数据能够真实离散掉。

结合银职业的特色,孙亮为咱们共享了几点在金融运用中常见诉求。金融职业的运用软件最高优先级重视点便是稳定性,孙亮以为许多不太优雅乃至是不太合理的根底转型,其实都是考虑到优先稳定性的要求。现在整个金融职业很重视的一点便是,搬迁到国产数据库下,稳定性是怎么保障的?一起容灾进程当中 RPO、RTO 真实的状况下能做到什么样的状况?包含同城、异地 RPO 也是要点重视的。尽管同城能够做到 RPO 为 0,但假如切到异地,RPO 不能为 0,容灾仍是有必定的危险,金融职业是必定要考虑的。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

在搬迁进程中,咱们重视搬迁的难易程度,简略说便是 SQL 语法的兼容性。咱们更希望于国产数据库这一侧,能够将这些语法尽量做到一致,削减上层许多的适配、改造。数据库的功能也是重视的要点,容量究竟有多大?在金融职业或许在金融软件用户侧,咱们以为数据库的容量其实更多指的是在指定表宽度下,单表最多能包容多少条记载,才会发生功能拐点,这便是表容量。而不是一些国内外一些数据库宣扬时说到的每个数据文件能够支撑多少 T 的数据。

另外以往缺陷率能否在现有版别当中进行修正也是需求要点重视的。假如咱们都以为缺陷修正了,但由于分支的问题而被躲避掉了,成果又被从头触发起来,这样得不偿失。因而这类问题需求国产数据库在内核构建中就得处理掉。

除此之外,根据公司的施行经历,孙亮还提出了在问题排查、运维布置以及术语对齐上的诉求。一起,对国产数据库提出了更高的要求,异地同步能否做到 RPO 为 0?多地多活是否能够在数据库层面完成?散布式事务是否能在数据库层面做到 XA 事务,让散布式事务变得和本地事物一样简略简单呢?

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

终究,孙亮根据职业经历及商场调查,对现有的三款散布式数据库类型进行了比照总结,其维度包含了一致性、功能(呼应时刻、并发才干、批量功能)、扩展性、生态、自主可控、高可用及部分形状(是否支撑云原生布置等),可作为客户选型前的参阅。

点击观看讲师共享视频,了解更多细节哦!

四、金融级散布式数据库探索实践

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

散布式数据库是根据事务与技能的需求和展开以及监管要求下,处理当下以及未来趋势展开等问题,更优更稳定地满意金融银职业展开的挑选。短期看虽有缺乏,用长远和展开的眼光看,对支撑金融需求、满意监管要求、提高自主可控才干、有用下降危险、合理控制体系建造本钱等诸多方面都有助力和支撑作用,是金融银职业根底设施、根底软件建造的要点之一。

近年来,银职业在内外部金融环境的快速变化中持续进行转型和展开,从零售转型到互金 / 直销以及多渠道丰厚金融产品的兴起,从寻求事务多元化到寻求场景化立异,根据持续不断的技能展开、事务立异积累下,再到金融数字化转型深入推动,这些对金融体系的技能架构有了更为严格的标准和要求以及诉求。面对此布景和展开的年代,咱们首要要满意高可用及双中心级以上容灾,这是银行或金融业对技能架构最基本的要求,在此根底之上要满意买卖高频高效、低推迟的金融场景处理要求,再衍生到高吞吐才干。在适配和实践中,需求依照银行体系的分类进行,每类体系特色对数据库要求和特性也纷歧样。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

金融事务体系数据库的场景维度可简略划分红为两类,榜首类是日间买卖场景,聚集到银行中心便是客户信息查询、存贷款事务、支付账务事务、代缴费批量处理场景等。这类场景的特色便是要求时效性和强一致性,所以必须满意高并发、高功能。第二类是日终批处理场景,例如计提结息、总分核对、会计科目记账、借贷平衡检查这类时效性要求低一点的事务。在批量提交 SQL 时并发量大,单位时刻对单表的读写量大。这种状况首要要做散布式处理,然后进行散布式聚合处理、查询,终究按体系测算量和现有数据量的大小分批提交事务。

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

根据多年的职业架构经历,贾瓅园从金融数据库施行视点动身,要点介绍了作业评价中的七个重要维度供参阅。在实践运用进程中,企业应结合本身事务特色来评价维度的优先级。并且,必定要进行测试,以测试成果为准作为终究的评价根据

干货,分布式数据库在金融核心场景的落地实践|腾讯云数据库

  1. 批量事务场景需求评价。这一点关乎金融数据库的安全性和数据强一致性,从客户端来看,直接影响到用户体会以及银行间的清算作业。因而,要要点评价大批量数据操作时,对数据库的吞吐影响状况。

  2. 数据有用搬迁需求评价。在投产进程中,搬迁的时效性也直接影响到体会以及银职业行间清算、投产相关的安全平稳度。

  3. 未来 5 年数据库容量评价。数据库建造往往是体系工程,涉及到事务体系的匹配、硬件的匹配、网络匹配,乃至是团队的技能常识匹配,其投入本钱巨大,不或许仅运用一两年就替换。

  4. 高峰值 TPS/QPS 需求评价。根据我国的人口盈利,在运用场景中不乏有许多用户运用,而金融体系运用以稳定性为先,因而并发压力特色下对数据库功能的要求十分高。

  5. 高可用、容灾需求评价。两地三中心,吞吐量要求、IO 要求等都是要点考量点,事务属性较强的体系,需求与数据库高可用架构和容灾规划相合作,在保障高吞吐量的前提下,一起保持毛病切换的灵活性与时效性,对事务影响较低且满意监管要求。

  6. 备份需求评价。因为云化将是未来散布式数据库的展开方向,所以面对传统的网络环境、流量限制等也会有必定的要求。存储方面也从本来的会集式存储,变为散布式存储,这些变化不仅仅是每个单项的技能展开,还或许是归纳影响。

  7. 运用接入需求评价。什么体系能够直接适配?什么体系需求转化改造?这些需求评价在银行选型期间是考虑的要点。

此外,贾瓅园聚集数据库语法维度,在六大运用场景中为开发者供给了适配优化计划。这六大运用场景包含了 SQL 语句、函数 / 关键词、设置 / 语法、索引、数据类型转换、分片 / 分区优化。

点击观看讲师共享视频,了解更多细节哦!