今年8月,央行印发了《金融科技(FinTech)发展规划(2019-2021年)》,对金融科技领域的发展和应用创新进行了全面细致的规划。其中,针对分布式数据库,《规划》用专门篇幅进行了介绍和指导,其中强调了对金融分布式数据库的研发和创新,并推进和鼓励分布式数据库在金融场景的更多应用。
数据更是金融业最重要的核心资产之一,然而,在底层数据库平台上,此前金融行业长久以来对国外产品依赖度较高。近年来,随着华为GaussDB、蚂蚁金服Oceanbase以及SequoiaDB巨杉数据库等国产自研产品的不断走向成熟和规模应用,金融行业在数据库方面也迎来了新的转型期。正如巨杉数据库联合创始人兼CTO王涛所言,“金融行业迎来新的分布式数据库转型期。”
三大问题驱动数据库技术发展
“回顾数据库的发展历程,主要围绕解决数据量、成本、系统架构这三大核心问题。”王涛表示:“ 随着互联网的发展,企业需要保存的数据也越来越多。过去我们硬件单位成本和计算成本都非常高,一台大型主机采购成本动辄几千万,即使小型机也要几百万。而现在几十万的服务器磁盘空间就能达到上百TB,服务器的成本降低使分布式数据库更便于普及。”
“从系统架构来看,随者企业不同应用的增多,数据量的激增,也反过来促进了企业从传统单点架构向分布式架构进行转型。大数据理念带来的数据共享、数据融合理念结合互联网企业使用的敏捷开发会造成整个数据库上层应用需要进行重新解耦。原来只需要一个数据库就能满足现在则需要用十来个甚至几十个小的数据库才能满足。这使得数据库的应用开发以及数据库运维理念产生了翻天覆地的变化。现在一个企业就可能使用三四百个数据库甚至三四千个数据库。”
“此外,针对如今行业推崇的‘微服务’架构,需要针对应用、平台进行更细粒度的管理,单点式的数据库在服务微服务应用是必定会存在诸多问题。因此,分布式数据库,实例化、云化的管理能力,才能更好的的支撑新一代云化架构下的微服务应用。”
在解决了成本、架构、数据量的基础问题后,分布式数据库才能呗大规模应用接纳和使用。
两大维度六个特性帮你选择下一代分布式数据库
解决数据库发展的三个大问题,针对金融级的交易应用,对分布式数据库提出了更严苛的挑战。
金融机构其关键的业务是交易型业务。“因此用户在选择交易型分布数据库主要考虑两大维度,首先是对传统技术的兼容性,另外就是在最新技术的前瞻性。通过六大技术特性体现这两个维度,来帮助用户选出靠谱的下一代分布式数据库。“王涛这样表示。
第一是ACID。它是指Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)这是做数据库的最基本要求,这样才能保证一个提交不会失败。
第二是对SQL完整支持。要与传统技术兼容,需要兼容MySQL甚至Oracle、DB2,要尽量做到让客户少改或不更改代码。
第三安全性。确保当硬件或者数据中心宕机的时候对数据不会造成影响。
从技术前瞻性出发,第一点要求就是分布式与灵活扩展。王涛认为,未来5G到来之后,面临的数据量的变化是巨大的。
在数据量的吞吐量方面,目前可能我们每秒有几万的交易量,在5G之后,可能会达到每秒有几十万交易量,包括对非结构化的数据的支持。现在能在10台机器里部署分布式数据库,需要把这种架构和企业的私有云进行整合。让他们数据实现真正意义上的弹性扩展,当用户的数据量增长之后,不需要用户自己干预,自动地进行扩充,而不仅是扩充数据库某个实例。
创新的第二点是HTAP(混合事务分析处理能力),它要求数据库能够混合支持OLTP 和 OLAP 业务同时处理的能力。HTAP的出现打破事务处理和分析之间的边界。支持更多的信息和“实时业务”的决策。以银行用户为例,应用新一代数据库,刚开始只做查询或交易,后来发现有不断有分析或者小的报表业务需求的接入,因此分布式数据库能够支持OLTP 和 OLAP两种业务就成为一种提升平台能力的必然需求。
此外,面对AI运算更偏重于数据计算,数据库的本质偏重于存储,通过类似HTAP的理念,也可以很好的将数据应用于特定的AI应用领域,这块巨杉的一些探索未来也会找机会分享给大家。
第三,支持云与多租户。传统数据库应用与数据库基本是一对一映射,但现在分布式数据库面对的是大规模集群,上层面的应用不是一个应用而是成百上千个不同的应用,每个应用有不同业务场景和需求,物理层面需要隔离,当面对一些应用压力非常大的时候,还要能保证其他高频次和交易型应用不受干扰,这也分布式数据库需要满足的场景。
金融业核心数据库自研升级之路
巨杉数据库目前大型银行客户已经突破50家,金融生产环境大的单集群超过2PB存储量,银行用户大单集群达到141台物理服务器,单集群超过5440亿条记录存储。其中,应用场景也包括了众多的金融级交易业务。
巨杉数据库产品已经走过了8年的自研历程,作为国内分布式数据库领域最早的“开路先锋”,在王涛看来,坚持自研才能保证产品和技术长期持续性地健康发展。
自研绝不是“喊口号”,而是从技术和商业角度出发,基础软件的唯一选择。
“从技术角度来说,自研代表着完全自主掌控产品代码和产品的发展路线,只有这样才不会受制于人。同时,自研能保证技术产品的持续生命力,在快速应对客户需求的同时也保证产品化。最后,自研的技术闭环流程要求一个成熟的产品不断地在金融级应用中实践历练,获取市场反馈的同时不断积累经验、完善细节,实现持续地技术创新和产品化。”
巨杉数据库的架构设计主要采用的计算存储分离的架构,两层分别展开来看,所有节点都是完全分布式的,可以进行横向的弹性扩展。王涛介绍,第一层是数据库的实例层,把整个集群对外体现为一个个的不同的数据库实例,比如MySQL实例、PG实例,甚至还有非结构化实例,对于已有的大部分应用可以说做到极低的迁移成本。在存储引擎方面,巨杉数据库的数据存储、事务交易放在存储层,这层叫做分布式存储层。巨杉数据库引擎完整支持分布式事务、强一致、多副本高可用,可以完全满足分布式核心交易业务需求;采用原生分布式架构,PB 级数据弹性扩展。
在今年的数据技术嘉年华大会上,巨杉正式发布的SequoiaDB巨杉数据库 v3.4版本。SequoiaDB v3.4针对分布式交易业务的性能大幅提升。对比上一版,在分布式交易场景,读写性能提升达30%,更新性能提升1倍-1.5倍,查询性能较v3.2提升1.5倍以上。
此外,新版本实现了实现多层级内存池和无锁内存模型、数据库集群池化内存资源,内存池多级管理,会话访问实现 99.99% 内存访问命中率,实现高并发 OLTP 场景下内存的无锁访问,SequoiaDB v3.4同时提供在线内存监控和离线内存分析能力,自动化生成内存分析报告。 并且推出了多种性能诊断工具,帮助用户大幅减低运维成本。
【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】