fbpx
Wikipedia

LevelDB

LevelDB is an open-source on-disk key-value store written by Google fellows Jeffrey Dean and Sanjay Ghemawat.[2][3] Inspired by Bigtable,[4] LevelDB source code is hosted on GitHub under the New BSD License and has been ported to a variety of Unix-based systems, macOS, Windows, and Android.[5]

LevelDB
Developer(s)Jeffrey Dean, Sanjay Ghemawat, Google Inc.
Stable release
1.23[1]  / 23 February 2021; 3 years ago (23 February 2021)
Repository
  • github.com/google/leveldb
Written inC++
Size350 kB (binary size)
TypeDatabase library
LicenseNew BSD License
Websitegithub.com/google/leveldb 

Features edit

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 is not an SQL database. Like other NoSQL and dbm stores, it does not have a relational data model and it does not support SQL queries. Also, it has no support for indexes. Applications use LevelDB as a library, as it does not provide a server or command-line interface.

MariaDB 10.0 comes with a storage engine which allows users to query LevelDB tables from MariaDB.[6]

History edit

LevelDB is based on concepts from Google's Bigtable database system. The table implementation for the Bigtable system was developed starting in about 2004, and is based on a different Google internal code base than the LevelDB code. That code base relies on a number of Google code libraries that are not themselves open sourced, so directly open sourcing that code would have been difficult. Jeff Dean and Sanjay Ghemawat wanted to create a system resembling the Bigtable tablet stack that had minimal dependencies and would be suitable for open sourcing, and also would be suitable for use in Chrome for the IndexedDB implementation. They wrote LevelDB starting in early 2011, with the same general design as the Bigtable tablet stack, but not sharing any of the code.[7]

Usage edit

LevelDB is used as the backend database for Google Chrome's IndexedDB and is one of the supported backends for Riak.[8] Additionally, Bitcoin Core and go-ethereum store the blockchain metadata using a LevelDB database.[9] Minecraft Bedrock Edition uses a modified version for chunk and entity data storage.[10] Autodesk AutoCAD 2016 also uses LevelDB.

Performance edit

Google has provided benchmarks comparing LevelDB's performance to SQLite and Kyoto Cabinet in different scenarios.[11] LevelDB outperforms both SQLite and Kyoto Cabinet in write operations and sequential-order read operations. LevelDB also excels at batch writes, but is slower than SQLite when dealing with large values. The currently published benchmarks were updated after SQLite configuration mistakes were noted in an earlier version of the results.[12] Updated benchmarks[13] show that LevelDB also outperforms Berkeley DB, but these tests also show that OpenLDAP LightningDB is much faster (~10 times in some scenarios) in read operations and some write types (e.g. batch and synchronous writes, see the link above), and is almost equal in the rest of the test.

All the above benchmarks date back from 2011 to 2014, and may only be of historical significance as SQLite, for instance, became significantly more efficient.[14]

Bugs and reliability edit

LevelDB has a history of database corruption bugs.[15][16][17][18][19][20] A study from 2014 has found that, on non-checksummed file systems, the database could become corrupted after a crash or power failure.[21]

See also edit

References edit

  1. ^ "Release 1.23". 23 February 2021. Retrieved 13 March 2021.
  2. ^ "Google Research Scientists and Engineers: Jeffrey Dean". Google, Inc.
  3. ^ "Research Scientists and Engineers: Sanjay Ghemawat". Google, Inc.
  4. ^ . ReadWriteWeb. July 30, 2011. Archived from the original on August 16, 2011. Retrieved July 30, 2011.
  5. ^ "Google Open Source Blog: LevelDB: A Fast Persistent Key-Value Store". Google, Inc.
  6. ^ LevelDB storage engine
  7. ^ Jeff Dean. "LevelDB mailing list: "Current Status of LevelDB"".
  8. ^ LevelDB. Docs.basho.com. Retrieved on 2013-09-18.
  9. ^ Andreas M. Antonopoulos. "Chapter 7. The Blockchain". Retrieved 8 January 2015.
  10. ^ "Bedrock Edition level format". Minecraft Wiki. Retrieved 24 September 2023.
  11. ^ . Google, Inc. Archived from the original on 2011-08-20.
  12. ^ "LevelDB Benchmark discussion".
  13. ^ Database Microbenchmarks 2014-08-09 at the Wayback Machine, Symas Corp., 2012-09. Retrieved 22 October 2016
  14. ^ "Measuring and Reducing CPU Usage in SQLite".
  15. ^ Repairing LevelDB
  16. ^ Issues · google/leveldb · GitHub
  17. ^ Unrecoverable corruption in Chromium
  18. ^ Corruption in syncthing
  19. ^ Corruption after power loss
  20. ^ Corruption in Ethereum
  21. ^ All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications. 2014. pp. 433–448. ISBN 9781931971164.

External links edit

  • Official website

leveldb, open, source, disk, value, store, written, google, fellows, jeffrey, dean, sanjay, ghemawat, inspired, bigtable, source, code, hosted, github, under, license, been, ported, variety, unix, based, systems, macos, windows, android, developer, jeffrey, de. LevelDB is an open source on disk key value store written by Google fellows Jeffrey Dean and Sanjay Ghemawat 2 3 Inspired by Bigtable 4 LevelDB source code is hosted on GitHub under the New BSD License and has been ported to a variety of Unix based systems macOS Windows and Android 5 LevelDBDeveloper s Jeffrey Dean Sanjay Ghemawat Google Inc Stable release1 23 1 23 February 2021 3 years ago 23 February 2021 Repositorygithub wbr com wbr google wbr leveldbWritten inC Size350 kB binary size TypeDatabase libraryLicenseNew BSD LicenseWebsitegithub wbr com wbr google wbr leveldb Contents 1 Features 2 History 3 Usage 4 Performance 5 Bugs and reliability 6 See also 7 References 8 External linksFeatures editLevelDB 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 is not an SQL database Like other NoSQL and dbm stores it does not have a relational data model and it does not support SQL queries Also it has no support for indexes Applications use LevelDB as a library as it does not provide a server or command line interface MariaDB 10 0 comes with a storage engine which allows users to query LevelDB tables from MariaDB 6 History editLevelDB is based on concepts from Google s Bigtable database system The table implementation for the Bigtable system was developed starting in about 2004 and is based on a different Google internal code base than the LevelDB code That code base relies on a number of Google code libraries that are not themselves open sourced so directly open sourcing that code would have been difficult Jeff Dean and Sanjay Ghemawat wanted to create a system resembling the Bigtable tablet stack that had minimal dependencies and would be suitable for open sourcing and also would be suitable for use in Chrome for the IndexedDB implementation They wrote LevelDB starting in early 2011 with the same general design as the Bigtable tablet stack but not sharing any of the code 7 Usage editLevelDB is used as the backend database for Google Chrome s IndexedDB and is one of the supported backends for Riak 8 Additionally Bitcoin Core and go ethereum store the blockchain metadata using a LevelDB database 9 Minecraft Bedrock Edition uses a modified version for chunk and entity data storage 10 Autodesk AutoCAD 2016 also uses LevelDB Performance editGoogle has provided benchmarks comparing LevelDB s performance to SQLite and Kyoto Cabinet in different scenarios 11 LevelDB outperforms both SQLite and Kyoto Cabinet in write operations and sequential order read operations LevelDB also excels at batch writes but is slower than SQLite when dealing with large values The currently published benchmarks were updated after SQLite configuration mistakes were noted in an earlier version of the results 12 Updated benchmarks 13 show that LevelDB also outperforms Berkeley DB but these tests also show that OpenLDAP LightningDB is much faster 10 times in some scenarios in read operations and some write types e g batch and synchronous writes see the link above and is almost equal in the rest of the test All the above benchmarks date back from 2011 to 2014 and may only be of historical significance as SQLite for instance became significantly more efficient 14 Bugs and reliability editLevelDB has a history of database corruption bugs 15 16 17 18 19 20 A study from 2014 has found that on non checksummed file systems the database could become corrupted after a crash or power failure 21 See also edit nbsp Free and open source software portal Lightning Memory Mapped Database RocksDBReferences edit Release 1 23 23 February 2021 Retrieved 13 March 2021 Google Research Scientists and Engineers Jeffrey Dean Google Inc Research Scientists and Engineers Sanjay Ghemawat Google Inc Google Open Sources NoSQL Database Called LevelDB ReadWriteWeb July 30 2011 Archived from the original on August 16 2011 Retrieved July 30 2011 Google Open Source Blog LevelDB A Fast Persistent Key Value Store Google Inc LevelDB storage engine Jeff Dean LevelDB mailing list Current Status of LevelDB LevelDB Docs basho com Retrieved on 2013 09 18 Andreas M Antonopoulos Chapter 7 The Blockchain Retrieved 8 January 2015 Bedrock Edition level format Minecraft Wiki Retrieved 24 September 2023 LevelDB Benchmarks Google Inc Archived from the original on 2011 08 20 LevelDB Benchmark discussion Database Microbenchmarks Archived 2014 08 09 at the Wayback Machine Symas Corp 2012 09 Retrieved 22 October 2016 Measuring and Reducing CPU Usage in SQLite Repairing LevelDB Issues google leveldb GitHub Unrecoverable corruption in Chromium Corruption in syncthing Corruption after power loss Corruption in Ethereum All File Systems Are Not Created Equal On the Complexity of Crafting Crash Consistent Applications 2014 pp 433 448 ISBN 9781931971164 External links editOfficial website Retrieved from https en wikipedia org w index php title LevelDB amp oldid 1195165222, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.