(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 翻译来源:https://github.com/facebook/rocksdb 翻译来源:https://github.com/facebook/rocksdb/wiki
RocksDB:一个持久化到闪存和磁盘等存储器的键值存储数据库
RocksDB是被facebook数据库引擎团队开发出来并维护着。 它早期构建于Sanjay Ghemawat和Jeff Dean开发的LevelDB。
它的库中代码构建了一个核心特点:快速的键值存储服务,特别适合于在flash驱动器上存储数据。 它有一个日志结构归并数据库设计(LSM),并在写放大(WAF),读放大(RAF),空间放大(SAF)上提供灵活的折中处理。 它具有多线程归并,从而让它更适合于在一个数据库中存储TB级的数据。
使用样例参考https://github.com/facebook/rocksdb/tree/main/examples 在github wiki查看更多解释 https://github.com/facebook/rocksdb/wiki
对外接口位于include目录下。 调用者不应依赖包中其它目录中的头文件中的细节,其它头文件间可能会在不做通知警告的情况下进行修改。
欢迎在开发群组中进行提问和讨论。https://www.facebook.com/groups/rocksdb.dev/ facebook群组 和 https://groups.google.com/g/rocksdb google邮件群组中。
RocksDB: A Persistent Key-Value Store for Flash and RAM Storage RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com) This code is a library that forms the core building block for a fast key-value server, especially suited for storing data on flash drives. It has a Log-Structured-Merge-Database (LSM) design with flexible tradeoffs between Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF). It has multi-threaded compactions, making it especially suitable for storing multiple terabytes of data in a single database. Start with example usage here: https://github.com/facebook/rocksdb/tree/main/examples See the github wiki for more explanation. The public interface is in include/. Callers should not include or rely on the details of any other header files in this package. Those internal APIs may be changed without warning. Questions and discussions are welcome on the RocksDB Developers Public Facebook group and email list on Google Groups.
License 许可证
RocksDB具有双重许可,在GPLv2和Apache2.0许可证下。 你可以基于自身观点倾向,选择以上的一个许可证。
RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and Apache 2.0 License (found in the LICENSE.Apache file in the root directory). You may select, at your option, one of the above-listed licenses.
Welcome to RocksDB 欢迎来到RocksDB
RocksDB是一个提供KV键值接口的存储引擎,它的KV键值是任意的字节流。 它是一个C++库。 它是由facebook基于LevelDB之上开发,提供向后兼容Leveldb的API接口。
RocksDB支持多种存储硬件,最初意图用于支持快速闪存介质。 它使用日志结构数据库引擎用于存储,并全部使用C++来编写,另外也提供了java的包装RocksJava,参见https://github.com/facebook/rocksdb/wiki/RocksJava-Basics。
RocksDB能够适配多种生产环境,包括纯内存,Flash闪存,硬盘 或 远程存储。 这些适配并非是自动适配,而是通过高度灵活的配置项设置来提供,由外部来打开配置项支持。 RocksDB提供了多种压缩算法和良好的工具提供产品支撑和调试。
RocksDB is a storage engine with key/value interface, where keys and values are arbitrary byte streams. It is a C++ library. It was developed at Facebook based on LevelDB and provides backwards-compatible support for LevelDB APIs. RocksDB supports various storage hardware, with fast flash as the initial focus. It uses a Log Structured Database Engine for storage, is written entirely in C++, and has a Java wrapper called RocksJava. See RocksJava Basics. RocksDB can adapt to a variety of production environments, including pure memory, Flash, hard disks or remote storage. Where RocksDB cannot automatically adapt, highly flexible configuration settings are provided to allow users to tune it for them. It supports various compression algorithms and good tools for production support and debugging.
Features 特性
-为想要在本地或远程存储系统中存储几个TB数据应用服务,提供专门的设计。 -为在快速存储器上存储较小或中度大小的KV键值提供优化,例如存储在Flash闪存设备或内存中的情况。 -在多核系统中工作良好
-Designed for application servers wanting to store up to a few terabytes of data on local or remote storage systems. -Optimized for storing small to medium size key-values on fast storage – flash devices or in-memory -It works well on processors with many cores
Features Not in LevelDB 没有的一些特性
Rocksdb具备Leveldb中没有的一些特性。 在RocksDB引入了许多新的主要特性,参考链接内容 https://github.com/facebook/rocksdb/wiki/Features-Not-in-LevelDB
RocksDB introduces dozens of new major features. See the list of features not in LevelDB.
Getting Started 开始
大多数读者会想要从开发指导的“简介”和“基本操作”段落开始阅读。 获取你的初始参数设定参考“选项设定和基本调整”。 也可以参考RocksDB的FAQ。 同时为RocksDB高级用户提供了“RocksDB调整指南”。 开发指导-简介:https://github.com/facebook/rocksdb/wiki/RocksDB-Overview 开发指导-基本操作:https://github.com/facebook/rocksdb/wiki/Basic-Operations 开发指导-选项设定和基本调整:https://github.com/facebook/rocksdb/wiki/Setup-Options-and-Basic-Tuning RocksDB-FAQ:https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ RocksDB-调整指南:https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide 参见INSTALL.md中的说明来构建Rocksdb.
For a complete Table of Contents, see the sidebar to the right. Most readers will want to start with the Overview and the Basic Operations section of the Developer’s Guide. Get your initial options set-up following Setup Options and Basic Tuning. Also check RocksDB FAQ. There is also a RocksDB Tuning Guide for advanced RocksDB users. Check INSTALL.md for instructions on how to build Rocksdb.
Releases 发布
RocksDB在github上进行发布。 对于java用户,Maven构建也会进行更新; 参见RocksDB发布策略:https://github.com/facebook/rocksdb/wiki/RocksDB-Release-Methodology
RocksDB releases are done in github. For Java users, Maven Artifacts are also updated. See RocksDB Release Methodology.
Contributing to RocksDB 为RocksDB提供贡献
欢迎提交Pull Request来为RocksDB代码库贡献代码。 参见RocksDB共享指南作为指引:https://github.com/facebook/rocksdb/wiki/RocksDB-Contribution-Guide
You are welcome to send pull requests to contribute to RocksDB code base! Check RocksDB-Contribution-Guide for guideline.
Troubleshooting and asking for help 问题定位和寻求帮助
参照RocksDB的问题定位指南作为指引: https://github.com/facebook/rocksdb/wiki/RocksDB-Troubleshooting-Guide
Follow RocksDB Troubleshooting Guide for the guidelines.
Blog 博客
查看博客在http://rocksdb.org/blog/
Check out our blog at rocksdb.org/blog
Project History 项目历史
RocksDB的历史http://rocksdb.blogspot.com/2013/11/the-history-of-rocksdb.html 内幕信息:构建与开源RocksDB https://www.facebook.com/notes/10158791582997200/
The History of RocksDB Under the Hood: Building and open-sourcing RocksDB.
Links 链接
Examples 例子https://github.com/facebook/rocksdb/tree/main/examples
Official Blog 官方博客http://rocksdb.org/blog/
Stack Overflow网站上RocksDB专题:https://stackoverflow.com/questions/tagged/rocksdb
Talks 演讲 https://github.com/facebook/rocksdb/wiki/Talks
Contact 联络簿
RocksDB Google Group RocksDB谷歌群组 https://groups.google.com/forum/#!forum/rocksdb
RocksDB Facebook Group RocksDB脸书群组 https://www.facebook.com/groups/rocksdb.dev/
RocksDB Github Issues RocksDB在Github上问题 https://github.com/facebook/rocksdb/issues
Asking For Help 寻求帮助 https://github.com/facebook/rocksdb/wiki/RocksDB-Troubleshooting-Guide#asking-for-help
我们仅仅使用github issue来报告错误,并使用RocksDB谷歌群组或脸书群主来跟踪其它问题; 但对用户而言,是否是issue错误通常是不确定的,使用哪种方式由你自己尽量判断即可。
We use github issues only for bug reports, and use RocksDB’s Google Group or Facebook Group for other issues. It is not always clear to users whether it is RocksDB bug or not. Pick one using your best judgement.
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
|