Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions mermaid.live
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
lowchart LR
%% =========================
%% Inbound
%% =========================
subgraph IN["入站:数据进入 TiDB 集群"]
app["业务应用 / SQL 客户端"]
src["上游 MySQL / MariaDB / Aurora MySQL"]
localfile["客户端本地文件"]
files["导出文件 / 数据文件<br/>SQL / CSV / Parquet"]
obj["对象存储<br/>S3 / GCS / OSS / Azure Blob"]
sqlwrite["普通 SQL 写入<br/>INSERT / UPDATE / DELETE"]
loaddata["LOAD DATA<br/>SQL 批量装载"]
dm["DM<br/>全量迁移 + 增量复制"]
dumpling["Dumpling<br/>逻辑导出"]
lightning["TiDB Lightning<br/>外部批量导入"]
importinto["IMPORT INTO<br/>SQL 前门导入<br/>底层走物理导入"]
app --> sqlwrite
app --> loaddata
localfile --> loaddata
obj --> loaddata
src --> dm
src --> dumpling
dumpling --> files
dumpling --> obj
files --> lightning
obj --> lightning
files --> importinto
obj --> importinto
end
%% =========================
%% Cluster Core
%% =========================
subgraph CLUSTER["TiDB 集群内部"]
tidb["TiDB Server<br/>SQL 层 / 调度层 / DXF"]
pd["PD / etcd<br/>元信息 / 调度"]
tikv["TiKV<br/>事务 KV / Region / Raft Log"]
tiflash["TiFlash<br/>可选分析副本"]
guard["内建一致性守护<br/>mutation checker<br/>txn assertions<br/>row checksum"]
admin["运行中校验 / 修复<br/>ADMIN CHECK TABLE<br/>ADMIN CHECK INDEX<br/>ADMIN CHECKSUM TABLE<br/>ADMIN RECOVER INDEX<br/>ADMIN CLEANUP INDEX"]
end
sqlwrite --> tidb
loaddata --> tidb
dm --> tidb
importinto --> tidb
tidb --> pd
tidb --> tikv
tidb --> tiflash
tikv --> guard
tidb --> admin
lightning --> tikv
importinto --> tikv
%% =========================
%% Outbound
%% =========================
subgraph OUT["出站:数据离开 TiDB 集群"]
outdump["Dumpling<br/>逻辑导出"]
br["BR<br/>全量备份 / 日志备份 / PiTR"]
cdc["TiCDC<br/>增量变更流 Changefeed"]
outfile["外部文件 / 导出目录<br/>SQL / CSV"]
outobj["对象存储<br/>S3 / GCS / Azure Blob / NFS"]
downstreamdb["下游 TiDB / MySQL"]
kafka["Kafka"]
end
tidb --> outdump
tikv --> br
tikv --> cdc
outdump --> outfile
outdump --> outobj
br --> outobj
cdc --> downstreamdb
cdc --> kafka
cdc --> outobj
%% =========================
%% Side Paths
%% =========================
subgraph SIDE["旁路:验证 / 恢复 / DR"]
diff["sync-diff-inspector<br/>源端 / 目标端比对<br/>生成修复 SQL"]
postcheck["导入后校验<br/>CHECKSUM / ADMIN CHECKSUM TABLE"]
restore["BR Restore / PiTR Restore"]
restorecheck["恢复后校验<br/>checksum-as / checksum-pitr / checksum-upstream"]
dr["TiCDC 跨集群复制 / DR<br/>最终一致"]
end
src -.源/目标对比.-> diff
tidb -.目标端.-> diff
lightning -.导入后.-> postcheck
importinto -.导入后.-> postcheck
postcheck --> admin
outobj -.恢复回流.-> restore
restore --> tidb
restore --> tikv
restore --> restorecheck
cdc -.DR / 多集群复制.-> dr