# TiDB Lightning 的原理

__*Lightning 原理*__
__*Lightning 架构*__

![left](./student-guide/diagram/TiDBLightningPI4_zh_001_20220617.png)
-------------------------------------------------------------
当一个引擎文件数据写入完毕时,tidb-lightning 便开始对目标 TiKV 集群数据进行分裂和调度,然后导入数据到 TiKV 集群。

引擎文件包含两种:数据引擎与索引引擎,各自又对应两种键值对:行数据和次级索引。通常行数据在数据源里是完全有序的,而次级索引是无序的。因此,数据引擎文件在对应区块写入完成后会被立即上传,而所有的索引引擎文件只有在整张表所有区块编码完成后才会执行导入。