TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。

TiDB 具备如下核心特点: 
1 高度兼容 MySQL 
 大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移
2水平弹性扩展 
 通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储
3分布式事务 
 支持标准的 ACID 事务
4 高可用 

二 TiDb 整体架构 

 TiDB 集群主要分为三个组件: 
1TiDB Server 
 TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。 TiDB Server是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy 或F5)对外提供统一的接入地址。 
2PD Server 
 Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader的迁移等);三是分配全局唯一且递增的事务 ID。    
 PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。 
3TiKV Server 
 TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 RaftGroup,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。

五 其他

PingCAP Tidb官方文档

github tidb文档:https://github.com/pingcap/docs-cn

最新文章

  1. 用于主题检测的临时日志(b2d5c7b3-e3f6-4b0f-bfa4-a08e923eda9b - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
  2. ipv4、ipv6的socket同时监听“bind: Address already in use”的解决方法
  3. linux下动态库编译的依赖问题
  4. Java Swing 探索(一)LayoutManager
  5. .NET之美——C# 中的委托和事件
  6. 破解之寻找OEP[手动脱壳](2)
  7. SQL索引问题
  8. Html页面加回滚
  9. Hostker云主机
  10. Eclipse中Spring插件的安装
  11. JAVA_SE基础——11.Java中的运算符
  12. Python中list的功能介绍
  13. 移动App测试中的最佳做法
  14. 《CLR Via C#》读书笔记:24.运行时序列化
  15. ajax文件上传-FormData()
  16. 如何在VMware中安装Linux系统
  17. day04-运算符
  18. 安装gitlab遇到的问题
  19. sublime text 怎么浏览包
  20. 398. Random Pick Index随机pick函数

热门文章

  1. javascript模块化是什么及其优缺点介绍
  2. 学习安卓开发过程中遇到关于R.Java文件的问题
  3. Android的Overlay机制
  4. STL库中string类内存布局的探究
  5. 轻松掌握java读写锁(ReentrantReadWriteLock)的实现原理
  6. html页面的加载顺序
  7. 检测IE浏览器兼容Edge模式及IE11
  8. Flexviewer调用特定的widget
  9. EBS登陆界面IE显示异常
  10. wxpython 简单表格控件