LevelDB/RocksDB是如何保证MemTable写入的原子性的?
在 LevelDB 中,所有的写操作首先都会被记录到一个 Write-Ahead Log(WAL,预写日志) 中,以确保持久性。
接着数据会被存储在 MemTable 中,MemTable 的主要作用是在内存中有序存储最近写入的数据,到达一定条件后批量落磁盘。
LevelDB 在内存中维护两种 MemTable,一个是可写的,接受新的写入请求。
当达到一定的大小阈值后,会被转换为一个不可变的 Immutable MemTable,接着会触发一个后台过程将其写入磁盘形成 SSTable。
这个过…。
上一篇 : 13/14代 i7 i9 处理器大规模缩肛为什么没有在老化测试时发现?
下一篇 : 当初中俄为什么不摧毁朝鲜的核设施,让朝鲜拥有了自己的核武器?
本文地址:{dede:field name='arcurl' /}