meta/rocksdb

数据

可嵌入应用的持久化键值存储库,面向闪存和内存上的快速读写。

32,233
6,989
C++
GPL-2.0
创建于 13 年前

RocksDB 是一个 C++ 库,让应用把持久化键值存储嵌入自身,而不用单独运行数据库服务。它面向快速存储(尤其是 SSD)和超大数据量:README 描述其 LSM 设计可在写放大、读放大和空间放大之间灵活取舍,并采用多线程 compaction,适合单个数据库存放数 TB 数据 README。

功能与工作方式

键值数据持久化到磁盘,同时利用内存缓存,底层是 LSM(日志结构合并)结构:写入先批量进入内存结构,再在后台合并到磁盘。实际效果是写入吞吐较高、读取性能可调,代价是需要维护 compaction 过程。由于 compaction 是多线程的,单个数据库可以承载简单嵌入式存储难以应付的数据规模。

它是构建模块,不是完整的数据库服务端;客户端-服务端通信、复制或查询层需要应用自己实现。更深入的资料可查看项目主页和 wiki 项目主页、wiki。

使用方式

主要路径是把库链接进 C++ 应用并调用公开 API;examples 目录提供基础用法 示例。调用方只应依赖 include/ 下的头文件,其他头文件属于内部实现,可能不经提示就改动 README。这会影响升级策略:依赖内部 API 等于把代码绑在实现细节上。

RocksDB 建立在此前 LevelDB 的工作之上 LevelDB。这是来源背景,不构成兼容承诺。

要求与限制

  • 代码是 C++,使用它意味着需要把原生库构建或链接进 C++ 程序。README 没有把托管语言封装列为核心里路径。
  • 单库可存数 TB 数据,但 README 在此没有给出硬上限或支持的文件系统清单;平台细节应查 wiki。
  • 性能取决于针对工作负载在写、读、空间放大之间的调优;默认配置不保证适合所有访问模式。
  • 采用双许可证:GPLv2 或 Apache 2.0,可自行选择其一 README。采用前应确认所选许可证如何适配你的分发或产品。

HotRepo 点评

唯一有记录的榜单观察是 2026-10-28 的 32,233 stars,只有一天。这不足以判断趋势,star 数也不代表可靠性。真正需要判断的是:嵌入式 C++ 库是否符合你的架构,以及 GPLv2/Apache 2.0 的双许可选择是否满足你的许可需求。

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。