influxdb分布式数据库(分布式数据库tidb是什么)

技术怎么解析RadonDB分布式数据库核心技术与实现怎么解析RadonDB分布式数据库核心技术与实现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。摘要:随着

如何分析RadonDB分布式数据库的核心技术和实现,相信很多没有经验的人都不知所措。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

随着摘要:,数据规模的逐渐扩大,存储和运维成本也在逐渐增加,企业对数据库的要求也在逐渐提高。有人认为以MySQL为代表的传统数据库已经过时,无法满足数据爆炸时代企业的需求。以NoSQL为代表的新数据库仍然存在局限性,不具备ACID特性,难以满足企业对核心业务数据的严格要求。这次共享的RadonDB是分布式一致性协议Raft与MySQL相结合的新一代分布式关系数据库。RadonDB最大的特点是结合了两类数据库的优势,让DBA可以从传统单机时代的MySQL无缝过渡到原生云、无限扩展的分布式关系数据库。

RadonDB架构图

RadonDB location是新一代分布式关系数据库。在当今云计算快速发展的时代,我们更愿意称之为云原生数据库,它的自然属性是分布式的、可扩展的、高可用的、强一致性的。下面的MyNewSQL是因为我们结合了MySQL和NewSQL来满足上面的特性。

怎么解析RadonDB分布式数据库核心技术与实现

其中一个请求到达后,SQL层会将该请求分析成分布式执行计划,然后在后端存储层并行执行该SQL。此外,它还将执行二次操作,即按/限制/分组/strong化/加入.等等。也是分散式设计,部署方便,易于扩展。这是整个SQL层的设计。

Storage Nodes

再看存储层,存储层是RadonDB中比较新颖的设计,也是我们定位为新一代分布式数据库的原因之一。

怎么解析RadonDB分布式数据库核心技术与实现

第一个挑战,如何快速选主?

第二个挑战,新主选后数据如何快速回放?

第三个挑战是如何保证数据回放后不丢失数据?RadonDB是怎么解决的?

对于第一个挑战,我们使用了Raft协议。要知道Raft协议主要做两件事,第一件是选择主控,第二件是同步数据。在RadonDB中,只有Raft用于选择主节点。当主机挂机时,我们使用Raft选择一个新的主机,然后同步数据。我们基于MySQL的原生FGTID机制和并行复制快速回放。

为了保证数据不丢失,我们还是以MySQL为基础,使用MySQL的半同步机制。用户写主副本时,首先要到达从副本,收到从副本后,会反馈给客户端。这将始终确保从副本的数据与主副本的数据完全一致,并且从节点将被选为新的主节点,从而确保该数据不会丢失。

当选为新的主节点后,RadonDB的Log并行复制依然基于MySQL机制,并行复制,快速回放,相当于实现了Raft主选择和Log并行复制的结合。很难与Raft Log并行回放两个原始Raft协议。然而,我们用MySQL做得很好。而且,这三个副本是一个分散的设计,只要我们能够到达它们,它们的部署是灵活的。

扩容

RadonDB的底层都是基于MySQL的,方便扩容,因为MySQL有一套工具和机制。

怎么解析RadonDB分布式数据库核心技术与实现

大家可以看到上图,其实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提供了一整套备份和恢复的工具,可以让用户快速地把数据流进去,流出来,比原生的要快很多。

性能

怎么解析RadonDB分布式数据库核心技术与实现

  mysql> show processlist;

  第一条命是,MySQL常用的,表示用户的链接到RadonDB的状态。

  mysql> show txnz;

  第二个命令是,分布式事务在哪个阶段执行,耗时多少,这个都可以很清楚地看到。

  mysql> show queryz;

  最后一个命令,具体哪些子句落到哪些节点,甚至耗时多少,比如说,某个节点有一些问题,都可以从这个上面反映出来,比较灵活。

看完上述内容,你们掌握怎么解析RadonDB分布式数据库核心技术与实现的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151912.html

(0)

相关推荐

  • MySQL多版本并发控制机制源码分析

    技术MySQL多版本并发控制机制源码分析本篇内容主要讲解“MySQL多版本并发控制机制源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL多版本并发控制机制源码分

    攻略 2021年12月3日
  • css修改表格边框颜色的方法是什么

    技术css修改表格边框颜色的方法是什么本篇内容介绍了“css修改表格边框颜色的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年12月8日
  • java中怎么去掉List集合中重复的元素

    技术java中怎么去掉List集合中重复的元素本篇内容介绍了“java中怎么去掉List集合中重复的元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年10月29日
  • 如何加速Hibernate应用程序开发

    技术如何加速Hibernate应用程序开发本篇内容主要讲解“如何加速Hibernate应用程序开发”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何加速Hibernate应用

    攻略 2021年12月4日
  • 升级redhat 6.8 默认gdb 7.2到gdb 8.3.1的操作方法

    技术升级redhat 6.8 默认gdb 7.2到gdb 8.3.1的操作方法这期内容当中小编将会给大家带来有关升级redhat 6.8 默认gdb 7.2到gdb 8.3.1的操作方法,文章内容丰富且以专业的角度为大家

    攻略 2021年10月29日
  • 数学什么叫因数,小学数学什么是倍数,什么是因数

    技术数学什么叫因数,小学数学什么是倍数,什么是因数①一个整数能够被另一整数整除数学什么叫因数,这个整数就是另一整数的倍数。如15能够被3或5整除,因此15是3的倍数,也是5的倍数。②一个数除以另一数所得的商。如a÷b=c

    生活 2021年10月23日