`

rocksdb vs leveldb

 
阅读更多

 

1、RocksDB也开始支持HDFS,允许从HDFS读取数据。而LevelDB则是一个比较单一的存储引擎

2、RocksDB支持一次获取多个K-V,还支持Key范围查找。LevelDB只能获取单个Key

3、RocksDB除了简单的Put、Delete操作,还提供了一个Merge操作,说是为了对多个Put操作进行合并

4、RocksDB支持多线程合并,而LevelDB是单线程合并的。

5、RocksDB增加了合并时过滤器,对一些不再符合条件的K-V进行丢弃,如根据K-V的有效期进行过滤

6、压缩方面RocksDB可采用多种压缩算法,除了LevelDB用的snappy,还有zlib、bzip2

7、在故障方面,RocksDB支持增量备份和全量备份,允许将已删除的数据备份到指定的目录,供后续恢复。

8、RocksDB支持在单个进程中启用多个实例,而LevelDB只允许单个实例。

9、RocksDB支持管道式的Memtable,也就说允许根据需要开辟多个Memtable,以解决Put与Compact速度差异的性能瓶颈问题。在LevelDB里面因为只有一个Memtable,如果Memtable满了却还来不及持久化,这个时候LevelDB将会减缓Put操作,导致整体性能下降

 

 

个人觉得RocksDB尚未解决的地方:

  1. 依然是完全依赖于MANIFEST,一当该文件丢失,则整个数据库基本废掉。
  2. 合并上依然是整个文件载入,一些没用的Value将被多次的读入内存,如果这些Value很大的话,那没必要的内存占用将是一个可观的成本。

 

 

 

 

 

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

    RocksDB,LevelDB 启发了 Go 中的键值数据库.zip

    RocksDB/LevelDB 启发了 Go 中的键值数据库卵石覆盖 夜间基准测试Pebble 是一个受 LevelDB/RocksDB 启发的键值存储,专注于 CockroachDB 的性能和内部使用。Pebble 继承了 RocksDB 文件格式和一些扩展,例如范围删除...

    cpp-RocksDB是Facebook开源的KV存储基于Google的LevelDB

    RocksDB是Facebook开源的KV存储,基于Google的LevelDB。 MyRocks则是基于RocksDB的MySQL数据库。除了深入内核之外,我们也做了较为详尽的验证,RocksDB在高性能写入、数据压缩上相对于InnoDB有较大的优势。今后,...

    RocksDB_rocksdb_快速hash存储_

    RocksDB是在LevelDB的基础上发展起来的,它保留了LevelDB的SSTable(Sorted String Table)作为磁盘上的数据格式。SSTable是一个有序的键值对集合,结合了哈希索引和Bloom过滤器,以加速数据查找。在RocksDB中,哈希...

    快速、高可用性、完全兼容 Redis 的存储 .zip

    安装 Rocksdb 和 LevelDB cd extern ./engine_install.sh engine_install.sh will check whether rocksdb/leveldb is installed first, if not, it will install rocksdb/leveldb in standard path `/usr/local/lib`...

    PyPI 官网下载 | rocksdb3-0.0.5-cp39-none-win32.whl

    RocksDB是由Facebook开发的一个高性能、嵌入式、键值对存储系统,基于Google的LevelDB。它常被用于大数据、实时分析以及需要高效存储和检索大量数据的应用中。RocksDB以其优秀的性能、可伸缩性和低延迟而闻名,尤其...

    rocksdb-rof.pdf

    RocksDB继承自LevelDB,提供了高性能,并且设计上非常灵活,以方便被更高级别的应用程序嵌入作为存储引擎。由于固态驱动器(SSDs)的普及,RocksDB得到了广泛的应用,并且在生产环境中变得非常常见。尤其是一些软件...

    rocksdb:用 C++ 编写的高性能键值存储引擎

    rocksdb:用 C++ 编写的高性能键值存储引擎。该项目是由 Fackbook 数据库团队基于 levelDB 开发,键值均支持二进制流,能够充分利用多核 CPU 获得高性能,并兼容 levelDB 的 API 可谓是青出于蓝而胜于蓝。RocksDB ...

    一个兼容 redis 协议的 nosql,它支持多种存储引擎作为后端,如 Google 的 LevelDB、Facebook 的 RocksDB、OpenLDAP 的 LMDB、Percona.zip

    Ardb高性能持久性 NoSql,完全兼容 Redis 协议 Ardb 是一个 BSD 许可的、兼容 redis 协议的持久性 nosql,它支持多种存储引擎作为后端,如Google 的 LevelDB、Facebook 的 RocksDB、OpenLDAP 的 LMDB、WiredTiger、...

    key-value 存储系统 RocksDB.zip

    **RocksDB 深度解析** RocksDB 是 Facebook 开源的一款高性能、可嵌入式的键值存储系统,主要用于处理大规模数据。它基于 Google 的 LevelDB 设计,并进行了优化和扩展,支持更广泛的应用场景,如大数据分析、实时...

    YCSB-cpp:用C ++编写的YCSB,用于LevelDB,RocksDB和LMDB

    当前支持LevelDB,RocksDB和LMDB。 建筑 只需使用make即可构建。 仅绑定LevelDB: make BIND_LEVELDB=1 BIND_ROCKSDB=0 BIND_LMDB=0 或修改Makefile。 要使用其他库进行构建并包含目录: make EXTRA_CXXFLAGS=-...

    rocksdb:纯C ++ Node.js RocksDB绑定。 符合abstract-leveldown的商店

    不同之处在于, leveldown是LevelDB的绑定,而rocksdb是Facebook的LevelDB分支RocksDB的绑定。 我们强烈建议您使用levelup优先于rocksdb除非你有可衡量的业绩的理由这样做。 levelup针对可用性和安全性进行了优化...

    FaceBook开源的key-value 存储系统 RocksDB.zip

    RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是...RocksDB 基于 LevelDB 构建。关于 RocksDB 的性能说明。 标签:RocksDB

    RocksDB 写入流程详解.docx

    RocksDB 的写入流程最初是从 leveldb 演变而来。在这一流程中,多个写入线程被组织成一个组(group),每个组有一个领导者(leader)和若干跟随者(followers)。当数据写入时,首先会被暂存在内存中的memtable。...

    rocksdb with jemalloc 4.12 win x64 版本

    RocksDB基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上,可以有效使用快速存储,支持IO绑定、内存和一次写负荷。 压缩包内为rocksdb with jemalloc 4.12 win x64 版本

    rocksdb-sharp:facebook的rocksdb的.net绑定

    RocksDB由Facebook开发,基于LevelDB。 有关RocksDB的更多信息,请访问和 该库提供了rocksdb的C#绑定,通过rocksdb C API实现了对本地rocksdb DLL(非托管C ++)的包装。 这是一个多级绑定,提供对C API函数...

    Facebook的RocksDB平台发展概述.docx

    RocksDB是一款由Facebook基于LevelDB开发的高性能键值存储数据库软件。它最初是为了满足高速缓存存储需求而设计,专注于提高在快存(如SSD)上的读写性能。RocksDB是一个C++库,支持原子性的读写操作,并且能够处理...

    FastoNoSQL 是一个跨平台的 Redis、Memcached、SSDB、LevelDB、RocksDB、UnQLite、LMDB、ForestDB、Pika、Dynomite、KeyD.zip

    关于 FastoNoSQL FastoNoSQL——是一个跨平台的 Redis、Memcached、SSDB、LevelDB、RocksDB、UnQLite、LMDB、UpscaleDB、ForestDB、Pika 管理工具,FastoNoSQL 也是 NoSQL 数据库的平台,您可以为不同的数据库添加...

    level-rocksdb:捆绑了levelup和Rocksdb的便捷软件包

    等级rocksdb 快速简单的存储。 Node.js样式的RocksDB包装器。 一个方便的软件包,它: 导出一个函数,该函数在调用时返回一个 束的当前版本和 利用编码利用 使用此包,以避免必须明确安装rocksdb当你想使用...

    akka-persistence-rocksdb:Akka 持久化 RocksDB 插件

    RocksDB 是由 Facebook 开发的一个用于存储大规模数据的轻量级数据库管理系统,它基于 LevelDB,并在许多方面进行了优化,包括支持多线程写入、更好的压缩算法以及更高效的磁盘 I/O 操作。这些特性使得 RocksDB 成为...

    Pebble是受LevelDB / RocksDB启发的键值存储,专注于CockroachDB的性能和内部使用。-Golang开发

    Pebble是受LevelDB / RocksDB启发的键值存储,专注于CockroachDB的性能和内部使用。 Pebble继承了RocksDB文件格式和一些扩展名,例如范围删除逻辑删除,表级bloom过滤器以及对MANIFEST格式的更新。 Pebble Nightly...

Global site tag (gtag.js) - Google Analytics