本文介绍了WAL(Write-Ahead Log)和MemTable的实现,解决了数据持久性问题。WAL通过先写日志再写内存,确保崩溃后数据可恢复。MemTable使用跳表结构,支持高效的插入和查找。文章讨论了WAL的记录格式、分片策略及崩溃恢复的正确性,确保数据在系统崩溃时不会丢失。
本文介绍了日志结构合并树(LSM-Tree)的基本概念及其在高吞吐量写操作中的应用。LSM-Tree通过内存中的Memtable和磁盘上的SSTable优化数据写入,并使用WAL确保数据安全。删除操作采用“墓碑”机制,查询时利用Bloom过滤器提高效率。最后,文章展示了如何从零构建基于LSM-Tree的存储引擎。
memtable 可以看作是 log 文件的内存形式, 但是格式不同. 每个 log 文件在内存有一个对应的 memtable, 它和正在压实的 memtable(所以可能同时有两个 memtable 存在) 以及磁盘上的各个 level 包含的文件构成了数据全集. memtable 的本质就是一个 SkipList.
完成下面两步后,将自动完成登录并继续当前操作。