buei 发表于 2023-9-25 12:00:58

基于Facebook开源的 rocksdb 分布式数据库 火山版库

本帖最后由 buei 于 2023-9-25 12:02 编辑





什么是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 左右]
易语言版介绍 https://bbs.125.la/forum.php?mod=viewthread&tid=14796875&page=1&ordertype=1#pid26645971投票以及下载地址火山版 https://www.lkuaiy.com/rsdetails?page=1&id=16952900557269948

火绒 发表于 2023-9-25 16:24:02

目前有点鸡肋,因为是需要2022编译器,会和别模块有冲突

创世魂 发表于 2023-9-25 17:09:29

MMKV 不是数据库,和这个肯定没法比的。。mmkv就是个普通的键值表。

lsfeeling 发表于 2023-9-25 21:08:27

是的,已用这个库做了一套社区团购的后端,完全用的这个库,没用别的数据库
页: [1]
查看完整版本: 基于Facebook开源的 rocksdb 分布式数据库 火山版库