细心的人能够会发现,这几年云计算厂商发布会上,数据库的份量越来越重,新数据库效劳的发布也越来越多,云计算厂商正在不时涉入数据库范畴,并有愈演愈烈之势。
亚马逊AWS此前就推出了Aurora,DynamoDB、Redshift等自研数据库效劳,前不久又推出了一大批数据库效劳,其中包括新的图数据库Neptune。阿里云也在往年9月份发布了基于第三代散布式共享存储架构自研的新一代关系型数据库POLARDB,其晚期自研的散布式关系型数据库Oceanbase也同步在阿里云上开放公测。而就在上周,青云QingCloud也推出了自研的新一代散布式数据库效劳RadonDB。
看起来,云计算厂商们似乎有些游手好闲,跨界玩的很嗨,如你也是这样以为,那就out啦,缘由显然没那么复杂。
90%以上业务都是围绕数据库构建
云计算中,SaaS才是利润最丰厚、对用户粘性最强的局部。容器技术的开展让企业把业务负载从一个IaaS云上迁移到另一个IaaS上变得更容易,但SaaS却一模一样,如SAP,Oracle和Salesforce等公司的软件产品,由于与业务深度整合,企业要想从一个SaaS供给商切换到另一个SaaS供给商变得十分困难。而在SaaS中,数据库效劳却是最为中心又极为根底的才能。
青云QingCloud CTO甘泉在发布会上就表示,在关键业务里一个最普遍的业务形状就是数据库,90%以上的业务都是围绕着数据库构建的。这就是青云为什么一定要提供一个散布式数据库RadonDB的缘由。
亚马逊AWS首席执行官Andy Jassy在刚完毕不久的AWS re:Invent 2017大会上也指出,云计算的下一个竞争战场是数据库,他以为数据库将会是另一个可以让一切人都能看到宏大变化的范畴。
阿里云数据库掌门人褚霸则对笔者说过,为了让用户用的更爽,自研数据库也就成了一种必定的选择,这也是时代开展的一种必定。而自研数据库也是竞争力的表现,意味着阿里云从消费组装到独立研发的转变。
他还表示,明天不只是阿里云要做这样做,而是一切的云计算厂商都不可防止的要阅历这样一个阶段。他以为,在将来2-3年内,没有自研数据库的云计算厂商将会被逐步淘汰出局。
关于亚马逊与阿里云发布的新数据库效劳不是本文重点,有兴味的可以看看老鱼之前的文章。
1、与Oracle和平或将晋级,AWS又发布了一大批新的数据库效劳
2、对话褚霸:阿里云发布POLARDB数据库意味着什么?
明天,本文将从架构设计、功用特性、完成原理、功能等多不知道从何时开始,个人信用渗透到生活的方方面面。图书、数码产品免押金借用,办理签证无需银行流水证明,甚至租车住酒店都不需要交付押金……个角度,超详细的引见青云刚刚出炉的散布式数据库-----RadonDB 。
以下内容来自青云QingCloud数据库初级技术专家张雁飞的演讲(不代表老鱼观念),老鱼在不改动演讲所表达的意思根底上仅略作修正。
青云为何要发布RadonDB?
“随着数据量收缩式开展,局部场景的数据量曾经到达了指数级增长,原有单机数据库曾经无法承载如此大的数据量,这就需求一款新的散布式数据库,这就是青云研发RadonDB的初衷。“张雁飞说。
RadonDB定位是新一代散布式关系型数据库,基于 MySQL 研发,留意是基于MySQL 研发,“新”的表现就在这里。散布式关系型数据库并不少见,大都是完全重写,基于MySQL的简直没有,缘由就在把盛行的散布式算法和MySQL结合起来很难,不只考验对散布式的了解,更考验对数据库的了解。
而基于MySQL的散布式数据库其益处除了上图表述外。更意味着,用户原来基于单机版MySQL开发的使用顺序,根本不必做任何的修正就可以直接迁移到RadonDB上,不再需求去思索分库分表、读写别离等各方面让人头疼的成绩。
RadonDB的特性次要有5个方面:
第一,可扩展,用户只需用鼠标点击两下,就可以添加更多的节点,取得更大的容量和更高的功能,它的扩展是线性的;
第二,高可用,RadonDB下层的SQL节点和上层的存储节点都是散布式的,且完全无中心化,不会呈现单点毛病,当正本呈现成绩的时分,可以秒级自动切换,无需人工干涉;
第三,强分歧,RadonDB具有散布式事务的才能,意味着可以满足 金融 客户的需求,虽然是散布式数据库,仍然可以保证其强分歧性;
第四,易部署,由于没有中心化,所以很容易跟云平台相结合,也可以独立部署;
第五,MyNewSQL,从MySQL到NoSQL,然后到如今比拟盛行的NewSQL,而青云如今曾经走到了MyNewSQL这条路途上,就是MySQL和NewSQL相结合,充沛发扬两者的优势。
RadonDB的架构设计
RadonDB的架构次要有两大局部组成:散布式SQL节点+散布式的存储节点。
散布式SQL节点的作用,是把用户的恳求生成散布式执行方案和散布式执行器,这些执行器在后端的存储节点上并行执行。据理解,青云曾经做到了对用户的每个SQL都可以并行执行,这是RadonDB高功能的一种表现。
底层是散布式存储节点,每一个存储节点其实就是一个MySQL Plus,MySQL Plus是一个一主两从的MySQL集群,具有高可用、强分歧的才能。
这两大局部就组成了RadonDB的全体架构。
张雁飞表示,这是青云基于MySQL做的散布式数据库中的创新。其中,底层存储正本是用MySQL, MySQL不只提供存储才能,还可以提供计算才能。这样可以把SQL层的用户恳求中的计算下推到存储层,增加了SQL层和存储层的网络交互。
RadonDB如何处理大容量成绩?
散布式原本就是为理解决大容量的成绩,因而大容量是RadonDB首先要处理的一个成绩。RadonDB完成了智能化扩容,当用户需求扩容的时分,RadonDB会采集一些数据,扩容机器人经过剖析这些扩容数据,生成扩容建议,并将数据从一个中央迁移到另一个中央,这就是智能化扩容。
另外,青云还提供了两种存储引擎供用户选择,一个是比拟常用的InnoDB,另一个就是高紧缩的引擎——TokuDB,紧缩比拟高,当数据量较大时,青云建议选择TokuDB引擎。
如何做到高可用、强分歧?
下面提到SQL层是散布式、无形态的,因而,可以随意切换。那么,存储层如何做到高可用呢?
从下面这张PPT的图中可以看出,MySQL Plus是三正本,每一个正本都是一个MySQL。当主节点毛病时,青云运用Raft协议(Raft协议是当今散布式比拟盛行的、大家普遍采用的一个协议)。青云还结合GTID并行复制,包括Semi-sync复制技术,保证主从切换后,数据零丧失且强分歧,这是RadonDB到达金融级高可用、强分歧的缘由。
为了保证数据分歧性,RadonDB提供了散布式事务才能,当某个节点更新失败时,其他节点的数据会自动回滚。单个节点内多个正本间经过Raft、GTID,甚至Semi-sync做到正本间的强分歧。这两个层面结合起来,就可以完成整个数据库的强分歧。张雁飞表示这是青云为了满足金融级用户的需求而做的功用。
OLTP和OLAP
在传统的处理方案里,普通都是两套零碎,就是两个端口。在需求事务和需求剖析的时分,辨别在两个端口处置,两头经过ETL通道停止数据同步。但是,在RadonDB里就一个端口,假如是OLAP的操作,青云会自动路由到计算节点,而且OLTP和OLAP这两个计算的资源是隔离的,互不影响。
RadonDB的功能,跑个分!
从张雁飞展现的这页PPT可以看到,这是一个单机MySQL和四个存储节点的RadonDB的比照测试。
用sysbench16个表、512个线程,随机写了5000万条数据,测试得出来的后果,RadonDB根本上可以做到26,589 TBS,单机是9346 TBS,在TBS层面RadonDB功能是单机的近三倍,延迟却只要的三分之一。
RadonDB的使用场景
最初,我们来看看RadonDB使用场景,都可以用在哪里?
由于支持OLTP和OLAP,所以RadonDB可以支持高并发、大规模在线事务处置,也可以支持海量数据实时剖析,并且两者互不搅扰。
张雁飞特别强调了前面三个场景,首先是替代传统的散布式数据库两头件。
他指出,RadonDB是一个全体的处理方案,并非像传统散布式数据库两头件,只担任散布式的SQL层,很少触及存储层,所以RadonDB完全可以替代散布式数据库两头件。
最初两个是替代大型传统数据库和传统数据库一体机。结合本次与RadonDB一同上线的另两款新产品:Bare metal物理主机和NeonSAN共享块存储,青云给用户提供了一个价钱更低,容量和功能更高的全体处理方案。