LevelDB is an open source, fast, key-value storage library written by Google that provides an ordered mapping from string keys to string values. Leveldb is based on LSM (Log-Structured Merge-Tree) and uses SSTable and MemTable for the database implementation.
LevelDB stores keys and values in arbitrary byte arrays, and data is sorted by key. It supports batching writes, forward and backward iteration, and compression of the data via Google’s Snappy compression library.
LevelDB uses Google Snappy data compression by default. This means more CPU usage but less disk space. LevelDB is a C++ library that can be used in many contexts. For example, LevelDB may be used by a web browser to store a cache of recently accessed web pages, or by an operating system to store the list of installed packages and package dependencies, or by an application to store user preference settings.
Key Features
- Keys and values are arbitrary byte arrays.
- Data is stored sorted by key.
- Callers can provide a custom comparison function to override the sort order.
- The basic operations are Put(key,value), Get(key), Delete(key).
- Multiple changes can be made in one atomic batch.
- Users can create a transient snapshot to get a consistent view of data.
- Forward and backward iteration is supported over the data.
- Data is automatically compressed using the Snappy compression library.
- External activity (file system operations etc.) is relayed through a virtual interface so users can customize the operating system interactions.
Website: github.com/google/leveldb
Support:
Developer: Jeffrey Dean, Sanjay Ghemawat
License: New BSD License
LevelDB is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Key Value Stores | |
|---|---|
| Redis | In-memory data structure store |
| etcd | Distributed reliable key-value store |
| RocksDB | Persistent key-value store for flash and RAM Storage |
| Valkey | High-performance data structure server |
| Apache Cassandra | Distributed database management system |
| ScyllaDB | Real-time big data database |
| Apache Accumulo | Based on Google's BigTable design |
| ArangoDB | Native multi-model database |
| Aerospike CE | Real-time NoSQL database and key-value store |
| BadgerDB | Embeddable key-value database |
| Berkeley DB | Family of open source, embeddable databases |
| TiKV | Distributed transactional key-value database |
| LevelDB | Fast and lightweight key/value database library by Google |
| Garnet | Remote cache-store |
| KeyDB | High performance fork of Redis |
| Redict | Distributed key/value store |
| Kvrocks | Distributed key-value NoSQL database |
| Project Voldemort | Distributed data store |
| Scalaris | Distributed transactional key-value store |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.