Rocksdb 学习了解

  1. Rocksdb是一个kv存储的数据库引擎,并将数据在硬盘中进行持久化存储;数据首先按照跳表存储将数据写到内存中(数据有序)-Memtable,当内存中的数据大小达到一定的阈值,Memtable转换位Immutable (只读内存,方便持久化硬盘中), Immuatble Memtable 数据持久化存储为SSTable;与此同时,产生一块新的Memtable,方便进行读写;为了防止系统故障导致内存的数据丢失,Memtable写数据时会同步往WAL Log文件写数据,这样当机器重启时,内存中丢失的数据也可以从WAL Log文件中获取;
  2.  数据持久化的过程称作compaction,数据一层一层进行合并,最终Level N就是磁盘上落地的最终文件;L0 层中的SSTable在文件内部是有序的,而文件中是无序的;L1层中的SSTable由L0 层中的SSTable合并而来,且L1 层中的SSTable中带有元数据(记录了该SSTable中的最小键与最大键);当L0 层中的SSTable向下compaction时,依据key判断L1 层中的SSTable是否包含该key,如果包含,则L0 层的SSTable合并也考虑L1 层中的SST able;
  3. Rocksdb存储使用跳表可以快速进行查找与插入,并且锁的粒度也尽可能的小;在rocksdb的跳表中,仅需要在修改表高度与插入数据建立连接时加锁。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值