ArangoDB 3.4 Default Storage Engine - RocksDB
ArangoDB 3.4 comes with the default storage engine based on RocksDB (named rocksdb
).
The rocksdb
storage engine will be used by default when no storage engine is explicitly selected during installation or startup.
The rocksdb
engine is optimized for data-sets that are bigger than main memory. The engine will keep a hot set of the data in main memory, but will happily load additional data from disk should it not be in the cached hot set. The engine will write all index values to disk too, so there is no need for it to rebuild indexes when first accessing a collection after a restart. This makes the engine’s startup very fast. After startup, the engine will gradually fill its caches during operations, therefore its performance may increase over time.
New to ArangoDB? Take Free ArangoDB Graph course for freshers.
Upgrading from any previous ArangoDB version with rocksdb
should work seamlessly. We introduced an improved version of our geo-index, conversion existing geo-indexes will be performed during the upgrade procedure. If you do not use any geo-indexes upgrading should take almost no time at all. ArangoDB 3.4 also supports a new optimized on-disk storage format. This format will only be used if you start with a fresh database directory. It is not required to do so to use 3.4, but to take advantage of the new storage format you will need to export and re-import your data.
When installing ArangoDB, The storage engine must be selected for the whole server or cluster. It is not possible to mix different storage engines in one installation. The transaction handling and write-ahead-log format in the individual engines is very different and therefore cannot be mixed. It is possible to change the storage engine later on, but this requires some manual steps.
For more information about rocksdb
and performance tuning check out our documentation:
ArangoDB Server RocksDB Options
Data Modeling and Operational Factors