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)

相关推荐

  • 修改带JAVA 自定义类的报表还要重启应用该怎么解决

    技术修改带JAVA 自定义类的报表还要重启应用该怎么解决修改带JAVA 自定义类的报表还要重启应用该怎么解决,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法

    攻略 2021年12月2日
  • 下载附件

    技术下载附件 下载附件down.js/*** @url 下载地址* @filename 所需要的文件名称*/
    import { getToken } from '@/utils/auth'
    import

    礼包 2021年11月4日
  • 塞下曲拼音版古诗,北师大版五年级下册的古诗有哪些?

    技术塞下曲拼音版古诗,北师大版五年级下册的古诗有哪些?千里送鹅毛缅伯高将鹅贡唐朝,山高路远遥塞下曲拼音版古诗。钙阳湖失去,倒地哭号号。上复唐天子,可饶缅伯高。礼轻人意重,千里送鹅毛。秋浦歌(唐)李白 炉火照天地,红星乱紫

    生活 2021年10月20日
  • 如何使用Xtrabackup备份MySQL数据库

    技术如何使用Xtrabackup备份MySQL数据库这篇文章将为大家详细讲解有关如何使用Xtrabackup备份MySQL数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文则演示

    攻略 2021年10月27日
  • C++中怎么定义和初始化数据成员

    技术C++中怎么定义和初始化数据成员这篇文章主要讲解了“C++中怎么定义和初始化数据成员”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中怎么定义和初始化数据成员”吧

    攻略 2021年11月29日
  • spring boot ignite的使用是怎样的

    技术spring boot ignite的使用是怎样的今天就跟大家聊聊有关spring boot + ignite,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。刚

    攻略 2021年10月20日