RocksDB:一个用于闪存和RAM存储的持久性键值存储
RocksDB 由 Facebook 数据库工程团队开发和维护。它建立在 Sanjay Ghemawat (sanjay@google.com) 和 Jeff Dean (jeff@google.com) 早期在 LevelDB 上的工作基础上。
这段代码是一个库,它构成了快速键值服务器的核心构件,特别适合在闪存驱动器上存储数据。它采用 Log-Structured-Merge-Database(LSM) 设计,在 Write-Amplification-Factor(WAF)、Read-Amplification-Factor(RAF) 和 Space-Amplification-Factor(SAF) 之间灵活取舍。它具有多线程压缩功能,因此特别适合在一个数据库中存储多TB 的数据。
从这里开始举例使用:https://github.com/facebook/rocksdb/tree/master/examples
更多解释请参见 github wiki。
公共接口在 include/ 中。调用者不应该包含或依赖这个包中任何其他头文件的细节。这些内部 API 可能会在没有警告的情况下被更改。
设计讨论在 https://www.facebook.com/groups/rocksdb.dev/ 和 https://rocksdb.slack.com/ 中进行。
许可证
RocksDB 是 GPLv2(在根目录下的 COPYING 文件中找到)和 Apache 2.0 许可(在根目录下的 LICENSE.Apache 文件中找到)的双重许可。您可以根据自己的选择,选择上述许可证中的一种。