什么是分布式数据库和TIDB 整体架构

技术什么是分布式数据库和TIDB 整体架构这篇文章给大家介绍什么是分布式数据库和TIDB 整体架构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。TIDB 是一个分布式,强一致的可水平扩展的关系型数据

本文向您介绍分布式数据库和TIDB的整体架构。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

TIDB是一个分布式、强一致性和水平可扩展的关系数据库。在TIDB设计之初,它专注于四个设计点。

1横向扩展,横向扩展是设计之初最基本的要求,通过增加机器来扩展存储容量和计算能力。

2高可用性,TIDB是一个具有许多节点的分布式数据库。对于节点故障和数据库滚动升级,需要解决少量节点故障的问题。

Acid事务,虽然有些数据库为了更高效地存储和处理数据,放弃了SQL和事务,但是在生产中的事务场景中,事务是非常重要的。另一个主要原因是,如果事务的问题不是存储在本地,而是通过业务或中间件来解决,很难实现高效率。

4SQL支持,MYSQL支持,使得数据库整体使用变得容易。

下面是TIDB的结构图。

什么是分布式数据库和TIDB  整体架构

TIDB存储引擎是TIKV数据库存储引擎,采用分层架构实现。

1笔交易

2 MVCC

3筏

4本地kv存储

容灾能力和特点

高度分层,底层为ROCKSDB,数据存储通过raft高度可用。高度分层的主要原因是分层切换可以更独立地进行。数据存储在多个副本中,通过raft实现了很强的一致性。多个副本中只有一个领导者,其他节点都是追随者。其中,领导者和追随者的价值观是不固定的。领导者失败后,通过算法选择追随者转变为领导者的角色转换。

Raft本身支持一个数据的强大且一致的多个副本。如何对分布式数据进行切片,如何将不同的切片放在不同的位置,需要一种基于哈希切片或范围划分的切片算法。但是,因为数据库可能涉及连续的值查询,所以使用范围切片更合理。划分存储KEY的空间,主要是根据KEY VALUE存储的阈值,默认将数据除以96MB。

下图显示了多节点系统中节点区域从节点1到节点4的过程。

什么是分布式数据库和TIDB  整体架构

那么问题来了,在数据迁移的过程中,谁来控制整个迁移,Placement Driver集群来控制。

什么是分布式数据库和TIDB  整体架构

如上图所示,另外,在事务模型中,PD的领导者会根据时间算法提供一个时间戳作为事务的标签,整体设计理念是去中心化。在3.0之前,乐观锁被用作锁,它不是在数据事务中被锁定,而是在提交过程中被锁定。3.0提供悲观锁,类似于传统数据库的锁设计。

Tidbsql引擎

下图是整个TIDB SQL层的图表。

什么是分布式数据库和TIDB  整体架构

什么是分布式数据库和TIDB  整体架构

如果计算COUNT,那么TIDB PD知道这些数据在哪个区域,并且该区域根据条件在哪里累加和求和满足条件的数据。最后,每个区域将自己的累计和汇总到TIDB服务器,并汇总该和。

4 DDL在线修改,TIDB按照f1-schema-change的思路设计整个DDL操作。可以具体参考以下文献,总结几句。

什么是分布式数据库和TIDB  整体架构

1给出修改DDL操作的时间范围。

2在DDL操作中,每个区域将提供两种状态,可以删除也可以写入。

3租约的概念,在系统中设置的租约到期后,需要重新加载SCHEMA。

什么是分布式数据库和TIDB的整体架构将在这里分享,我希望

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

(0)

相关推荐

  • Java入门中Hashtable和HashMap的区别是什么

    技术Java入门中Hashtable和HashMap的区别是什么这篇文章将为大家详细讲解有关Java入门中Hashtable和HashMap的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文

    攻略 2021年12月8日
  • java中随机数生成方式有哪些

    技术java中随机数生成方式有哪些这篇文章主要介绍了java中随机数生成方式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  随机数的产生在一些代码

    攻略 2021年11月23日
  • 【题解】CF1592F-Alice and Recoloring

    技术【题解】CF1592F-Alice and Recoloring 【题解】CF1592F-Alice and Recoloring很神的思维题。
    观察以下发现对于矩阵取反非常不好做。
    这时候我们可以

    礼包 2021年11月7日
  • 如何使用mybatis collection在转化时候报错的问题

    技术如何使用mybatis collection在转化时候报错的问题如何使用mybatis collection在转化时候报错的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章

    攻略 2021年10月20日
  • 2021.46 人工智能之父

    技术2021.46 人工智能之父 2021.46 人工智能之父说起人工智能之父,很多人会想到图灵,但你用bing搜索,会发现它默认是马文·明斯基,第一个获得图灵奖的人工智能学者。马文·明斯基(1927年

    礼包 2021年11月22日
  • wcf核心技术书籍(wcf框架入门教程)

    技术WCF开源地带举例分析这篇文章主要讲解了“WCF开源地带举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF开源地带举例分析”吧!准备:1、安装.NET Fr

    攻略 2021年12月14日