Difference between revisions of "RocksDB"

From wikieduonline
Jump to navigation Jump to search
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Draft}}
+
[[wikipedia:RocksDB]] is a high performance embedded database/library for [[key-value]] [[database]] released in [[2012]] and written in [[C++]]. Database has to be open by a [[single]] [[process]] for writting and multiprocessor for reading.<ref>https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ</ref>. A single DB can be configured to store its data in multiple directories.
 +
It is based on a log-structured merge-tree ([[LSM]] tree) data structure
  
[[wikipedia:RocksDB]] is a high performance embedded database/library for [[key-value]] [[database]]. Database has to be open by a [[single]] process<ref>https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ</code>
+
RocksDB execute periodic compactions which reads from one or more <code>[[SST file|SST]]</code> files, perform merge-sort like operation, generate new SST files, and delete the old SST files it inputs.
 +
 
 +
RocksDB databases include support for field compression using [[Zstandard]]
 +
 
 +
Maximum recommended sizes for [[key]] and value are 8MB and 3GB respectively.
  
 
== Installation ==
 
== Installation ==
 
* [[macOS]]: <code>[[brew]] install rocksdb</code>
 
* [[macOS]]: <code>[[brew]] install rocksdb</code>
* Binaries: rocksdb_sanity_test rocksdb_stress rocksdb_undump rocksdb_sst_dump rocksdb_ldb rocksdb_repl_stress rocksdb_dump rocksdb_write_stress
+
* Linux: <code>mariadb-plugin-[[rocksdb]]</code> package
 +
* Binaries:  
 +
** <code>[[rocksdb_sanity_test]]</code>
 +
** <code>[[rocksdb_stress]]</code>
 +
** <code>[[rocksdb_undump]]</code>
 +
** <code>[[rocksdb_sst_dump]]</code>
 +
** <code>[[rocksdb_ldb]]</code>
 +
** <code>[[rocksdb_repl_stress]]</code>
 +
** <code>[[rocksdb_dump]]</code>
 +
** <code>[[rocksdb_write_stress]]</code>
 +
 
 +
 
 +
Related binaries: <code>sst_dump</code> and <code>SstFileReader</code>.
 +
 
 +
== Activities ==
 +
# Read RocksDB source: https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ
 +
# Review [[MyRocks]]: [[MySQL]]/[[MariaDB]] storage engine that integrates with RocksDB.
 +
 
 +
== Related ==
 +
* [[Parity]]
 +
* [[LevelDB]]
 +
* [[PebbleDB]]
 +
[[agd start]] options: --db_backend string                              database backend: [[goleveldb]] | [[cleveldb]] | [[boltdb]] | rocksdb | [[badgerdb]] (default "goleveldb")
 +
[[.sst]]
  
 
==See also==
 
==See also==
 
* {{key-value databases}}
 
* {{key-value databases}}
 +
* {{DBs}}
 +
* [[SSD]]
 
* Homepage: https://rocksdb.org/
 
* Homepage: https://rocksdb.org/
  
  
 
[[Category:Databases]]
 
[[Category:Databases]]

Latest revision as of 16:41, 18 August 2024

wikipedia:RocksDB is a high performance embedded database/library for key-value database released in 2012 and written in C++. Database has to be open by a single process for writting and multiprocessor for reading.[1]. A single DB can be configured to store its data in multiple directories. It is based on a log-structured merge-tree (LSM tree) data structure

RocksDB execute periodic compactions which reads from one or more SST files, perform merge-sort like operation, generate new SST files, and delete the old SST files it inputs.

RocksDB databases include support for field compression using Zstandard

Maximum recommended sizes for key and value are 8MB and 3GB respectively.

Installation[edit]


Related binaries: sst_dump and SstFileReader.

Activities[edit]

  1. Read RocksDB source: https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ
  2. Review MyRocks: MySQL/MariaDB storage engine that integrates with RocksDB.

Related[edit]

agd start options: --db_backend string                               database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb (default "goleveldb")
.sst

See also[edit]

  • https://github.com/facebook/rocksdb/wiki/RocksDB-FAQ
  • Advertising: