【TiDB测试_201808201】文档主要介绍了分布式数据库TiDB的架构、特性以及与MySQL的差异。以下是对这些知识点的详细解释: 1. **TiDB架构**: - **TiDB Server**:作为SQL查询处理层,TiDB Server接收SQL请求,执行逻辑并透过PD找到数据在TiKV中的位置。由于它不存储数据,因此是无状态的,可以无限水平扩展,通常配合负载均衡器提供统一的服务入口。 - **PD Server (Placement Driver)**:作为集群管理组件,PD负责存储元信息,调度TiKV集群的负载均衡,以及分配全局递增的事务ID。PD集群至少需要3个节点以保证奇数个节点的容错性。 - **TiKV Server**:作为存储层,TiKV是一个分布式事务型Key-Value引擎,使用Region作为基本存储单元,每个Region负责特定Key Range的数据,并通过Raft协议确保数据一致性与容灾。 2. **TiDB特性**: - **高度兼容MySQL**:TiDB在大多数情况下可以直接替代MySQL,无需代码修改,甚至可以从分库分表的MySQL集群平滑迁移。 - **水平扩展**:通过添加新的TiDB或TiKV节点,系统能够按需扩展处理能力和存储容量,适应高并发和大规模数据的场景。 - **分布式事务**:TiDB完全支持ACID事务,保证了数据的一致性。 - **高可用性**:基于Raft协议,TiDB能提供金融级别的强一致性,故障时可自动恢复,无需人工干预。 3. **TiDB与MySQL的差异**: - **不支持的功能**:TiDB不支持MySQL的存储过程、视图、触发器、自定义函数、外键约束、全文索引和空间索引,以及非UTF8字符集。 - **自增ID**:TiDB的自增ID仅保证唯一性和自增,但不保证连续分配。多台TiDB服务器同时插入数据可能导致ID不连续。 - **DDL操作差异**:TiDB不支持某些DDL操作,如添加或删除主键,同时创建多个索引或列,删除主键或索引列,以及特定类型的修改列操作。 4. **资源链接**: - 文档提到了三篇内部详解文章,分别关于存储、计算和调度,可以帮助读者深入理解TiDB的工作原理。 总体而言,TiDB作为一个分布式数据库系统,其设计目标是解决单机数据库在扩展性和高可用性上的限制,通过灵活的水平扩展和强大的分布式事务能力,满足大数据和高并发场景的需求。然而,与MySQL相比,TiDB在某些特定功能上存在局限性,这需要用户在选择时根据自身业务需求进行权衡。
剩余8页未读,继续阅读
- 粉丝: 873
- 资源: 298
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java《基于springboot框架搭建的B2C商城》+项目源码+文档说明
- 【小程序毕业设计】面向企事业单位的项目申报小程序源码(完整前后端+mysql+说明文档+LW).zip
- 【小程序毕业设计】论坛小程序源码(完整前后端+mysql+说明文档).zip
- Java《基于SSM的高校共享单车管理系统》+项目源码+文档说明
- 【小程序毕业设计】讲座预约系统微信小程序源码(完整前后端+mysql+说明文档+LW).zip
- 【小程序毕业设计】驾校报名小程序源码(完整前后端+mysql+说明文档+LW).zip
- 程序设计竞赛-在线判题系统(OJ系统)【含Web端+判题端】+项目源码+文档说明
- 大数据时代下短视频观看行为数据采集与分析的设计与实现
- 【小程序毕业设计】图书馆座位再利用系统源码(完整前后端+mysql+说明文档).zip
- 【小程序毕业设计】自习室预约系统源码(完整前后端+mysql+说明文档).zip