facebook/rocksdb

GitHub: facebook/rocksdb

Facebook 开源的高性能嵌入式持久化键值存储库,专为 SSD/Flash 和 RAM 优化,适合作为大规模数据服务的存储引擎。

Stars: 31594 | Forks: 6752

## RocksDB:面向 Flash 和 RAM 存储的持久化 Key-Value 存储 [![CircleCI 状态](https://circleci.com/gh/facebook/rocksdb.svg?style=svg)](https://circleci.com/gh/facebook/rocksdb) RocksDB 由 Facebook 数据库工程团队开发和维护。 它基于 Sanjay Ghemawat (sanjay@google.com) 和 Jeff Dean (jeff@google.com) 早期在 [LevelDB](https://github.com/google/leveldb) 上的工作构建。 本代码是一个库,构成了快速 key-value 服务器的核心构建块,特别适合在闪存驱动器上存储数据。 它采用 Log-Structured-Merge-Database (LSM) 设计,在 Write-Amplification-Factor (WAF)、Read-Amplification-Factor (RAF) 和 Space-Amplification-Factor (SAF) 之间提供灵活的权衡。它支持多线程压缩,使其特别适合在单个数据库中存储数 TB 的数据。 从这里开始查看示例用法:https://github.com/facebook/rocksdb/tree/main/examples 有关更多说明,请参阅 [github wiki](https://github.com/facebook/rocksdb/wiki)。 公共接口位于 `include/` 中。调用者不应包含或依赖本包中任何其他头文件的细节。这些内部 API 可能会在不发出警告的情况下被更改。 欢迎在 Facebook 上的 [RocksDB Developers Public](https://www.facebook.com/groups/rocksdb.dev/) 群组和 Google Groups 上的 [邮件列表](https://groups.google.com/g/rocksdb) 提问和讨论。 ## 许可证 RocksDB 采用 GPLv2(位于根目录的 COPYING 文件中)和 Apache 2.0 许可证(位于根目录的 LICENSE.Apache 文件中)双重许可。您可以根据自己的选择,选用上述列出的许可证之一。
标签:C++, Facebook, KV数据库, LevelDB, Log-Structured Merge, LSM树, RocksDB, 内存存储, 写放大, 单机存储, 多线程压缩, 大数据, 存储引擎, 嵌入式数据库, 开源, 持久化存储, 数据库组件, 数据擦除, 目录扫描, 空间回收, 空间放大, 读放大, 键值存储, 闪存存储