1、OLTP、OLAP和HTAP
1.1 OLTP
OLTP(on-line transaction processing),联机事务处理,对数据的「增删改」
1.2 OLAP
OLAP(On-Line Analytical Processing),联机分析处理,对数据的「查询」
1.2.1 OLAP分类
ROLAP与MOLAP
-
ROLAP关系型联机分析处理
-
传统关系型数据库、MPP分布式数据库、基于Hadoop的Spark/Impala
-
能同时连接明细数据和汇总数据,实时根据用户提出的需求对数据进行计算后返回给用户,所以用户使用相对比较灵活,可以随意选择维度组合来进行实时计算
-
当计算的数据量达到一定级别或并发数达到一定级别的时候,一定会出现性能问题
-
-
MOLAP多维联机分析处理
- Cognos,SSAS,Kylin
- 预先将客户的需求计算好以结果的形式存下来,当命中需求后返回非常快(适合常见固定的分析场景),同等资源下支持的数据体量更大,支持的并发更多
- 当表的维度越多,越复杂,其所需的磁盘存储空间则越大,构建cube也需要一定的时间

OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。
1.3 HTAP
HTAP是混合 OLTP 和 OLAP 业务同时处理的系统,它打破了事务处理和分析之间的“墙”。它支持更多的信息和“实时业务”的决策
优势:
- 数据不需要从操作型数据库导入到决策类系统;
- 操作事务,实时地对分析业务可见;
- 上钻下取等分析操作,时刻操作最新的数据;
- 减少对副本的要求
2、TiDB简介
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
3、TiDB架构

TiDB Server
TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。 TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy 或 F5)对外提供统一的接入地址。
PD Server
Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁移等);三是分配全局唯一且递增的事务 ID。 PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。
TiKV Server
TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region 负责存储一个 Key Range (从 StartKey 到 EndKey 的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 「Raft」 协议做复制,保持数据的一致性和容灾。副本以 Region 为单位进行管理,不同节点上的多个 Region 构成一个 Raft Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以 Region 为单位进行调度。
4、优势
- 高度兼容 MySQL
大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。 - 水平弹性扩展
通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。 - 分布式事务
TiDB 100% 支持标准的 ACID 事务,无论是一个地方的几个节点,还是跨多个数据中心的多个节点。 - 真正金融级高可用
相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。 - 一站式 HTAP 解决方案
TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一

本文探讨了TiDB,一款支持OLTP、OLAP和HTAP的分布式数据库,介绍了其架构、核心特性和SQL兼容性,重点讲解了存储与计算原理、高可用性以及与传统SQL的对接。
最低0.47元/天 解锁文章
996

被折叠的 条评论
为什么被折叠?



