@[toc]
前言
一直以来,外国企业在数据库领域保持高市占率,主流的数据库系统大多数都是使用外国的产品。但随着中国数据库产品的发展,十年之间,国产数据库由过去的默默无闻一步步走上了历史舞台,并推动了全球数据库技术的蓬勃发展。今天就来带领大家了解一款国产数据库——OceanBase。
1、什么是OceanBase?
OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库 .
始创于2010年。已连续9年平稳支撑双11, 创新推出“三地五中心”城市级容灾新标准 ,是一个在TPC-C和TPC-H测试上都刷新了世界纪录的国产原生分布式数据库。 产品采用自研的一体化架构,兼顾分布式架构的扩展性与集中式架构的性能优势,用一套引擎同时支持TP和AP的混合负载,具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点, 助力金融、政府、运营商、零售、互联网等多个行业的客户实现核心系统升级。
一款完全自研的原生分布式关系数据库软件,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,具备卓越的水平扩展能力,全球首家通过TPC-C标准测试的分布式数据库,单集群规模超过1500节点。产品具有云原生、强一致性、高度兼容Oracle/MySQL等特性。
2、OceanBase名字的由来
蚂蚁金服的数据库为什么要叫Oceanbase呢?这其中也是非常有意思的。
1、目标远大
在2000年以后,联网终端大量出现,在信息传递、信息交流和信息共享的过程,产生了大量的数据,学界称其为大数据。当然也可以叫做海量数据。而Ocean base 中的Ocean就是海洋的意思,而Base则代表库的意思,Ocean base合在一起也是再说我们是可以容下海量数据的数据库,也就是说我们可是能容下大数据的数据库。由此可见企业格局之大,战略布局之广阔。
2、哲学含义
老子在《道德经》中说:“水善利万物而不争,处众人之所恶,故几于道。 居,善地;心,善渊;与,善仁;言,善信;政,善治;事,善能; 动,善时。 夫唯不争,故无尤。 人无常在,心无常宽,上善若水,在乎人道之心境,即,心如止水。”水具有极高的哲学智慧和处世技巧,这是值得人们学习的,而Ocean base 就是一个具有水的美好品行的地方。
3、命名传统
阿里系向来就是采用大格局进行命名的传统。在大城市或留过洋的人,都有一个毛病,那就是喜欢管大商城叫做mall。哥们上个月在伦敦玩的时候,在一个大mall里买了点东西。而阿里打算开一家网上商城的时候,马云就觉得他自己的那个商城,那可是天上的商城,一定要叫他天mall。按理这种朴素的想法,大家应该很嫌弃的,但是小马哥用他的实力改变了中国人的审美观。现在也没有人认为天猫这个名字土。
3、OceanBase 发展历程
- 2010年,OceanBase 诞生,立项之初的目标就是做原生分布式数据库,当时业界并没有参考方案,成就了OceanBase从0到1。
- 2011年,OceanBase正式进入电商业务,在阿里巴巴电商平台应用,服务了几十个电商平台的业务系统。
- 2014年,在支付宝上线,这也实现了OceanBase核心交易场景的突破,支撑了历年双11的峰值。
- 2016年,支付宝、网商银行包括交易、支付、账务会员在内的所有核心业务迁移到OceanBase。
- 2017年,走出阿里巴巴和蚂蚁集团,开始对外商业化,南京银行是第一家运行OceanBase的外部客户。
- 2019年,OceanBase参加TPC-C测试,取得6088万tpmC的成绩,打破了原有的世界纪录;同时,开始提供公有云服务。
- 2020年,OceanBase正式进行独立公司化运作,将分布式数据库推向更广泛的行业客户,助力客户实现分布式架构转型;同时,TPC-C取得7.07亿tpmC的成绩,再次打破由自己创造的世界纪录,并支持HTAP混合负载。
- 2021年,TPC-H取得1526万 QphH@30000GB的成绩,HTAP 能力行业领先。加大研发投入,正式发布社区版,获4000+ Star,1500+ 人才认证。从金融首选,走向国计民生;从核心行业,走向中小企业;从国内客户,走向海外拓展;累计客户400+,提供企业级数据管理解决方案。
4、OceanBase优势
- 高性能:OceanBase采用了读写分离的架构,把数据分为基线数据和增量数据。其中增量数据放在内存里(MemTable),基线数据放在SSD盘(SSTable)。对数据的修改都是增量数据,只写内存。所以DML是完全的内存操作,性能非常高。
- 低成本:OceanBase通过数据编码压缩技术实现高压缩。数据编码是基于数据库关系表中不同字段的值域和类型信息,所产生的一系列的编码方式,它比通用的压缩算法更懂数据,从而能够实现更高的压缩效率。
- 高兼容:兼容常用MySQL/ORACLE功能及MySQL/ORACLE前后台协议,业务零修改或少量修改即可从MySQL/ORACLE迁移至OceanBase。
- 高可用:数据采用多副本存储,少数副本故障不影响数据可用性。通过“三地五中心”部署实现城市级故障自动无损容灾。
5、OceanBase的核心特性
- 高可用
OceanBase 数据库将数据以多副本的方式存储在集群的各个节点,可以轻松实现高可用,保证 RPO=0,甚至异地多活。即使单个节点出现故障也不影响业务连续性。多副本能够满足从节点、机架、机房到城市级别的高可用、容灾要求,并且克服传统数据库的主备模式在主节点出现异常时 RPO>0 的问题。 - 可扩展
OceanBase 数据库具有极强的可扩展性,可以在线进行平滑扩容或缩容,在扩容后自动实现系统负载均衡。并且扩容或缩容过程对应用透明。 - 低成本
OceanBase 数据库可以在通用服务器上运行,不依赖于特定的高端硬件,能够有效降低用户的硬件成本。OceanBase 数据库使用基于 LSM-Tree 的存储引擎,能够有效地对数据进行压缩,并且不影响性能,可以降低用户的存储成本。 - HTAP
OceanBase 数据库的分布式并行计算引擎对 OLTP 应用和 OLAP 应用都进行了很好的优化,并且支持跨数据库节点的 DQL 和 DML 并发执行,真正实现了一套计算引擎同时支持混合负载。 - 兼容性
OceanBase 数据库高度兼容 MySQL 数据库生态。OceanBase 数据库支持 MySQL 5.6 版本全部语法以及兼容 MySQL 5.7 的绝大部分功能和语法,兼容 MySQL 5.7 版本的全量以及 8.0 版本的部分 JSON 函数,可以与 MySQL 业务无缝切换。 - 多租户
OceanBase 数据库通过租户实现资源隔离,每个数据库服务的实例不感知其他实例的存在,并通过权限控制确保不同租户数据的安全性。多租户与 OceanBase 数据库强大的可扩展性相结合,能够提供安全、灵活的 DBaaS 服务。
6、应用场景
OceanBase的产品定位是一款分布式关系数据库,经过多年蚂蚁金服内部业务的打磨,目前已经支持蚂蚁金服100%核心交易系统,稳定支撑阿里、蚂蚁内部上百个关键业务以及浙商银行、南京银行等多个外部客户。OceanBase产品适用于金融、证券等涉及交易、支付和账务等对高可用、强一致要求特别高,同时对性能、成本和扩展性有需求的金融属性场景,以及各种关系型结构化存储的OLTP应用。OceanBase天然的Share-Nothing分布式架构对于各种OLAP型应用也有很好的支持,例如OceanBase适用于以下典型场景:
- 金融级数据可靠性需求
金融环境下通常对数据可靠性有更高的要求,OceanBase每一次事务提交,对应日志总是会在多个数据中心实时同步,并持久化。即使是数据中心级别的灾难发生,总是可以在其他的数据中心恢复每一笔已经完成的交易,实现了真正金融级别的可靠性要求。
- 让数据库适应飞速增长的业务
业务的飞速成长,通常会给数据库带来成倍压力。OceanBase作为一款真正意义的分布式关系型数据库,由一个个独立的通用计算机作为系统各个节点,数据根据容量大小、可用性自动分布在各个节点,当数据量不断增长时,OceanBase可以自动扩展节点的数量,满足业务需求。
- 连续不间断的服务
企业连续不间断的服务,通常意味着给客户最流畅的产品体验。分布式的OceanBase集群,如果某个节点出现异常时,可以自动剔除此服务节点,该节点对应的数据有多个其他副本,对应的数据服务也由其他节点提供。甚至当某个数据中心出现异常,OceanBase可以在短时间内将服务节点切换到其他数据中心,可以保证业务持续可用。
7、未来展望
今年,OceanBase再次亮出底牌,面向国产数据库领域取得了“破冰”成果。据了解,此次发布的OceanBase4.0,采用业内首个单机分布式一体化架构,并且集中了分布式架构和集中式架构二者的优势。
在单机模式下,OceanBase 4.0和MySQ相比,硬件性能水准实现了超越。另外,OceanBase 4.0也做到了在单机模式下,性能比集中式数据库更为出色,这是业内首次实现的突破。
OceanBase 4.0,是否将成为成单机与分布式的新拐点?
我们都知道,原生分布式数据库虽然有着各种先天的优势,但其落地过程中也面临着两个方面的挑战:一方面,在大家的印象中,原生分布式数据库主要适用于大型企业或规模化应用场景,而小型企业则使用单机更为划算。但一旦部署单机,后续业务量庞大时再进行架构调整,又会进一步增加部署的难度。
另一方面,为了保证绝对高可用性,原生布式数据库往往以“三副本”形式部署,这意味着企业如果想要部署分布式数据库,就要同时进行多个服务器部署,门槛比单机高,且“分布”或“单体”的选择通常不可逆,选择了单机就意味着很难再去部署“分布式”。
而OceanBase 4.0的一体化架构则能够很好地解决这些矛盾。第一,支持单机部署和小规格部署。这个设计方案的好处就在于单节点部署只有一个进程,既实现了单节点最低配置,又实现了单机和分布式架构的统一,OceanBase 4.0将部署规格降低到4C8G,且未来还会进一步降低。
🎉文章到这里就结束了,感谢诸佬的阅读。🎉💕欢迎诸佬对文章加以指正,也望诸佬不吝点赞、评论、收藏加关注呀😘