如何分析RadonDB分布式数据库的核心技术和实现,相信很多没有经验的人都不知所措。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。
随着摘要:,数据规模的逐渐扩大,存储和运维成本也在逐渐增加,企业对数据库的要求也在逐渐提高。有人认为以MySQL为代表的传统数据库已经过时,无法满足数据爆炸时代企业的需求。以NoSQL为代表的新数据库仍然存在局限性,不具备ACID特性,难以满足企业对核心业务数据的严格要求。这次共享的RadonDB是分布式一致性协议Raft与MySQL相结合的新一代分布式关系数据库。RadonDB最大的特点是结合了两类数据库的优势,让DBA可以从传统单机时代的MySQL无缝过渡到原生云、无限扩展的分布式关系数据库。
RadonDB架构图
RadonDB location是新一代分布式关系数据库。在当今云计算快速发展的时代,我们更愿意称之为云原生数据库,它的自然属性是分布式的、可扩展的、高可用的、强一致性的。下面的MyNewSQL是因为我们结合了MySQL和NewSQL来满足上面的特性。
其中一个请求到达后,SQL层会将该请求分析成分布式执行计划,然后在后端存储层并行执行该SQL。此外,它还将执行二次操作,即按/限制/分组/strong化/加入.等等。也是分散式设计,部署方便,易于扩展。这是整个SQL层的设计。
Storage Nodes
再看存储层,存储层是RadonDB中比较新颖的设计,也是我们定位为新一代分布式数据库的原因之一。
第一个挑战,如何快速选主?
第二个挑战,新主选后数据如何快速回放?
第三个挑战是如何保证数据回放后不丢失数据?RadonDB是怎么解决的?
对于第一个挑战,我们使用了Raft协议。要知道Raft协议主要做两件事,第一件是选择主控,第二件是同步数据。在RadonDB中,只有Raft用于选择主节点。当主机挂机时,我们使用Raft选择一个新的主机,然后同步数据。我们基于MySQL的原生FGTID机制和并行复制快速回放。
为了保证数据不丢失,我们还是以MySQL为基础,使用MySQL的半同步机制。用户写主副本时,首先要到达从副本,收到从副本后,会反馈给客户端。这将始终确保从副本的数据与主副本的数据完全一致,并且从节点将被选为新的主节点,从而确保该数据不会丢失。
当选为新的主节点后,RadonDB的Log并行复制依然基于MySQL机制,并行复制,快速回放,相当于实现了Raft主选择和Log并行复制的结合。很难与Raft Log并行回放两个原始Raft协议。然而,我们用MySQL做得很好。而且,这三个副本是一个分散的设计,只要我们能够到达它们,它们的部署是灵活的。
扩容
RadonDB的底层都是基于MySQL的,方便扩容,因为MySQL有一套工具和机制。
大家可以看到上图,其实MySQL Xa机制总共有五个步骤,但是在RadonDB中,我们对它进行了抽象,也就是封装。我们实现了快照的隔离级别和快照隔离的事务隔离级别。
Binlog
此外,RadonDB支持Binlog。你可能认为一个分布式数据库需要放很多数据在里面,但是数据一旦进入你的分布式数据库,怎么可能出来呢?这相当麻烦。因此,RadonDB提供了Binlog机制,使得数据能够快速同步处理。
OLTP + OLAP
比如我们有一个OLAP集群,可以设置为RadonDB的Binlog,Binlog是实时更新的,完成了一个异构化过程和数据流出,是实时的。
可以看到,在刚才的架构图中,右下角有一个计算节点。事实上,我们的计算节点通过这种机制与RadonDB数据同步。这样,OLTP和OLAP就结合在一起了。当来自用户的复杂查询到达RadonDB时,RadonDB将根
据SQL的模式发到TP节点还是AP节点,前端的用户是没有感知的,这就做到了一些资源的隔离。当然了,这也有一个缺点,数据可能是两份,但目前,我们是通过异构化、列式存储来进行的,高压缩做这种机制。
审计日志
另外,RadonDB还提供了一些审计日志这些功能,为了方便大家对业务进行一些审计,而且审计机制还可以定位一些慢查询SQL,因为分布式的数据库,节点比较多,所以定位一个SQL会比较复杂,有了审计日志,大家可以定位一些慢的SQL。
备份和恢复
RadonDB提供了一整套备份和恢复的工具,可以让用户快速地把数据流进去,流出来,比原生的要快很多。
性能
mysql> show processlist;
第一条命是,MySQL常用的,表示用户的链接到RadonDB的状态。
mysql> show txnz;
第二个命令是,分布式事务在哪个阶段执行,耗时多少,这个都可以很清楚地看到。
mysql> show queryz;
最后一个命令,具体哪些子句落到哪些节点,甚至耗时多少,比如说,某个节点有一些问题,都可以从这个上面反映出来,比较灵活。
看完上述内容,你们掌握怎么解析RadonDB分布式数据库核心技术与实现的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151912.html