Databend 源码阅读: Storage 概况和 Read Partitions
作者:张祖前 Databend Labs 成员,数据库研发工程师 https://github.com/zhyass ❤️友情提示:代码演进较快,请注意文档的时效性哦! 引言 Databend 将存储引擎抽象成一个名为 Table 的接口,源码位于 query/catalog/src/table.rs。 Table 接口定义了 read、append、alter、optimize、truncate 以及 recluster 等方法,负责数据的读写和变更。解释器(interpreter)通过调用 Table trait 的方法生成物理执行的 pipeline。 通过实现 Table 接口的方法,可以定义 Databend 的存储引擎,不同的实现对应不同的引擎。 Storage 主要关注 Table 接口的具体实现,涉及表的元信息,索引信息的管理,以及与底层 IO 的交互。 目录 包名 作用 common/cache 定义与管理缓存,包括磁盘缓存和内存缓存。类型包含表 meta 缓存、查询结果缓存、表数据缓存等。 common/index 定义与使用索引,目前支持 bloom filter...






