TiDB架构中有多少个模块?核心的组件是哪个?

TiDB 集群主要包括三个核心组件:TiDB Server,PD Server 和 TiKV Server。此外,还有用于解决用户复杂 OLAP 需求的 TiSpark 组件和简化云上部署管理的 TiDB Operator 组件。

TiDB架构中有多少个模块?核心的组件是哪个?

TiDB架构图解

TiDB架构中有多少个模块?核心的组件是哪个?

TiDB架构中有多少个模块?核心的组件是哪个?

  1. TiDB Server

  TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy 或 F5)对外提供统一的接入地址。

  2. PD Server

  Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个:一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁移等);三是分配全局唯一且递增的事务 ID。

  PD 通过 Raft 协议保证数据的安全性。Raft 的 leader server 负责处理所有操作,其余的 PD server 仅用于保证高可用。建议部署奇数个 PD 节点。

  3. TiKV Server

  TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region。TiKV 使用 Raft 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。

  4. TiSpark

  TiSpark 作为 TiDB 中解决用户复杂 OLAP 需求的主要组件,将 Spark SQL 直接运行在 TiDB 存储层上,同时融合 TiKV 分布式集群的优势,并融入大数据社区生态。至此,TiDB 可以通过一套系统,同时支持 OLTP 与 OLAP,免除用户数据同步的烦恼。

  5. TiDB Operator

  TiDB Operator 提供在主流云基础设施(Kubernetes)上部署管理 TiDB 集群的能力。它结合云原生社区的容器编排最佳实践与 TiDB 的专业运维知识,集成一键部署、多集群混部、自动运维、故障自愈等能力,极大地降低了用户使用和管理 TiDB 的门槛与成本。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/318962.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年7月11日 15:27
下一篇 2023年7月11日 15:27

相关推荐

  • 如何在PHP中使用RESTful架构。

    随着互联网技术的发展,RESTful架构已经成为了一种主流的Web API设计风格。与传统的Web服务相比,RESTful架构更加灵活、可扩展、易于维护,因此越来越多的Web开发人员开始使用它来设计和开发前后端交互的API。本文…

    2023年5月22日
    08
  • 分享无服务器架构的弊端有哪些。

    无服务器架构,依赖于第三方服务或运行在临时容器内之定制化代码的应用程序,尽管名为”无服务器”,但并非将代码彻底剥离于服务器之外。此类架构存在四大弊端:其一是第三方服务的依赖性,当所依赖的服…

    2024年7月18日
    05
  • 执行Spark应用架构需要经历哪几个阶段?

    将程序切换到【Executors】Tab页面时,我们可以看到Spark Application运行到集群上时,由两部分组成:Driver Program和Executors。从图中可以看到Spark Application运行到集群上时,由两部分组成:Driver Program和…

    2023年7月13日 编程技术分享
    03
  • PHP中的微服务架构。

    随着互联网的发展和技术的进步,传统的架构模式面临着更多的挑战和需求。其中,微服务架构作为一种新的设计思路,在现代化互联网架构中占据了越来越重要的地位。微服务架构是一种以轻量级、模块化单元为基础的服务…

    2023年5月30日
    05
  • 企业网站制作应当选php还是Java。

    很多的人咨询企业网站制作应当选php还是Java?下面就由小编为大家介绍一下。 网站建设中php和Java的区别: 第一、系统安全性 php开发的程序:别人拿到代码后,很容易被修改; Java开发的程序:只能看到一些编译好的类…

    2022年10月30日
    019
  • 关于b75主板可以用e3吗。

    当我们讨论计算机硬件兼容性时,特别是主板和中央处理单元(CPU)之间的兼容性,我们必须考虑多个因素,对于B75主板能否使用E3系列CPU的问题,我们需要了解B75主板的规格以及E3 CPU的特性。 B75主板概述 B75主板是…

    2024年6月13日
    014
  • 小编分享Storm原理和架构是什么。

    Storm是一个开源的分布式实时计算系统,它被设计用来处理大规模的数据流,Storm的核心原理和架构主要包括以下几个方面: 1. 分布式架构:Storm采用分布式的拓扑结构,将任务划分为多个小的子任务,并将这些子任务分…

    2024年6月13日
    03
  • 如何准确定位网站架构目标群体

    你们了解过网站架构吗?一般设计网站架构需要分为两步骤,第一是硬架构,第二是软架构,硬架构主要体现在机房的选择,软架构主要体现在程序语言的选择,感兴趣的话就随小编一起来了解下吧! 网站架构 网站架构,一般…

    2022年5月21日
    0281

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息