Skip to the content.

TiDB——分布式 HTAP 数据库

TiDB 是一个开源的分布式 HTAP 数据库,兼容 MYSQL 协议。要理解它首先要了解 HTAP 是什么,从官方的描述上说:HTAP(Hybrid Transaction and Analytical Processing)是混合式事务和分析处理的数据库,具有纵向伸缩性,强一致性和高可用型。

那么什么是事务处理和分析处理的数据库呢?

OLTP/OLAP

应用程序通常使用索引中的某些键查找少量记录。根据用户的输入插入或更新记录。因为这些应用程序是交互式的,所以访问模式被称为在线事务处理(onine transaction processing,OLTP)。像博客的评论,游戏中的动作,通讯录中的联系人等基本访问模式与处理业务交易模式类似。

现在越来越多的数据库也开始用于做数据分析的,像一般地都不会是直接输出原数据,而是以某种维度“统计式”的输出数据源作为分析数据依据。通常这个数据式数据分析师(运营)所需要的。如公司季度总营收是多少,在总营收中散布不同的年龄段分别占多少营收等。为了区别 OLTP ,这个就被称之为在线分析处理(online analytic processing, OLAP)

OLTP 与 OLAP 的区别如下面表格:

属性 事务处理系统(OLTP) 分析处理系统(OLAP)
主要读特性 基于键,每次查询返回少量记录 对大量记录进行汇总
主要写特性 随机访问,低延迟写入用户输入 批量导入(ETL)或事件流
典型使用场景 终端用户,通过网络应用程序 内部分析师,为决策提供支持
数据表征 最新的数据状态(当前时间点) 随着时间而变化的所有事件历史
数据规模 GB 到 TB TB 到 PB

(上述表格来源于《DDIA》)

TiDB 特性

不支持 MySQL 的特性

在 MySQL 中常用的特性 TiDB 不支持的功能如下: