从零开始学TiDB(8) TiFlash 主要架构

一.TiFlash的主要架构

二.TiFlash 主要功能

1.异步复制

2.一致性读取

T0 时刻从客户端写入两行数据

k=1 value=100

k=999 value=7

分别写入到了两个region,并且产生raft log

此时TiFlash还没有TiKV的这两行数据

此时TiFlash同步了key=1 value=100的数据

还没有同步 key=999 value=7的数据

读取TiFlash中的key=1和key=999

又进行了一次写入 key=1 value=200

此时raftlog idx=122

确认TIKV的raft log idx号

并且记录在TiFlash

此时,idx=31 从TIKV记录的日志

已经达到了

再读取key=999 value7 一定可以读到了

但 idx=125还没有达到, key=1 value=100 还不可以读

此时读key=1发现有两个版本

T1时刻发出的读取,只能看到T1时刻之前完成的

所以只能读到T0时候的数据

这样key=1 value=100就返回给了客户端

3.智能选择

之前有总结过,TiDB会根据sql的情况智能的选择 读取TIKV还是TiFlash

例如:下面两张表做关联查询,再product.pid上有索引,可能会走TIKV,但AVG可能设计OLAP业务,如果没有索引,做全表扫描也可能走TiFlash。

相关推荐
PingCAP1 天前
TiDB 亮相宜昌“医院‘云数智’技术实践研讨及成果展示交流会”,探讨国产化 + AI 背景下的数据库新趋势
数据库·人工智能·tidb
PingCAP7 天前
TiDB 可观测性解读(二)丨算子执行信息性能诊断案例分享
数据库·tidb
七七powerful13 天前
mysql & 磐维(opengauss)&tidb误删数据之高级恢复
数据库·mysql·tidb
蒂法就是我13 天前
介绍一下TiDB、RocksDb、levelDB、LSM 树、SSTable。
tidb·sstable
PingCAP14 天前
TiDB × AI :DeepSeek 时代你需要什么样的数据基座
数据库·人工智能·tidb
PingCAP15 天前
架构师必看!现代应用架构发展趋势与数据库选型建议丨TiDB vs MySQL 专题(一)
分布式·mysql·tidb
TiDB_PingCAP21 天前
TiDB 观测性解读(一)丨索引观测:快速识别无用索引与低效索
数据库·tidb·索引优化
PingCAP22 天前
TiDB 观测性解读(一)丨索引观测:快速识别无用索引与低效索引
数据库·tidb
24k小善25 天前
flink集成tidb cdc
大数据·flink·tidb
TiDB_PingCAP25 天前
海量数据融合互通丨TiDB 在安徽省住房公积金监管服务平台的应用实践
分布式·tidb·htap