你必须知道的国产数据库-阿里数据库oceanbase

赵亦华
• 阅读 626

一直以来,国外企业在数据库领域都保持着较高的市场份额,主流的数据库系统大多采用国外产品。然而,随着我国数据库产品的发展,国产数据库在过去的十年间从默默无闻走上了历史舞台,推动了全球数据库技术的蓬勃发展。今天,我们就带大家通过一个国产数据库-阿里数据库oceanbase

1.什么是阿里数据库oceanbase? 阿里数据库oceanbase是蚂蚁集团开发的原生分布式数据库。

成立于2010年。连续九年稳步支持双11,创新推出“三地五中心”城市级容灾新标准。这是一个国内原生分布式数据库,在TPC-C和TPC-H测试中创造了新的世界纪录。采用自研集成架构,兼顾分布式架构的可扩展性和集中式架构的性能优势,一套引擎同时支持TP和AP的混合负载。它具有数据一致性强、高可用、高性能、在线扩展、与SQL标准和主流关系数据库高度兼容、成本低等特点。,并帮助金融、政府、运营商、零售、互联网等行业的客户升级核心系统。

一款完全自研的原生分布式关系数据库软件,在普通硬件上具有财务级的高可用性,是首个“三地五中心”城市级故障自动无损容灾新标准,具有出色的横向扩展能力。它是全球首个通过TPC-C标准测试的分布式数据库,单集群规模超过1500个节点。该产品具有云原生、一致性强、与Oracle/MySQL兼容性高的特点。

2、阿里数据库oceanbase名字的由来 蚂蚁金服的数据库为什么叫Oceanbase?这个也很有意思。

1.目标远大。

2000年以后,出现了大量的网络化终端,在信息传递、信息交换、信息共享的过程中,产生了大量的数据,学术界称之为大数据。也可以称之为海量数据。海洋基地中的海洋就是海洋,基地就是图书馆。合在一起,海洋基地意味着我们是一个可以容纳海量数据的数据库,也就是说,我们是一个可以容纳大数据的数据库。这说明企业架构之大,战略布局之广。

2.哲学意义

老子在《道德经》中说:“水为万物之善而不争,为万人之恶,故如道也。栖息地,好土地;心,善良;同,善仁;言,诚信;政府,善治;事,能力好;动起来,乖一点。只有老公不打,所以没什么特别的。人无常,心不常有宽,慈如水,在乎其人道的心境,即内静。”水有极高的哲学智慧和生活技能,值得学习,而海洋基地就是一个有着水的美好品格的地方。

3.命名传统

阿里系一直是大格局命名的传统。住在大城市或者出过国的人都有一个毛病,就是喜欢把大商场叫做mall。我的朋友上个月在伦敦玩的时候在一个大商场买了一些东西。阿里打算开网上商城的时候,马云觉得自己的商城是天上的商城,一定要叫天商城。按理说,这种简单的想法应该被所有人拒绝,但马克却用自己的力量改变了中国人的审美观。现在没人觉得天猫这个名字是土生土长的。

3.阿里数据库oceanbase开发历史 2010年,OceanBase诞生。在项目开始时,目标是创建一个本地分布式数据库。当时业界没有参考方案,从0到1实现了阿里数据库oceanbase。 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能力方面领先业界。加大R&D投入,正式发布社区版,获得4000+明星和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树的存储引擎,可以在不影响性能的情况下有效压缩数据,并可以降低用户的存储成本。 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的自然无共享分布式架构也很好地支持各种OLAP应用程序。例如,OceanBase适用于以下典型场景:

财务数据可靠性要求

在金融环境中,通常对数据可靠性有更高的要求。每次在OceanBase中提交事务,对应的日志总是在多个数据中心实时同步并持久化。即使数据中心层面发生灾难,每一笔完成的交易也总能在其他数据中心恢复,实现真正财务层面的可靠性要求。

使数据库适应业务的快速增长。

业务的快速增长通常会给数据库带来双重压力。OceanBase作为一个真正的分布式关系数据库,由独立的通用计算机作为系统的各个节点组成,数据根据容量和可用性自动分布在各个节点中。当数据量不断增加时,OceanBase可以自动扩展节点数量以满足业务需求。

不间断服务

企业持续不间断的服务,通常意味着给客户最流畅的产品体验。分布式OceanBase集群,如果一个节点出现异常,这个服务节点可以自动移除。这个节点对应的数据有很多其他的副本,对应的数据服务也是由其他节点提供的。即使某个数据中心出现异常,OceanBase也能在短时间内将服务节点切换到其他数据中心,可以保证服务的持续可用。

7.未来前景 今年,OceanBase再次亮出底牌,在国产数据库领域取得“破冰”成绩。据了解,此次发布的OceanBase4.0采用了业界首个单机分布式集成架构,融合了分布式架构和集中式架构两者的优势。

单机模式下,与MySQ相比,OceanBase 4.0在硬件性能上达到了更高的水平。此外,OceanBase 4.0在单机模式下取得了比集中式数据库更好的性能,这是业界的首次突破。

OceanBase 4.0,会成为单机和分布式的新拐点吗?

众所周知,虽然原生分布式数据库有着各种先天优势,但是在落地的过程中也面临着两方面的挑战:一方面,在大家的印象中,原生分布式数据库主要适用于大型企业或者大型应用场景,而小型企业使用单机更具性价比。但是一旦部署了单机,如果后续业务量巨大,再进行架构调整,会进一步增加部署的难度。

另一方面,为了保证绝对的高可用性,原生分布式数据库往往以“三份拷贝”的形式部署,这意味着如果企业要部署分布式数据库,就要同时部署多台服务器。门槛高于单机,选择“分布式”还是“单机”通常是不可逆的。选择单机意味着很难再进行“分布式”部署。

OceanBase 4.0的集成架构可以很好的解决这些矛盾。首先,支持单机部署和小规模部署。这种设计的好处是单节点部署只有一个流程,既实现了单节点的最小配置,又实现了单机和分布式架构的统一。OceanBase 4.0将部署规格降低到4C8G,未来还会进一步降低。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Easter79 Easter79
3年前
sql注入
反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Linux应急响应(四):盖茨木马
0x00前言Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装。木马得名于其在变量函数的命名中,大量使用Gates这个单词。分析和清除盖茨木马的过程,可以发现有很多值得去学习和借鉴的地方。0x01应急场景
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
赵亦华
赵亦华
Lv1
与其做个无途的归人不如去做个有梦的乘客.
文章
4
粉丝
2
获赞
2