pdf文档 TiDB 原理与实战

496.41 KB 23 页 0 评论
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档详细介绍了TiDB的原理与实战,包括其架构、功能模块以及核心技术。TiDB是一种NewSQL数据库,兼容MySQL协议,支持分布式事务和水平扩展。其核心组件TiKV提供了基于raft协议的分布式存储和高容错能力。TiDB的查询优化包括逻辑优化和物理优化,支持Hash Join等连接算法,并行优化查询性能。文档还介绍了TiDB的在线DDL功能,解决了表结构变更时的锁表问题。
AI总结
《TiDB 原理与实战》文档内容总结如下: ### 演讲者介绍 - **演讲者**:张理想,现任PingCAP公司TiDB Committer,Go语言爱好者。 - **研究方向**:分布式系统。 - **工作经历**: - **PingCAP**:2015年加入,主要参与TiDB的Online DDL、SQL优化器、功能改进及性能提升。 - **京东**:2013年末开始从事存储相关工作,包括云存储和弹性块存储项目。 - **联系方式**:微博@紫沐夏_go,Email: lixia@pingcap.com,GitHub: https://github.com/zimulala。 --- ### 哈希表匹配 - **机制**: - 小表(small table)放入内存,建立哈希表。 - 大表(big table)通过Goroutine分批读取,匹配哈希表。 - **未来支持**:Merge Sort Join等常用算法。 --- ### Online DDL - **现状**:锁表(部分支持读操作,但内存消耗高)。 - **TiDB解决方案**: - 参考Google F1的动态Schema变更论文。 - 支持四种模式:Absent、Delete Only、Write Only、Reorg。 - **设计注意事项**: - 架构师需谨慎设计表结构。 - DBA操作前需充分准备。 --- ### TiDB 执行流程 - **MySQL兼容**: - 支持MySQL协议,用户迁移成本低。 - 部分函数或功能尚未实现。 - **查询优化**: - **逻辑优化**:基于关系代数的等价交换进行逻辑变换。 - **物理优化**:优化数据读取、表连接方式、排序等。 - 流程:TP Parse → Logical Plan → Physical Plan → Exec Stat CBO → RBO。 --- ### TiKV 特性 - **分布式事务**: - 2PC(二阶段提交),参考Google Percolator论文。 - MVCC(多版本并发控制)。 - 隔离级别:SI(快照隔离)+ 乐观锁。 - **存储引擎**:RocksDB。 - **扩展与容错**: - 水平扩容/缩容:Raft协议 + PlacementDriver。 --- ### NewSQL 简介 - **发展背景**: - 早期:RDBMS(如MySQL、PostgreSQL)和NoSQL(如Redis、MongoDB)。 - 现代:NewSQL兼具两者的优点。 - **NewSQL特点**: - 支持分布式事务。 - 支持高可用性和水平扩展。 - **代表系统**: - Google Spanner、Google F1、TiDB。 --- ### 总结 文档围绕TiDB的核心原理与实践展开,涵盖NewSQL的发展背景、TiDB的执行流程、查询优化、Online DDL实现、TiKV特性等内容,重点介绍了TiDB在分布式系统、并行优化、动态Schema变更等方面的技术实现和优势。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 11 页请下载阅读 -
文档评分
请文明评论,理性发言.