Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 937 Bytes

tidb-metadata-management.md

File metadata and controls

5 lines (3 loc) · 937 Bytes

元信息管理

上节介绍了表中的数据和索引如何映射为 (Key, Value) 键值对,本节介绍一下元信息的存储。TiDB 中每个 DatabaseTable 都有元信息,也就是其定义以及各项属性,这些信息也需要持久化,TiDB 也将这些信息存储在了 TiKV 中。

每个 Database/Table 都被分配了一个唯一的 ID,这个 ID 作为唯一标识,并且在编码为 Key-Value 时,这个 ID 都会编码到 Key 中,再加上 m_ 前缀。这样可以构造出一个 Key,Value 中存储的是序列化后的元信息。除此之外,还有一个专门的 (Key, Value) 键值对用于存储当前所有表结构信息的最新版本号(TiDB 使用 Google F1 的 Online Schema 变更算法,有一个后台线程在不断的检查 TiKV 上面存储的表结构信息的版本号是否发生变化,并且保证在一定时间内一定能够获取版本的变化)。