课程名称:课程版本(101/201/301)+ 课程名称
学习时长:
20
课程收获:
学习了Tidb的架构,包括Tispark,,Tiflash,以及为何被称为HTAP数据库。
课程内容:
1.0.0
-
计算和存储两个方面无线扩展
-
兼容mysql
-
对应用透明的数据分片策略
-
强一致的分布式事务
TIDB: 无状态的sql引擎
TiKV: 分布式KV存储引擎,
由raft算法实现副本之间的复制来保证高可用
PD:负责元数据的存储和TiKV中数据的调度
简单来说,由于Tidb可以无限横向扩容的特性,就好比容量无限大的Mysql
此时的Tidb具有很好的中台能力,在中台场景中,可以通过数据头部工具syncer向Tidb进行数据汇总
由于Coprocessor的存在,汇总的数据可以并行地在TiKV中进行聚合,生成报表。
TiDB十分适用于数据中台的场景
协议兼容,可以从mysql同步到Tidb
不需要数据分片,对应用透明
数据实时汇总,把备机和中台二者合二为一
使用一段时间后
OLTP场景:
虽然有一些问题,但基本上很友好
OLAP场景:
复杂查询太慢
容易OOM
不能和大数据平台整合
解决方案:
将Tidb和Tikv串起来,组成MPP引擎
风险高,周期长
寻求开源的分布式计算组件
需要成熟和广发的用户基础
TiSpark诞生
分布式的计算框架,更快更稳定
无缝接入大数据的生态,脚本,pythoh,R都可以轻松操作TiDb
缺点:
并发数低,消耗资源
用户希望使用高并发的同时,使用中等规模的AP查询
性能对比
核心矛盾:
-
行存不适合做分析
-
没有做资源隔离
TiFlash
通过raft learner同步一组列存
同步的代价极低,读取时通过raft index 结合MVCC实现了
通过打标签的方式实现了物理隔离。
AP/TP不会互相影响
今天
真正的HTAP
一个兼容行存储和列存储的平台,数据轻松同步
TIDB集群提供TP业务的同时,可以在列存上轻松进行分析