2020年12月17日至18日, “ Distributed Cloud | 2020 全球分布式云大会”在深圳正式拉开帷幕。本次大会就“云原生”“分布式云”“分布式数据”“分布式存储”等几个热门概念进行讨论。在12月17日上午的“分布式云主论坛”上,蚂蚁集团 OceanBase 解决方案部资深解决方案架构师吴东昕为现场观众带来了《原生分布式数据库带来数据管理革命》的演讲。
01随时代步伐 积累经验厚积薄发
随着数字化转型,云计算、边缘计算,以及各种互联网业务的兴起,大量的业务都需要使用数据库,这便对数据库的处理能力提出了巨大的挑战。传统 IOE 架构数据库依赖高端硬件,系统难于扩展,价格昂贵。虽然,基于中间件的分库分表方案解决了扩展性的问题,但是跨库事务、全局一致性、负载均衡、复杂 SQL 仍然成为亟待解决的问题。
OceanBase 资深解决方案架构师 吴东昕
分布式数据库的出现,解决了数据库处理能力横向线性扩展的问题。分布式数据库基于普通服务器,降低系统成本,并支持原生分布式查询。对应用提供透明的支持分布式事务,确保全局一致性,具有灵活的部署方式和负载均衡能力。
在分布式数据库迅速发展的趋势下,蚂蚁集团加快发展步伐。自2010年正式立项,淘宝收藏夹成为了 OceanBase 的第一个用户,后续全面在蚂蚁集团的核心系统大规模应用,在 2019 年创造了 TPC-C 6100万 tpmC 的记录。今年6月,OceanBase 正式成立独立公司:北京奥星贝斯科技有限公司,进行独立商业化运作。吴东昕表示:“蚂蚁希望原生的分布式数据库能力可以惠及更多客户的更多场景,所以开始了OceanBase分布式数据库商业化服务外部客户的征程。如今,我们能做到全分布式、多站点的扩展。”
对 OceanBase 来讲,从第一天在内部使用,到支撑双十一大量跟金钱交易的场景,逐渐从解决扩展能力,解决容灾能力,最终到解决大规模运维效率。这便是与其它同类产品的不同之处, OceanBase 孵化于支付宝,在内部经历了大规模极致场景的打磨,产品逐步成熟后再对外部全面开放使用。
02多形态技术布局 做到市场技术双驱动
发展到2020年,OceanBase 更加重视市场驱动,针对国内中大型金融机构、国计民生相关的政府与公共事业等有着相关需求的客户,OceanBase 能够解决客户对高可用性、强一致性的诉求,同时能够实现对上层应用透明,减少应用的侵入性,还能做到扩展自动分片,在线扩容/缩容等功能。吴东昕表示,“在原生分布式数据库的技术发展方面,我们希望做到云原生,将来我们也会做到存储计算分离。”
OceanBase 是一款100%完全自研的数据库软件。吴东昕介绍,从整个存储引擎到透明的分布式多地多中心多活的部署架构到系统引擎全部都是自研的。虽然有 Oracle 兼容和 MySQL 兼容两种应用模式,但通过原生分布式架构,OceanBase 横向扩展做到了 TPC-C 7.07亿 tpmC的世界纪录。
OceanBase 数据库架构有着多副本、对等节点、无需存储设备共享、分区级高可用性、强一致性等诸多特点。在实现多副本架构时,所有的节点都对等,协同服务做到全部可读写,也不需要专用的设备和专用存储网络,可以实现多站点多活的方式。吴东昕表示,OceanBase 虽然是分布式数据库,用户会发现在使用方式上与传统的单机数据库一模一样,不需要应用做特殊修改和专门的适配,做到了将困难交给数据库处理,把方便留给应用。
OceanBase 在可用性上,远远超过传统的架构,对于少数副本或者 ZONE 发生故障,写事务达到超过半数副本成功时就能成功不影响业务,若主副本异常,则剩余多数的从副本依据 Paxos 协议协商出新的主副本。吴东昕表示,“通过多地多活的模式,无论是发生一个机房的故障,还是多站点的故障,只要超过半数副本存活,就能够确保零数据的丢失。即便整个机房宕机,光纤和网络的中断也可以在30秒实现 RPO=0。”
在这上面我们提供了非常丰富的多活的解决方案,包括如果只有一个机房,我们提供的是一个机房高可用,到两地三中心传统的部署架构,到异地多活,包括其他的客户不能提供多个机房,我们同样也提供同城双机房的主备库架构,提供各种各样的容灾和业务连续性保护。
OceanBase 有几种典型的部署方式,例如在一个城市部署3个机房,OceanBase 能做到跨机房,在同城多个核心机房延迟一般在0.5 ~ 2ms之间完全透明的负载均衡和容灾保护。而两地三中心部署,正常情况下和同城三中心部署的延迟一致。两地三中心五副本部署,能在单 ZONE 故障情况下不影响业务响应延迟。而 OceanBase 将三地五中心分布式多活架构作为对“数据不丢失,业务不停机”的极致追求。“在今年增加了主备库的方案,为客户在相对低成本的方式下提供可用的容灾解决方案。”吴东昕说。
演讲最后,吴东昕总结道:“OceanBase 作为一个独创的原生的分布式数据库,我们最大的希望是,让大家享受分布式数据库好处的同时,在应用的开发和原来使用单机的数据库一样保持透明,不需要做大量的应用适配。我们利用创新性分区级别的多活,保证所有的资源不会有只提供读服务的模式,保证所有的硬件资源充分利用,在多站点多活我们提供完全透明的特性。”
总而言之,对原生分布式数据库未来的数据管理革命,吴东昕表示,OceanBase 基于分区的数据保护方式真正让分布式数据库按需调整,让在线扩容缩容成为现实。未来,OceanBase 也希望能够与更多有愿景、有能力的行业伙伴一起共建生态。