由于之前帖子内容太多,这里重新发布一篇,之前帖子地址–> 地址
什么是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 左右]
- 另一款开源 leveldb的帖子
下图为 rocksdb和leveldb 单/多线程 写入对比
理论上在单线程下 RocksDB应该比levldb稍微略慢一点
图中可看到300W多线程写入RocksDB一瞬间完成
更新日志 – V1.7 本次更新内容很大[使用前记得备份数据库] [rocksdb内核版本:8.9.1]
- rocksdb从 1.1 更新到 1.7 已临近半年了,已很多易语言后端项目都是基于rocksdb搭建的
- 增加 备份/还原 数据库
- 增加 补全options启动类的大部分参数[目前很多参考官方函数未汉化,未汉化部分懒得汉化了等个有缘人]
- 增加 哈希表
- 增加 rocksdb 列族[子表] 一个数据库可创建多个子表
- 优化 优化指针传递
- …
- 以下为Facebook官方更新说明
- Avoid destroying the periodic task scheduler’s default timer in order to prevent static destruction order issues.
相关文章
- 1 女子西藏旅途偶遇28岁骑行“大叔”
- 2 中甲联赛大连一赛场发生球员暴力事件
- 3 某网红下播时忘记关摄像头,直播间瞬间炸了
- 4 伪娘穿裙子跳舞看起来超级辣眼睛
- 5 棺材惊现巨蟒,尸体被蛇吃了骨头都不剩!
- 6 上海路炒粉、江一烧饼店事件吸引一波波流量
- 7 滴滴司机遇上性感美女打车,下一秒却立马请她下车!
- 8 胖猫跳江去世,5个意想不到
- 9 迈腾车主刚离家出门半小时就被绿,女友带其他男人回家
- 10 日本男子花百万日元将自己变成狗
- 11 真正的调整显示器亮度
- 12 PGE游戏引擎FC快打旋风
- 13 易语言Julia集图片源码
- 14 易语言ChartV1.0模块源码
- 15 易语言OFFICE文档转换成PDF源码
- 16 易语言网络电视源码
- 17 易语言SQLite3数据库操作类模块源码
- 18 易语言ICO提取工具源码
- 19 易语言程序备份器源码
- 20 模仿QQ游戏登陆界面
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
发表评论