暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase:当金融拥抱科技

说到OceanBase,相信大家经常会联想到的就是双11。今天的双11已经成为许多人每年的一个重要节日,对于OceanBase团队来说,双11更像是一场技术大考。2017年双11,支付宝创造了25.6万笔每秒支付峰值这样一个新的业界纪录,这个峰值对于数据库来说,意味着每秒要同时运行4200万条SQL,而这其中的每一条SQL,都完全运行于OceanBase之上。业务的快速发展总是能给产品技术创新带来源源不断的动力,虽然能够亲身参与并见证这样一个新的业界纪录的诞生令人激动与自豪,但我更想分享给大家的,是在支撑这样一个极致的扩展性、性能和可靠性的关键场景的背后,OceanBase所呈现出的丰富的产品技术内涵。今天我们可以非常自信地说,OceanBase已经成为最先进的金融级数据库。

蚂蚁金服选择发展OceanBase这样的分布式数据库有其深刻的战略思考。过去的实践告诉我们,传统的集中式架构无法满足一个快速发展的核心企业对于容灾和容量方面的关键需求。我们相信可靠性更高、扩展性更好、成本更低的分布式架构会逐渐成为行业的主流,原生的分布式关系数据库将在其中扮演基础性角色。所谓原生,是指我们是真正在数据库内核层面来解决掉数据库本身的可靠性和扩展性问题。我们注意到业内目前还存在有一些基于单机数据库和中间层的分布式解决方案,这些解决方案的本质,是将原本属于数据库应解决的问题向业务层上移,这样的系统会面临三个问题:一是如何减少对业务的侵入;二是如何避免数据库功能的受限;三是如何解决跨库的数据强一致问题。我们相信KV不应是分布式数据库的全部,对于绝大多数客户来说,使用功能高度集成、整体交付的通用关系型数据库,仍然是实现更低整体拥有成本的最佳实践。

OceanBase是分布式架构在数据库的落地。分布式架构的基本特征之一,是其能够基于不可靠的硬件,来构造出满足金融级更高可靠性及数据一致性要求的业务核心。而硬件的不可靠,是可以通过软件的可靠性来弥补的,通过这几年的业务实践,蚂蚁金服已经非常清晰地向业界证明了这一点。OceanBase实现高可靠的关键,是其基于Paxos分布式选举协议的事务核心。传统数据库基于主备容灾架构,发生故障时,系统要么选择停止服务,要么选择去容忍主备数据的不一致,对于关键业务来说,停服务是不可接受的,这就意味着在传统数据库的容灾架构下,主备切换是要丢数据的。而Paxos协议是一种多数派协议,其技术本质,是少数服从多数的朴素的现代社会思维。打个比方,今天我们所有人来针对一项决议进行投票,那么只要多数人选择同意,这项决议就可以被通过,即使有少数人因为各种原因而缺席。所以在这种多数派协议下,任何少数成员的故障不会影响系统整体的可用性。通过Paxos核心协议,OceanBase可以实现单机/机房/城市级别的无损容灾,同时通过完全自动的主备切换,我们可以实现故障恢复时间不超过30秒,这是OceanBase在多次真实故障中的实际表现。而今天传统数据库分钟级的故障恢复能力,跨机房的有损容灾,已经完全无法满足目前许多高实时性的线下支付场景对于系统可用性的要求。

去年,蚂蚁金服实现了基于OceanBase的三地五中心容灾架构在核心业务的落地,这一架构意味着我们可以真正实现城市级无损容灾,也就是即使一个城市完全不可用,系统在数据层面也不会丢失一行数据,同时可以继续提供服务,而这将极大地简化应用端的容灾设计,同时大大提升运维同学的生活幸福感。而就在昨天上午,网商银行正式升级至三地五中心双活架构,并且使用了最新的日志副本,这是OceanBase城市级容灾能力在金融领域的又一个例证。今年我们还将实现更多业务基于三地五中心架构部署,通过这些业务的落地,蚂蚁金服正在定义金融级高可用的新标准。

今天的OceanBase已经可以支持最多64个物理机房的跨地域部署,这使得单一数据库集群的容量不再受到单个IDC、乃至单个城市的容量限制。基于OceanBase的扩展能力,今天我们已经可以非常方便地实现快速的水平扩展、一键扩容缩容、以及完全自动的负载均衡。同时结合蚂蚁金服的单元化架构,今天我们可以实现在小时级别,将蚂蚁金服的任何一个业务,从日常模式扩展至大促模式,而这是传统的集中式架构完全无法实现的。我想特别强调地是,今天OceanBase的扩展能力完全是基于数据库内核的原生能力,也就是说,今天我们不管跨越多少个机房,跨越多少个城市,所有部署中涉及到的这些数据库服务器,都是一个完整的OceanBase集群的一部分,无论从应用视角,还是从运维视角来看,系统都是整体交付的,这是作为一个原生的分布式关系数据库产品,我们一直努力追求的重要客户价值:对业务透明。

我们前面已经谈到,分布式架构基于普通PC服务器来构建核心业务集群,当硬件不再需要为系统整体的可靠性托底时,相对于传统集中式架构中广泛使用的高端服务器和高端存储设备,普通PC服务器在性价比方面呈现出数量级的压倒性优势。而OceanBase创新的存储架构能够将这一优势推进到一个新的高度。传统数据库的存储架构诞生并成熟于机械硬盘的统治时代,其基本特征是数据分页存储、原地更新,这种存储架构本质上是为了优化机械磁盘的IO而设计的。而OceanBase的存储架构从一开始就是面向SSD固态盘设计的,这是在大容量内存和SSD固态盘日益普及,已经成为以蚂蚁金服为代表的所有在线业务的标准配置的这一大背景下的自然产物。OceanBase存储架构中特有的基线数据和增量数据分离的设计,使得系统能够在运行中的大部分时候,提供基于内存的实时处理性能。我们知道一个基于内存优化的数据库,和一个基于磁盘优化但是数据常驻于内存中的数据库,由于软件实现堆栈方面的差异,其在处理性能上也是完全不同的。我们在sysbench上的性能测试结果也非常清楚地证明了这一点。其中,OceanBase的写性能远远领先于同类产品,据我们所知,OceanBase是目前全球首个基于普通PC服务器,单机性能突破百万TPS的数据库。除了极致性能之外,新的存储架构完全消除了数据的随机写,这使得OceanBase能够更好地去适配企业级SSD固态硬盘中的中低端产品;而数据批量写的特性又使得高效数据压缩技术的引入成为可能,从而帮助OceanBase实现相同数据集下,比同类产品小得多的存储空间占用。通过这些技术,我们能够在系统引入SSD存储后,实现优异IO性能的同时,使整机成本得以大幅度降低。

OceanBase是一款自研数据库,和其它所有自主研发的基础类软件产品一样,生活并不是一件容易的事,除了产品研发之外,最困难的,莫过于你如何向你的客户证明你的产品是可靠的,而要证明这一点,很多时候是需要你的产品能够在具备足够代表性的示范业务中持续应用,这在很多时候就形成了一种死循环。OceanBase能够发展到今天,背后最重要的原因,是OceanBase成长于蚂蚁金服这样快速增长的互联网金融企业当中,这样的一个快速增长的企业,本身就为自研数据库的发展提供了丰富的应用场景,其中还包括最为重要的金融核心场景。OceanBase这几年在蚂蚁金服的发展,就是不断证明自己的过程,通过核心业务的持续应用,蚂蚁金服帮助OcanBase渡过了对于一个自研基础类软件产品来说最为艰难的应用关。而蚂蚁金服作为一个互联网金融的标杆企业,也通过OceanBase的应用,于去年真正实现了所有核心业务100%去商业数据库,我相信这对于整个金融行业来说,都是一个具有里程碑意义的事件。

今天的OceanBase已经成功支持了蚂蚁金服、阿里巴巴集团数百个关键业务的运行,其中许多业务已经稳定运行了多年。从去年开始,我们也跟随整个蚂蚁金服金融科技开放的脚步,开始了赋能传统金融的历程。在整个赋能实践过程中,我们非常庆幸OceanBase过去在蚂蚁金服自有业务中的多年积累,帮助产品在核心稳定性方面有了值得信赖的基础,避免了让外部金融客户成为我们的小白鼠。但同时我们也非常深刻地感受到,传统金融在业务复杂性方面与我们的自有业务存在很大的差异,在功能体验、运维保障等各个方面,都对产品成熟度提出了更高要求。

今天的OceanBase才刚刚开始商业化,和业内已经非常成熟的其它商业数据库相比,OceanBase要走的路还很长。我们会继续坚持自主研发的道路,正如过去七年我们一直在坚持的那样,自主研发虽然投入巨大,但却能一直帮助我们与业务一起快速成长,帮助蚂蚁金服实现对核心数据库的自主可控,最重要的,是帮助技术创新不再有天花板。我们正在研发下一代的OceanBase,新的OceanBase将在产品端全面对标商业数据库。我们将通过在功能层面实现对商业数据库的全面兼容来避免业务进行大的改造;我们将通过在优化器、分布式执行等方面的技术进步,来帮助产品去更好地应对基于OLTP/OLAP混合负载的复杂应用场景的挑战;我们将通过对全局一致性快照的支持,来帮助业务像在单机环境中一样去访问分布式数据库,不再有任何约束和限制,真正实现架构对业务透明;我们将持续提供产品更高的性能和更低的成本,让优化永无止境。我们希望,通过我们在产品端的这些努力,能够真正去帮助我们的客户,帮助他们去全面降低从传统的集中式架构,进化到分布式架构过程中所面临的风险和成本,帮助他们像过去使用其它商业数据库一样,能够继续基于一个产品,一套知识体系,来构建满足不同应用场景需求的核心业务集群,拥有较低的开发门槛和运维门槛,拥有更低的整体拥有成本。我们相信,包括分布式关系数据库在内的整个金融级的分布式架构,将会成为金融科技时代下行业最重要的基础设施,他们将无处不在。这种架构性能优异,易于扩展,简单易用,同时稳如磐石。蚂蚁金服的技术团队将为此而不断努力。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论