BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

张雁飞:新一代分布式关系型数据库RadonDB
录制于:

| 受访者 张雁飞 关注 0 他的粉丝 作者 InfoQ 关注 9 他的粉丝 发布于 2017年12月21日 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。
08:50

个人简介 张雁飞,青云QingCloud数据库高级技术专家。TokuDB内核贡献者、维护者,TokuDB企业级热备工具作者。曾就职于阿里云数据库内核团队,目前为青云QingCloud数据库团队负责人,从事新一代数据库产品——RadonDB的设计与研发。

全球架构师峰会(International Architect Summit,下简称ArchSummit)是由InfoQ中文站主办的一次全球性架构师峰会。ArchSummit专门针对架构师人群,讲述与架构和架构师相关的各方面趋势、技术和案例。这也是继QCon之后,InfoQ中文站主办的又一次高端技术盛会。

   

2. 刚才您的演讲题目是《RadonDB:新一代分布式关系型数据库》,那您可以给我们解释一下什么是新一代分布式关系型数据库吗?

张雁飞:“新”主要体现在:我们把NewSQL领域的技术与MySQL数据库融合起来,目前看还没有人这样尝试过,所以我们叫它“新一代”。这是一个非常有挑战,也非常有意思的一个方向。

   

3. 为什么要基于MySQL来实现呢?

张雁飞:因为MySQL不仅有存储能力,还有计算能力,所以我们就利用MySQL的计算能力,把上层的计算工作尽量下推到下层存储节点的MySQL中。

   

4. RadonDB是如何将MySQL GTID并行复制技术与分布式一致性协议Raft完美结合的?

张雁飞:分为两个部分,第一部分是Raft,其实就是一个Agent,它对MySQL源码是没有侵入的,外部的Agent会检查MySQL的状态,一旦发现不正常,就需要重新选主。另一部分是GTID并行复制,这是MySQL 5.7的功能。我们把Agent与MySQL部署在同一台机器上,(Agent)其实就相当于MySQL的保姆,帮它管理、给它打杂,两个配对,就可以运行起来了。

   

5. RadonDB是如何实现同时支持高可用、强一致、可扩展的三个特性的?

张雁飞:这三个特性是分布式数据库、NewSQL数据库的基本特性。MySQL给人的固有印象是扩容和迁移都很复杂,我们通过把一个大表拆成多个小表简化了这一过程,将小表迁移到空闲的机器上就是一个扩容的过程,这就实现了可扩展性;正如刚才所说,Raft与MySQL结合就可以做到单个存储节点内副本间的高可用和强一致性;而分布事务可以确保存储节点间操作的原子性,所以整体就是强一致的。

   

6. 和传统的数据库相比,RadonDB的优势在哪里?

张雁飞:“传统”包括两个方面,一是传统数据库,比如说MySQL就没有成熟的高可用解决方案,需要DBA自己做主从,如果节点坏了需要自己用工具去检测、做切换。主节点挂了之后,从节点成为新的主节点必须有一个控制节点,但是RadonDB没有中心节点,因为它用的是Raft,这种做法还过,目前市面上的产品还没有MySQL和Raft结合的,这是高可用性层面的区别。

二是传统分布式数据库,目前市面上的分布式数据库还只是Proxy代理层,它们不像RadonDB一样是一个完整的产品,将下层的高可用(存储节点)和上层的代理层(SQL节点)融合在一起。我们明年会开源RadonDB,只要是按照我们的指南部署完成之后,它就是一个自动运维的分布式数据库;而传统的分布式数据库必须自己开发高可用等功能。

   

7. 您刚才说RadonDB明年会开源,那开源之后你们的发展方向是什么?之后打算怎么推进RadonDB的发展?

张雁飞: RadonDB在12月12日正式上线,等上线之后肯定还有很多需求,其中比较好的需求,我们也会去完善。等到开源之后,大家都会参与进来,技术层面的需求会越来越多。因此我们主要从这两个方面着手,不停地把RadonDB推向成熟。

   

8. 有没有具体的一些推进的方案或方向?

张雁飞:目前还没有,因为开源会在明年,但是具体时间还不能确定。

   

9. 肯定是会开源的,对吧?

张雁飞:对。

   

10. 那在RadonDB构建的过程中您有没有印象特别深的,或者有什么特别想分享的经验吗?

张雁飞: RadonDB的构建是一个非常有意思,也非常有挑战的过程,因为像RadonDB这种分布式数据库的研发,你不仅要对分布式有了解,也要对MySQL数据库非常了解,否则做不到两者的融合。所以在构建RadonDB的过程中,我对MySQL有了一个新的认识,也对分布式及其与MySQL融合过程有了一个新的认识,对自己来说也是一个提升。

   

11. 您觉得未来的分布式数据库的技术发展会往哪个方向走呢?

张雁飞:我感觉是MyNewSQL的方向,即MySQL和NewSQL结合的方向走。分布式数据库普遍来说,就是上层SQL层和下层存储层。大家会发现存储层做到最后越来越像MySQL,其实就是我们现在的方向。

InfoQ: 那今天非常感谢张老师接受我们的采访,今天的分享就到这里,谢谢。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT