1.5 Important features of TiDB database platform(TiDB 4.0 重要特性)

学习时长:

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 资源利用率不均衡的问题。详情参阅:调度

学习过程中参考的其他资料