为何经过40多年的发展关系型数据库依然是主流?OceanBase 2.2免费体验

  • 时间:
  • 浏览:1
  • 来源:极速快3_快3彩神8_极速快3彩神8

蚂蚁金服近期开展的 “共战‘疫情’,技术破局”数字课堂线上直播系列演讲没没人人将下发并发布在“蚂蚁金服科技”公众号上,欢迎关注。今天将全面解读OceanBase 2 2版本的核心特征,解析在异地容灾多活、在线数据迁移

蚂蚁金服近期开展的 “共战‘疫情’,技术破局”数字课堂线上直播系列演讲没没人人将下发并发布在“蚂蚁金服科技”公众号上,欢迎关注。

今天将全面解读OceanBase 2.2版本的核心特征,解析在异地容灾多活、在线数据迁移等场景下OceanBase的完整正确处理方案,以下为OceanBase团队的庆涛老师演讲下发全文:

没没人人下午好。我是来自蚂蚁金服OceanBase团队的庆涛,很荣幸能在云栖社区直播平台为没没人人分享OceanBase数据库的相关知识。OceanBase官网最近发布了2.2版本的安装包,没没人人可不前要免费下载获取。安装文件后面 包含了十几个 多多多重要产品,十几个 多多多是OCP(OceanBase Cloud Platform)和OceanBase 2.2版本,其中OCP是OceanBase的自动化运维平台,这次分享打算分两期给没没人人介绍OCP和OceanBase 2.2的功能,以及OceanBase 2.2的运维和开发。

首先跟没没人人分享一下OceanBase产品的定位和发展历史。

十几个 多多多常见的大大问题:很久人会问OceanBase数据库到底是哪此?首先OceanBase和Oracle / MySQL一样,它是一款关系型数据库,某些跟Oracle和MySQL不同的是,它是分布式架构的关系型数据库。某些它是一款原生的分布式数据库,全是分库分表后面 件架构的数据库。 OceanBase数据库由阿里巴巴和蚂蚁金服完整自主研发,不依赖于任何开源项目。目前OceanBase的定位是一款商业数据库,主要用于替换Oracle和MySQL,在帕累托图场景下可不前要替换DB2数据库。

下面为没没人人简单介绍一下OceanBase的发展历史。如今OceanBase由于有9年多的历史,没没人人的第十几个 多多多业务是淘宝收藏夹,业务的特点是在上百亿的大表之间做关联查询。如今没没人人打开手机淘宝,你你这个业务其实依然是跑在OceanBase数据库之上。OceanBase的版本分为十几个 多多多阶段,其中从0.4版本开始英语 英文就在支付宝承担核心交易业务去O以及在网商银行承担完整的核心数据库。1.0版本后,OceanBase架构完整重构,兼容MySQL 5.6的SQL语法,从1.4版本开始英语 英文逐步走向商用,第一家使用OceanBase的客户是南京银行。2018年9月,OceanBase 发布了2.0版本,OceanBase开始英语 英文兼容Oracle的SQL语法,如今结构版本由于到了2.2.3。目前没没人人可不前要做到兼容70%左右的Oracle常用语法。

接下来为没没人人介绍OceanBase的十几个 重要的结构客户,目前网商银行完整的核心业务数据全是OceanBase上,南京银行的互联网核心业务,参照网商银行的架构搭建,也使用了OceanBase数据库。全国各地有太满的城商行、农商行、以及某些互联网保险、证券公司的业务,目前也开始英语 英文在OceanBase上部署。

OceanBase能在金融行业扎根,除了有支付宝强大的业务场景背书外,还离不开OceanBase最核心的六大产品能力。

第一很久 高可用。OceanBase的下发火山岩石石很久 为故障容灾而设计的,它的数据要花费有三副本,任何很久机器故障,只由于会突然总出 局部的数据访问中断,某些会调快地自动恢复,恢复时还可不前要保证数据绝对不不丢失。这很久 没没人人通常说的 RTO约等于400秒,某些RPO=0。这里400秒是包括故障探测时间。

第5个能力很久 分布式架构,OceanBase数据库可不前要在线扩容、缩容、迁移、以及做负载均衡,某些整个集群可不前要异地部署,跨城市部署。 心智心智开花结果 期的句子 图片 的句子的句子的句子 期的方案有两地三中心和三地五中心。

第十几个 多多多能力很久 兼容Oracle和MySQL的常用语法。没没人人现在重点是兼容Oracle的语法。

第5个能力很久 高性能,2017年,OceanBase支撑了支付宝双11大促活动,交易峰值达到每秒钟25.15万笔。2019年,OceanBase得到了国外权威机构TPC-C的认证,测试结果达到400815万tpmC,荣登性能榜首,是 Oracle结果的两倍。

第5个能力是低成本。OceanBase基于普通的PC服务器,只前要SSD盘、万兆网络,不前要小机,存储,还有光纤网络。

第5个能力很久 多租户的能力。OceanBase使用的很久很像云数据库,某些它跟云没人必然的关系。 在OceanBase集群后面 ,没没人人可不前要按需分配实例,还可不前要在线的资源扩容由于缩容。

没人接下来我来带没没人人完整了解一下OceanBase 2.2版本的核心功能以及手中的原理。

首先是集群,OceanBase集群架构要花费包括三台机器,上图里实例是九台机器,机器会分为十几个 多多多区域存放,每个区域没没人人称为十几个 多多多zone,zone可不前很久小到十几个 多多多机柜,机房,大到十几个 多多多数据中心。十几个 多多多数据中心的机器,整体上没没人人是做成十几个 多多多OceanBase集群,每个机器全是普通的X86服务器,普通的SSD,万兆网卡彼此互通。

没没人人会在每个机器后面 运行十几个 多多多OceanBase的数据库软件,它是十几个 多多多单线程线程,叫OBServer,每个机器上的OBServer线程的作用基本上是一样的,都包含十几个 多多多模块,十几个 多多多是SQL引擎、十几个 多多多是存储引擎。整个集群后面 会有一台机器比较特别,它会十几个 多多多多RootService,没没人人称为总控服务。很久从你你这个架构图上来看,当9台机器完整运行了OBServer线程很久,在没没人人眼里它很久 9个OBServer线程,它们组成了十几个 多多多集群。

OBServer线程十几个 多多多多特殊的能力,线程起来很久,它会把主机的绝大帕累托图的CPU内存和磁盘空间资源占为己有。很久9个机器启动了OBServer线程很久,在没没人人的眼里话语就变成了9个资源单位,每个有400个CPU,400G内存、4T空间。它们组成集群就形成了十几个 多多多超大的资源池子,270个CPU、14000G内存、36T空间。实际上这是所有的分布式数据库全是具备的基本能力,很久 把各个机器的能力、资源聚合在一起去。

没人接下来没没人人就看OceanBase集群的资源池,没人大十几个 多多多资源池它为什么我么我么使用?这就要提到OceanBase强大的多租户能力。首先OceanBase会十几个 多多多多结构租户,你你这个租户,也很久 没没人人说的结构实例,主很久 用于管理用的,它会占用少许的资源。15个CPU,400G内存,没人剩下的哪此大帕累托图资源很久 未分配的,是留给业务用的。这很久没没人人来了十几个 多多多业务,每个业务它会说我前要十几个 资源,没人在OceanBase后面 就会划分出一块资源给业务使用,没人分完的,就留待给某些的业务使用。

从这里的设计可不前要看出,当没没人人的业务方前要十几个 多多多数据库的很久,没没人人的运维人员在一分钟以内就可不前要把数据库创建好,运维的传输速度大大提升。

接下来再来看一下OceanBase后面 数据分布的特点。首先OceanBase里数据的最小单位,全是表很久 分区,但分区跟表是有关系的,没没人人说十几个 多多多普通的表很久 十几个 多多多分区,像这里的t1表,表明它很久 十几个 多多多分区,没没人人给它编个号叫0号分区,很久这里写t1(p0)就表示 t1表的分区,某些十几个 多多多分区表会有多个分区,像t3表、t4表话语,它很久 分区表有0号分区、1号分区、2号分区,十几个 多多多多分区。哪此分区是分布在OceanBase集群任意的机器后面 ,没人固定的位置,这是第十几个 多多多特点。

第5个特点是每个分区会十几个 多多多多副本,副本很久 指一模一样的内容,像 t1(p0),它也会有另外十几个 多多多t1(p0),十几个 多多多副本在角色后面 会有所区分,没没人人通过颜色来区分,比如绿色的是主副本,没没人人也称为leader副本。黄色的是备副本又叫follower副本。默认状态下要能主副本提供读写服务,follower副本不提供读写服务,某些每个分区的十几个 多多多副本一定是分布在十几个 多多多zone后面 的,没没人人横向看是十几个 多多多zone。在OceanBase里十几个 多多多多反向代理软件叫OBProxy,它的作用主要很久 接受应用的SQL请求。 收到SQL以全是把请求转发到主副本所在的节点后面 ,OBProxy后面 全是完整的介绍。

没没人人来看另外十几个 多多多大大问题,三副本的内容是为什么我么我么保持同步的?比如说t1(p0)十几个 多多多多副本,默认要能主副本提供读写。它们之间的同步是靠主副本后面 的事务日志,也很久 clog。当主副本上十几个 多多多事务要提交的很久,它会把clog一起去发给十几个 多多多备副本。某些十几个 多多多副本会把日志持久化到磁盘上,当十几个 多多多成员后面 ,绝大多数成员把你你这个事务日志写成功很久,主副本上的事务就可不前要提交了。 这里协议使用了Paxos协议。

除了保持数据同步以外,当主副本突然总出 故障时,OceanBase会自动的从十几个 多多多备副本里选出十几个 多多多新的主副本出来,某些会保证新选出来的主副本拥有完整的事务日志,很久数据是不不丢的。OceanBase的故障切换的力度很细,它是分区级别的,很久没没人人不不说某一台机器是主某一台机器是备,从你你这个图后面 没没人人可不前要看出来有5台机器有主副本,凡是有主副本的机器都可不前要提供服务。 当你的业务表很久的很久,每台机器上实际上都可不前要有主副本,很久OceanBase的机器是没人主备概念的。

接下来没没人人完整的讲解OBProxy的功能。 OBProxy的功能其实说起来也很简单,它很久 只做SQL路由,不参与运算。当收到业务的SQL请求,分溶解后面 要访问的表,某些找到表对应的分区的主副本在哪个机器后面 ,就把它转发过去,取出数据很久原路返回。对于用户来说,OBProxy很久 OceanBase数据库的十几个 多多多代理,很久OBProxy的可用性非常重要。通常状态下没没人人会部署多个OBProxy,某些把它们挂在用户已有的十几个 多多多负载均衡设备后面 ,比如说F5后面 ,某些F5提供十几个 多多多VIP给业务用,但F5的高可用是靠自身的备机去提供。

这里顺带提一下,除了OBProxy有路由功能以外,OBServer自身也是有路由功能的。接下来没没人人来看一下OceanBase 的SQL兼容性。

前面说OceanBase支持多租户,它可不前要兼容MySQL由于Oracle,实际上要能2选1要能一起去兼容。下图左侧是MySQL常用的SQL功能,右侧是目前实现的Oracle常用的SQL功能。就Oracle功能你你这个块,现在是重点发展的方向。

数据类型话语,没没人人由于实现了75%的类型和86%的函数。存储过程也支持了不少功能,某些场景下业务客户的存储过程是可不前要平迁到OceanBase上的。在事务方面,OceanBase支持并算不算事务隔离级别,十几个 多多多是读已提交,还有序列化隔离级别,这点是跟Oracle一致的。

OceanBase支持跨节点的分布式事务,结构原理是两阶段提交,强一致的,某些你你这个事务对业务是透明的。使用的很久,业务假若稍微注意一下额,你你这个事务一定要及时提交,以正确处理长事务在OceanBase里会超时报错。此外,OceanBase还支持自治事务。

下面为没没人人介绍OceanBase相关的正确处理方案。在OceanBase的周围生态产品中,除了OceanBase集群外,没没人人还开发了一款OceanBase运维平台——OCP(OceanBase Cloud Platform),这款产品的目标很久 让运维人员绝大帕累托图的工作都可不前要通过运维平台来自动化完成。

第5个产品是OceanBase开发者中心——ODC(OceanBase Developer Center),面向开发人员,目标是让开发人员能通过你你这个平台去连接数据库,而不不直连数据库,很久 没没人人可不前要控制权限和审计功能。

第十几个 多多多很久 OceanBase的迁移服务——OMS(OceanBase Migration Service),没没人人重点看一下OceanBase的迁移服务。为没没人人分享十几个 多多多客户案例,某银行十几个 多多多多Oracle业务,十几个 多多多多MySQL业务,没没人人现在前要把它迁移到OceanBase上来。开始英语 英文英文的很久客户应用是读写Oracle和MySQL,某些没没人人部署OMS很久,就把Oracle和MySQL的数据分别同步到OceanBase的Oracle租户和MySQL租户。你你这个很久业务是不停的,你你这个同步是实时同步,它会同步增量。 当增量追上的很久,没没人人再寻找十几个 多多多业务低峰期的很久,让业务短暂的停写很久 的数据库,你你这个很久OMS可不前要对两边的数据做十几个 多多多全量的校验,确保两边数据是一致的,某些再做决定,即切换。所谓的切换很久 OMS把数据同步的方向给调整一下,从OceanBase同步回很久 的Oracle数据库,这很久客户的业务再把连接指向新的OceanBase数据库,没人很久 的十几个 多多多切换过程就完成了。这里没没人人会把OB的数据同步回Oracle,你你这个是为了方便回滚,一旦客户决定再切换回去的很久,没没人人只前要把哪此操作反过来做一遍就可不前要。 同样的在回切的很久,没没人人依然要两边做数据校验,校验一致很久,没没人人再把同步方向返回来应用,把连接改回去就可不前要了。

OceanBase的容灾方案常用的很久 两地三中心。两地三中心中整个集群是三副本架构,分布在十几个 多多多机房,其中同城两机房,延时是2毫秒,异地机房延时是7毫秒。任何十几个 多多多机器由于机房故障话语,数据库的服务都可不前要调快的恢复,某些保证不丢数据。当然有个缺点,故障很久写性能会下降某些点,由于应用要能承受性能下降话语,没没人人通常会做5副本,也很久 三地五中心。

最后没没人人来总结一下OceanBase的十几个 核心关键字,低成本、高可用、可扩展、高性能的分布式关系型数据库,一起去它又像云数据库一样,某些适合金融行业的异地容灾和多活。OceanBase目标很久 做一款分布式的Oracle。

(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除。市场有风险,选用需谨慎!此文仅供参考,不作买卖办法。)