| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档主要介绍了TiDB的原理与实战,包括其分布式系统架构、NewSQL特性、在线DDL解决方案以及优化器的逻辑和物理优化方法。文档还提到了TiDB与TiKV的关系,展示了TiDB如何通过TiKV支持分布式事务、水平扩容/缩容等功能,并介绍了其执行流程和架构设计。 | ||
| AI总结 | ||
《TiDB 原理与实战》主要介绍了 TiDB 的核心原理、架构设计以及实际应用场景。以下是文档内容的总结:
### 1. **作者简介**
- 作者是一名 TiDB 贡献者,主要研究分布式系统,目前在 PingCAP 就职,主要参与 TiDB 的在线 DDL、SQL 优化器和性能提升等工作。
- 曾在京东工作,负责云推送和存储相关项目,15 年加入 PingCAP。
### 2. **TiDB 核心特性**
- **分布式事务**:基于 2PC(二阶段提交)和 MVCC(多版本并发控制),支持分布式事务和隔离级别(SI + 乐观锁)。
- **raft 协议**:用于分布式一致性,结合 PlacementDriver 实现容错和数据副本管理。
- **支持 MySQL 协议**:兼容 MySQL,迁移成本低,但部分功能仍在完善中。
- **分布式存储**:通过 TiKV 实现分布式存储,支持水平扩展和缩容。
### 3. **执行流程**
- TiDB 的执行流程涉及 TiDB Server、TiKV 和 SQL 层的协作,通过 KV API 和 DistSQL API 实现数据操作。
### 4. **在线 DDL**
- 传统数据库的锁表操作会导致性能问题,TiDB 提供了更高效的在线 DDL 解决方案,参考 Google 动态变更 schema 的论文,采用分阶段(absent → write only → reorg → public)的方式实现。
### 5. **SQL 优化**
- **逻辑优化**:基于关系代数的等价变换。
- **物理优化**:优化数据读取方式、表连接顺序和排序策略,以提升查询性能。
### 6. **TiKV**
- TiKV 是 TiDB 的分布式存储引擎,基于 RocksDB 实现,支持分布式事务、多版本并发控制和 raft 协议。
### 7. **NewSQL 定位**
- TiDB 属于 NewSQL 类型的数据库,结合了传统 RDBMS 的强一致性、事务支持和 NoSQL 的分布式扩展能力。
### 总结
TiDB 是一个结合分布式系统和 NewSQL 技术的数据库系统,通过在线 DDL、分布式事务和 SQL 优化等特性,解决了传统数据库的性能和扩展性问题。TiDB 的架构设计和实现细节体现了其在分布式系统领域的创新和实践价值。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
11 页请下载阅读 -
文档评分














TiDB 原理与实战