TiDB中有哪些组件?【TiDB架构图解】

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

TiDB中有哪些组件?【TiDB架构图解】

TiDB架构图解

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/262322.html

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

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年5月6日 23:43
下一篇 2023年5月6日 23:43

相关推荐

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

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

    2023年5月22日
    07
  • TiDB架构中有多少个模块?核心的组件是哪个?

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

    2023年7月11日
    01
  • 我来教你显卡后面的数字代表什么。

    显卡后面的数字通常代表了显卡型号和性能等级,它是显卡制造商为了区分不同产品而设定的编号,这些数字可以给消费者提供关于显卡性能、定位以及与其他型号比较时的直观信息,下面我们将详细探讨显卡型号数字的含义…

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

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

    2022年5月21日
    0280
  • 说说Serverless的架构及使用场景是什么。

    Serverless架构是一种云计算执行模型,在这种模型中,云提供商动态管理机器的分配,开发者只需要关注自己的业务逻辑,无需关心基础设施的问题,这种架构的主要优点是降低了开发和运维的成本,提高了系统的可扩展性…

    2024年6月14日
    03
  • 我来说说python系统架构。

    Python是一种广泛使用的高级编程语言,其设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或关键字),由于Python的灵活性和强大的库支持,它被用于各种架构中,以下是一些在P…

    2024年7月26日
    03
  • 我来教你说说在网站建设中底色的重要性。

    说说在网站建设中底色的重要性 在网站设计时要优先明白网站的目标和受众的地方在哪里,从而根据目标和受众的定位进行网站结构框架搭建。同时,网站建设的目的就是增强网站的影响力,即增强用户黏性或扩大企业影响力…

    2022年11月14日
    01
  • 关于b75主板可以用e3吗。

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

    2024年6月13日
    014

联系我们

QQ:951076433

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