Lightning Memory-Mapped Database: Difference between revisions

Content deleted Content added
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation - <nowiki> tags)
I rephrased a poorly worded and lengthy sentence.
Line 29:
 
== Technical description ==
Internally LMDB uses [[B+ tree]] data structures. The efficiency of its design and small footprint had the unintended side-effect of providing good write [[#Performance|performance]] as well. LMDB has an [[Application programming interface|API]] similar to [[Berkeley DB]] and [[DBM (computing)|dbm]]. LMDB treats the computer's memory as a single address space, shared across multiple processes or threads using [[Shared memory (interprocess communication)|shared memory]] with [[copy-on-write]] semantics (known historically as a [[single-level store]]). Due to mostMost former modern computing architectures havinghad a 32-bit memory address space limitations, which imposesimposing a hard limit of 4&nbsp; GB on the size of any database using such techniques, the effectiveness of the technique ofthat directly mapping a databasemapped into a [[single-level store]] was strictly limited. However, today's 64-bit processors now mostly implement 48-bit address spaces, giving access to 47-bit addresses or 128&nbsp;TB of database size,<ref>{{cite conference | url=http://ldapcon.org/2011/downloads/chu-paper.pdf | title=MDB: A Memory-Mapped Database and Backend for OpenLDAP | last=Chu | first=Howard | conference=LDAPCon | conference-url=http://ldapcon.org/2011/ | year=2011}}.</ref> making databases using shared memory useful once again in real-world applications.
 
Specific noteworthy technical features of LMDB are: