TiDB 学习笔记

TiDB 简介

  • 读音/’taɪdiːbi:/
  • 支持HTAP(Hybrid Transactional and Analytical Processing,超级事务分析和处理)
  • 强一致性、高可用性、水平扩展比较容易

核心特性

1. 水平扩展容易

TiDB的架构是基于计算和存储分离架构设计的,因此,该架构使得用户可以在线为计算资源或者存储资源扩容。而且该过程对运维团队是透明的。

2. Financial-grade高可用

TiDB的数据是基于Multi-Raft协议多副本存储的,事务是成功的当且仅当数据被成功写入多个数据副本。这也保证了在少数服务器不可用时,其数据的强一致性和高可用性。用户可以配置副本数来满足不同程度下的容灾备份。

3. 实时HTAP

TiDB提供了两个存储引擎。TiKV(基于行存储的引擎)和TiFlash(基于列存储的引擎)。TiFlash使用Multi-Raft Learner协议实时将TiKV中的数据备份至自己,从而使得两个存储引擎中的数据是一致的。为了解决HTAP资源隔离问题,TiKV和TiFlash可以被部署在不同的机器上。
TiDB 学习笔记_第1张图片

4. 云原生分布式数据库

TiDB与云平台结合的比较好。其中TiDB Operator帮助管理Kubernetes上的TiDB。

5. 兼容Mysql

用户将后台数据库从Mysql切换至TiDB时,不需要更改代码。同时,TiDB提供了一系列的数据迁移工具,使得数据能轻松方便的进行迁移。


使用场景

1. 金融行业

金融行业对数据一致性,可靠性,可用性,可扩展性和容灾备份都有很高的需求。传统的做法是一个城市设置两个数据中心,形成数据的互备模式,但是该做法的缺点是:低资源利用率,高维护率,RTO(Recovery Time Objective)和RPO(Recovery Point Obejctive)不能满足需求。TiDB使用多副本策略和Multi-Raft协议来调度数据的存储位置,当某些机器宕机时,系统会自动调整并使得RTO<=30s且RPO=0。

2. 对并发性和可扩展性要求较高的场景

随着应用和业务的快速增长,传统的独立型数据库很难满足数据对容量的需求。使用NewSQL能解决这个问题。TiDB是NewSQL类型的,它最多支持512个节点,每个节点支持最大为1000的并发量,最大的集群容量是PB级别的。

3. 实时HTAP

随着5G,物联网,人工智能等新兴技术的快速发展,公司的数据量增长迅速。传统的解决在线事务的应用使用OLTP数据库,之后异步使用ETL(Extract, Transform, Load)工具将数据备份至OLAP数据库从而进行分析。但是这种方法有很多缺点,例如:存储消耗较高和实时性能较差。TiDB借助TiKV和TiFlash引擎使得其成为真正的HTAP数据库,并使得在线业务处理和实时分析数据集成在一个系统中成为可能。

4. 数据聚集和二级处理方案

很多企业的应用数据分散在不同的系统中。随着应用数据的快速增长,做决策的领导需要了解公司的业务状况,以便及时作出决策。
在这种情况,许多公司需要将分散的数据聚集在同一个系统中,之后使用另一个系统或者软件,针对这些数据来产生T+1或者T+0的分析报告。常用的方法是使用ETL工具和Hadoop,但是Hadoop系统比较复杂,且需要消耗较高运维成本和存储成本。相比之下,TiDB会更加简单,可以直接使用ETL工具或者TiDB的数据迁移工具为数据做备份。


你可能感兴趣的:(学习笔记,tidb,newsql)