RocksDB vs IndexedDB: What are the differences?
RocksDB: Embeddable persistent key-value store for fast storage, developed and maintained by Facebook Database Engineering Team. RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation; IndexedDB: A low-level API for client-side storage of significant amounts of structured data. This API uses indexes to enable high-performance searches of this data. While Web Storage is useful for storing smaller amounts of data, it is less useful for storing larger amounts of structured data.
RocksDB and IndexedDB can be primarily classified as "Databases" tools.
Some of the features offered by RocksDB are:
- Designed for application servers wanting to store up to a few terabytes of data on locally attached Flash drives or in RAM
- Optimized for storing small to medium size key-values on fast storage -- flash devices or in-memory
- Scales linearly with number of CPUs so that it works well on ARM processors
On the other hand, IndexedDB provides the following key features:
- Stores key-pair values
- It is not a relational database
- IndexedDB API is mostly asynchronous
RocksDB is an open source tool with 15.1K GitHub stars and 3.34K GitHub forks. Here's a link to RocksDB's open source repository on GitHub.