学习时长:
10min
课程收获:
- 了解 TiDB 的基础架构以及特性,能够帮助业务解决什么样的问题。
- 了解 TiDB 4.0 提供的新功能及改进点。
课程内容:
本课程简要介绍了原生分布式数据库 TiDB 的技术特性,相比于传统的单机关系型数据,以及基于分库分表中间件架构的分布式数据库的不同点。
TiDB架构
架构在上一节课中已讲过
- Basic Architecture:TiDB、TiKV、PD
- Extended Architecture with TiSpark:分布式计算引擎,千万级别大量join计算时,封装了Spark 的Jar包
- Extended Architecture with TiFlash:行列混存,4.0新推出的最重要的功能。
技术特性
在线可拓展性、高可用性、分布式事务、实时HTAP
- 一键水平扩容或者缩容得益于 TiDB 存储计算分离的架构的设计,可按需对计算、存储分别进行在线扩容或者缩容,扩容或者缩容过程中对应用运维人员透明。
- 金融级高可用数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等策略满足不同容灾级别的要求。
- 实时 HTAP提供行存储引擎 TiKV、列存储引擎 TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft Learner 协议实时从 TiKV 复制数据,确保行存储引擎 TiKV 和列存储引擎 TiFlash 之间的数据强一致。TiKV、TiFlash 可按需部署在不同的机器,解决 HTAP 资源隔离的问题。
- 云原生的分布式数据库专为云而设计的分布式数据库,通过 TiDB Operator 可在公有云、私有云、混合云中实现部署工具化、自动化。
- 兼容 MySQL 5.7 协议和 MySQL 生态兼容 MySQL 5.7 协议、MySQL 常用的功能、MySQL 生态,应用无需或者修改少量代码即可从 MySQL 迁移到 TiDB。提供丰富的数据迁移工具帮助应用便捷完成数据迁移。
案例:
- 知乎:300+节点,300+TP数据量
TiDB 4.0 新特性
- TiUP: 一键安装工具
- Large transaction: 3.0的限制(100MB limit, 6MB per kv pair, 300,000 kyes per transaction) 4.0 (10 GB limit more memory needed, 6MB per kv pair) 支持大事务,最大事务限制由 100 MB 提升到了 10 GB,同时支持乐观事务和悲观事务。
- Tmp storage: 临时表 ,新增查询数据时将 Join、Sort 中间结果写入本地磁盘,防止查询语句占用内存过多导致系统 OOM 的问题,提升系统的稳定性。
- Dashboard:TiDB Dashboard 图形化界面,内置各种有力工具方便 DBA 同学诊断、监视和管理集群。
- Elastic Scheduling: 热点调度支持更多维度。热点调度在决策时,除了根据写入/读取流量作为调度依据外,新引入 key 的维度。可以很大程度改善原有单一维度决策造成的 CPU 资源利用率不均衡的问题。详情参阅:调度。