Skip to content

TiDB - 分布式 NewSQL 数据库 ​

TiDB 是一个开源的分布式 NewSQL 数据库,支持水平扩展、强一致性事务和 MySQL 协议兼容。

目录结构 ​

模块内容
部署TiUP 部署、Docker 部署
建表设计主键设计、索引、分区表
查询优化执行计划、热点问题、Hints
HTAPTiFlash、混合负载处理
FAQ常见问题
面试题核心面试考点

核心特性 ​

特性说明
水平扩展自动分片,理论无上限
强一致性分布式事务,ACID
MySQL 兼容兼容 MySQL 5.7 协议
HTAPTiFlash 列存,支持混合负载
自动调度PD 智能调度,负载均衡

架构概览 ​

┌─────────────────────────────────────┐
│         客户端应用                    │
└──────────────┬──────────────────────┘
               │ MySQL协议
┌──────────────▼──────────────────────┐
│    TiDB Server (无状态SQL层)         │
└──────────────┬──────────────────────┘
               │
   ┌───────────┼───────────┐
   │           │           │
┌──▼──┐   ┌────▼────┐  ┌──▼──┐
│ PD  │   │  TiKV   │  │TiFlash│
│调度层│   │ KV存储  │  │列存储 │
└─────┘   └─────────┘  └──────┘

组件说明 ​

组件作用
TiDB Server无状态 SQL 层,处理请求
PD元信息管理、时间戳分配、调度
TiKV行式存储,Raft 副本
TiFlash列式存储,OLAP 加速

快速部署 ​

bash
# 安装 TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

# 启动测试集群
tiup playground

# 连接
mysql -h 127.0.0.1 -P 4000 -u root

与 MySQL 对比 ​

特性TiDBMySQL
扩展性水平扩展垂直扩展
高可用原生支持需额外方案
事务分布式单机
容量PB 级TB 级
分片自动手动分库分表

学习资源 ​

正在精进