文件特点
只读性
sstable文件为compaction的结果原子性的产生,在其余时间是只读的。
完整性
一个sstable文件,其辅助数据:
- 索引数据
- 过滤数据
都直接存储于同一个文件中。当读取是需要使用这些辅助数据时,无须额外的磁盘读取;当sstable文件需要删除时,无须额外的数据删除。简要地说,辅助数据随着文件一起创建和销毁。
并发访问友好性
由于sstable文件具有只读性,因此不存在同一个文件的读写冲突。
leveldb采用引用计数维护每个文件的引用情况,当一个文件的计数值大于0时,对此文件的删除动作会等到该文件被释放时才进行,因此实现了无锁情况下的并发访问。
Cache一致性
sstable文件为只读的,因此cache中的数据永远于sstable文件中的数据保持一致。
当前内容版权归 rjl493456442 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 rjl493456442 .