8月30-31日20:00-21:30,一场别开生面的技术大会—— “蚂蚁金服&阿里云在线金融技术峰会”将在线举办。本次将聚焦数据库、应用架构、移动开发、机器学习等热门领域,帮助金融业技术开发者深入解析互联网应用的前沿应用与技术实践。
议题名称:《云数据库OceanBase的架构演进及在金融核心系统中的实践》
议题简介:数据库是软件系统中非常重要的基础设施, 传统关系型数据库在功能上很好的满足了需求,而在性能、可扩展性以及可靠性上则受到了较大的制约,一般需要搭配较为昂贵的硬件比如共享存储、小型机才能满足业务关于可靠性或性能方面的需求, 不能满足互联网行业的高速发展, 于是NoSQL应运而生, 但NoSQL在功能、对事务及一致性方面的缺陷注定了其无法代替SQL。 蚂蚁金服对数据库的需求更为严苛,数据要金融级可靠,同时需要极强的可扩展性。我们如何能结合分布式系统与传统关系型数据库的优点,通过廉价硬件获得功能、性能、稳定性及扩展性俱佳的关系型数据库? OceanBase在2010年开始思考及解决这个问题,通过六年的发展, OceanBase已经成功应用于蚂蚁、网商银行等多个核心系统, 是第一个用于支撑银行核心系统的非商业数据库。
本专题主要涵盖:
1) OceanBase的需求、设计理念以及实现权衡。
2)OceanBase在阿里的应用以及如何满足金融业务场景。
3)云数据库OceanBase目前适合的业务场景及未来发展。
关于分享者:谭宇(茂七),阿里巴巴高级技术专家。2009年加入阿里, 先后参与过TFS(淘宝分布式文件系统)、Tair(淘宝分布式缓存)以及OceanBase(分布式数据库)等几大分布式系统的开发, 深度参与并见证了OceanBase从淘宝收藏夹到蚂蚁核心系统的整个发展历程,对分布式系统和数据库领域有极大的兴趣, 现在负责基于OceanBase的数据库服务(云数据库OceanBase),致力提供金融级的数据库服务。
2016年8月30日晚20:00,茂七将在蚂蚁金服&阿里云在线金融技术峰会上发表《OceanBase架构演进及金融系统实践》的演讲。为了帮助大家更好地了解茂七、评估本次演讲,云栖社区对茂七进行了采访。
以下是采访内容:
云栖社区.相对于HBase + Phoenix,OceanBase有什么优势?
茂七:OceanBase是一个关系型数据库,对标的是MySQL/Oracle/DB2这类传统关系型数据库,目标是用普通硬件来实现可靠与可扩展的数据库服务,以解决传统关系型数据在互联网时代的瓶颈。更简单的说是在保证传统关系型数据库的功能的基础上,再结合分布式系统的优点,以达到可扩展和可靠的目的。
而类Hbase的系统往往是牺牲了关系型数据库的功能,比如完整的事务支持,虽然达到了可扩展的目的,但让用户在使用方式上比较受限。所以OceanBase和NoSQL以及在NoSQL系统上架一层SQL接口的系统不太具备可比性,SQL和NoSQL是互补的关系,各自有各自的侧重领域。
如果硬要比较的话,只能说使用场景不一样,比如现在OceanBase的主要场景为蚂蚁交易核心、支付核心这类高频高并发的OLTP,而NoSQL在这类场景中没有使用的先例。
云栖社区:在致力于更加优秀的金融级数据库服务上,OceanBase还将怎么做?
茂七:OceanBase目前支撑了网商银行、蚂蚁交易、支付等多个核心系统,但发展到今天,才不到七年的时候,作为数据库,还有很长的路要走:
一是OceanBase还在不断完善数据库方面的功能,目前OceanBase可以做到阿里集团内的MySQL业务平滑迁移,但还有很多必须的数据库功能缺失,比如存储过程、FlashBack等实用的功能,在这方面,传统关系型数据库比我们还好很多,将实用的、优秀的功能加入到OceanBase里来,这是未来比较大的一块工作。
二是持续提升可靠性与稳定性。OceanBase目前可以在同城做到少数机房失效后不丢失数据且在秒级恢复(RTO<1分钟,RPO为0),未来还将考虑全球范围内的多数据中心的可靠性与持续可用。
三是持续降低成本。OceanBase使用廉价硬件,目标是在提升可用性的同时成本要做到和传统关系型数据库相当甚至更低。在降低成本方面,目前主要有几点想法,一是扩大集群的规模,可以提升资源整合度,但这对我们的资源隔离与调度有很大的挑战。二是在保证可用性的前提下,减少副本数,OceanBase在集团内的典型使用方式为部署在同城三个机房,使用三个副本,每个副本都需要占用内存,我们是否要以做些优化,减少内存使用量? 这些都是我们目前在考虑的。
让用户更简单的使用数据库,是OceanBase始终不变的愿景。
云栖社区:在本次分享中,将主要分享哪些技术点? 适合什么样基础的听众?
茂七:本次分享我将会从亲历者的角度来解读OceanBase,我们为什么要做一个全新的关系型数据库? 为什么不在传统开源关系型数据库比如MySQL、PostgreSQL上修改?OceanBase的架构是如何设计的,如何走到了现在的架构,这中间有一些什么样的权衡?OceanBase又是如何从淘宝收藏夹走到蚂蚁核心系统?,和大家一起回顾我们面临的问题、我们的解法、权衡和妥协,希望通过此次分享,可以让大家在面临数据库方面的问题时,能有效的做出判断。