LevelDB is an open-source disk-in-store key value written by Google fellows Jeffrey Dean and Sanjay Ghemawat. Inspired by Bigtable, LevelDB is hosted on GitHub under the New BSD License and has been ported to various Unix-based systems, Mac OS X, Windows, and Android.
Video LevelDB
Features
LevelDB stores keys and values ââin arbitrary byte arrays, and data is sorted by key. Supports batching of writing, forward and backward iteration, and data compression through Google's sharp compression library.
LevelDB is not an SQL database. Like NoSQL and other Dbm stores, it does not have a relational data model and does not support SQL queries. Also, it does not have support for the index. The application uses LevelDB as a library, as it does not provide server interfaces or command line.
MariaDB 10.0 comes with a storage engine that allows users to query LevelDB tables from MariaDB.
Maps LevelDB
History
LevelDB is based on the concept of Google's BigTable database system. The table implementation for Bigtable systems was developed around 2004, and is based on a different Google internal code base than the LevelDB code. The code base depends on a number of Google code libraries that are not open source, so just opening the source code will be difficult. Jeff Dean and Sanjay Ghemawat want to create a system that resembles a stack of Bigtable tablets that have minimal dependency and will be suitable for open source, and will also be suitable for use in Chrome for IndexedDB implementations. They wrote LevelDB starting early in 2011, with the same general design as the Bigtable tablet stack, but did not share any code.
Usage
LevelDB is used as the backend database for Google Chrome's IndexedDB and is one of the backend supported for Ripples. In addition, Bitcoin Core stores blockchain metadata using a LevelDB database. Minecraft: Pocket Edition uses a modified version for chunk and entity data storage. Autodesk AutoCAD 2016 also uses LevelDB.
Performance
Google has provided benchmarks that compare LevelDB performance with SQLite and Kyoto Cabinets in different scenarios. LevelDB exceeds both SQLite and Kyoto Cabinets in write operations and sequential read operations. LevelDB is also superior in writing batches, but slower than SQLite when dealing with great value. The published benchmark is currently updated after a SQLite configuration error is recorded in an earlier version of the results. The updated benchmark shows that LevelDB also outperforms the Berkeley DB, but this test also shows that OpenLDAP LightningDB is much faster (~ 10 times in some scenarios) in read operations and some types of writing (eg batch and sync write, see link above) and almost the same in the rest of the test.
Bug and reliability
LevelDB is widely known for being unreliable and its managed databases are vulnerable to corruption. Previous academic studies of LevelDB have found that, under some file systems, the data stored in that version of LevelDB may become inconsistent after a system crash or power failure. LevelDB corruption is so common that corruption detection should be built into applications that use it.
See also
- RocksDB
References
External links
- Official website
- Unofficial community-based website
- Pure java implementation
Source of the article : Wikipedia