TiDB 整体架构 | PingCAP 文档中心

标签: | 发表时间:2023-01-31 14:08 | 作者:
出处:https://docs.pingcap.com

与传统的单机数据库相比,TiDB 具有以下优势:

  • 纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容
  • 支持 SQL,对外暴露 MySQL 的网络协议,并兼容大多数 MySQL 的语法,在大多数场景下可以直接替换 MySQL
  • 默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明
  • 支持 ACID 事务,对于一些有强一致需求的场景友好,例如:银行转账
  • 具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景

在内核设计上,TiDB 分布式数据库将整体架构拆分成了多个模块,各模块之间互相通信,组成完整的 TiDB 系统。对应的架构图如下:

architecture

  • TiDB Server:SQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多个 TiDB 实例上以达到负载均衡的效果。TiDB Server 本身并不存储数据,只是解析 SQL,将实际的数据读取请求转发给底层的存储节点 TiKV(或 TiFlash)。

  • PD (Placement Driver) Server:整个 TiDB 集群的元信息管理模块,负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID。PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点,可以说是整个集群的“大脑”。此外,PD 本身也是由至少 3 个节点构成,拥有高可用的能力。建议部署奇数个 PD 节点。

  • 存储节点

    • TiKV Server:负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range(从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region。TiKV 的 API 在 KV 键值对层面提供对分布式事务的原生支持,默认提供了 SI (Snapshot Isolation) 的隔离级别,这也是 TiDB 在 SQL 层面支持分布式事务的核心。TiDB 的 SQL 层做完 SQL 解析后,会将 SQL 的执行计划转换为对 TiKV API 的实际调用。所以,数据都存储在 TiKV 中。另外,TiKV 中的数据都会自动维护多副本(默认为三副本),天然支持高可用和自动故障转移。
    • TiFlash:TiFlash 是一类特殊的存储节点。和普通 TiKV 节点不一样的是,在 TiFlash 内部,数据是以列式的形式进行存储,主要的功能是为分析型的场景加速。

相关 [tidb 架构 pingcap] 推荐:

TiDB 整体架构 | PingCAP 文档中心

- -
与传统的单机数据库相比,TiDB 具有以下优势:. 纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容. 支持 SQL,对外暴露 MySQL 的网络协议,并兼容大多数 MySQL 的语法,在大多数场景下可以直接替换 MySQL. 默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明.

微众银行数据库架构演进及 TiDB 实践经验 - 推酷

- -
胡盼盼,微众银行数据平台室室经理. 硕士毕业于华中科技大学,毕业后加入腾讯,任高级工程师,从事分布式存储与云数据库相关的研发与运营工作;2014 年加入微众银行,负责微众银行的数据库平台的建设与运营. 黄蔚,微众银行数据库平台室高级 DBA. 2011 年加入腾讯互动娱乐运营部,担任英雄联盟在内的多款海量用户产品的数据库运维工作.

PingCAP 的 5 年远程办公实践

- -
2020 年的春节注定是一个不平凡的春节,全国都在抗击新型冠状病毒肺炎. 除了不出门,勤洗手,戴口罩之类的常规操作,我们就在想,在这个大背景下,我们还能够做哪些事情. 考虑到春节假期临近结束,返程的旅途中可能会加大传染的概率,延长隔离时间、远程在家办公也许是普通群众能给国家在这场战役中做的最大贡献.

新一代数据库TiDB在美团的实践

- - IT瘾-geek
近几年,基于MySQL构建的传统关系型数据库服务,已经很难支撑美团业务的爆发式增长,这就促使我们去探索更合理的数据存储方案和实践新的运维方式. 而随着分布式数据库大放异彩,美团DBA团队联合基础架构存储团队,于 2018 年初启动了分布式数据库项目. 在立项之初,我们进行了大量解决方案的对比,深入了解了业界的 scale-out(横向扩展)、scale-up(纵向扩展)等解决方案.

畅想 TiDB 应用场景和 HTAP 演进之路

- - IT瘾-dev
畅想TiDB应用场景和HTAP演进之路. 日期: 2018-04-30. 4.4 TiDB for 实时数仓. 5 TiDB HTAP 演进之路. 5.1 行存的优缺点和适用场景. 5.2 列存的优缺点和适用场景. 5.3 TiDB HTAP 演进之路——行列转换. 5.4 TiDB HTAP 演进之路——行列混存 Spanner.

从 Oracle 迁移到 TiDB 的方案设计与用户实践

- - 掘金 后端
盛玉 , 中国人寿财险金融科技中心系统运行部. 王耀强 , PingCAP 资深解决方案架构师. 当前,全球数字化浪潮推动数字经济与实体经济融合,更多的企业意识到数据平台对业务增长和创新的重要性. 通过国产化迁移和替换数据库,中国数据库市场蓬勃发展,为企业自主创新奠定了基础. 本文以中国人寿财险公司为例,详述其从 Oracle 到 TiDB 分布式数据库的四个阶段的迁移,展示了金融行业对数据库的高要求和国产数据库的价值应用.

中移物联网在车联网场景的 TiDB 探索和实现

- - 掘金前端
作者简介:薛超,中移物联网有限公司数据库运维高级工程师. 本次分享主要介绍车联网业务,它主要围绕车载位置终端和车载视频终端开展业务,包括停车卫士、路尚个人、路尚行业、和统一填装业务. 截止 2020 年 5 月,累计接入 150 万终端,车联网用户主要是个人用户和企业用户,目前累计注册个人用户 151 万,累计注册企业用户 1471 个.

架构

- - IT瘾-dev
网关:Nginx、Kong、Zuul. 缓存:Redis、MemCached、OsCache、EhCache. 搜索:ElasticSearch、Solr. 熔断:Hystrix、resilience4j. 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy. 注册中心:Eureka、Zookeeper、Redis、Etcd、Consul.

信息架构

- Michael - Tony-懒得设计
写几篇关于信息架构的文章,系统地输出我理解的信息架构. 发了一篇关于招信息架构实习生的博客,收到不少简历. 但谈起信息架构,多数不了解,稍微了解的扯了很多很偏的东西. 随手搜索了一下,我发现了原因:. 1 《web信息架构》这本书太概念,太学术. 2 有人绑架了“信息架构”这个词,拿出去唬人,内容都是皮毛或者是根本和信息架构不沾边的东西.