RocksDB 1.8易语言源码什么是rocksdb?

RocksDB是一个 持久的键值存储库 ,它是用C++编写的,适合在快速、低延迟的存储设备上存储数据。它是由Facebook数据库工程团队开发和维护。

LevelDB 有什么区别?

RocksDB和LevelDB都是基于LSM-Tree的嵌入式键值存储库,但RocksDB是在LevelDB的基础上进行了优化和增强

RocksDB可以支持 多线程 合并文件,而LevelDB是 单线程
RocksDB可以根据需要开辟 多个Memtable ,而LevelDB只有 一个Memtable
RocksDB可支持多种压缩算法,而LevelDB只支持snappy
单线程模式下 LevelDB 可能稍微快一点,而在多线程下 RocksDB 就会发挥出它的优势了

rocksdb的优点
高性能:RocksDB 使用了很多优化技术,如多线程、高效的数据结构等,因此具有非常高的读写性能。
可扩展性:RocksDB 可以处理大规模的数据,并支持自动分片和负载均衡等功能,因此可以很好地应对高并发访问。
可靠性:RocksDB 支持 ACID 事务,保证数据的一致性和可靠性。
灵活性:RocksDB 支持多种数据格式,包括内存映射文件、纯内存等,让用户可以灵活选择适合自己的存储方式。
RocksDB在存储数据时是按照键的排序方式进行存储的,它并没有明确的容量限制,可以存储非常大的数据 [理论上无限制容量]。而类似MMKV框架限制容量的方式是使用了一种固定大小的映射文件,即在创建MMKV实例时就已经确定了最大容量,超过容量时就不能再写入数据[大概在 4GB 左右]

更新日志 – V1.8 本次更新内容很多[使用前记得备份数据库] [rocksdb内核版本:10.5.0]

之前版本已经不符合现在设计理念,大部分地方都已经重构
写/读 改为置数据()/取数据() 链式取出
新增 支持自定义数据的写入/读取
新增 范围删除/清空方法
新增 Batch事务类 范围删除/事务回滚/…
新增 错误返回
修复列族下无法使用Merge合并方法

相比于评估版解决:
文本型在空键情况下会指向野指针
自定义参数(二层嵌入下)首个参数为整数型且等于1时会被判定为字节集指针 (此问题还要进一步评估稳定性)
新增 迭代器类更新方法

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系贝贝进行处理。
本站默认解压密码:www.hibbba.com