# LMDB
# What is LMDB
LMDB ๋ Sysmas Lightning Memory-mapped DataBase ์ค๋ง์ด๋ฉฐ Synas OpenLDAP Project๋ฅผ ์ํด ๊ฐ๋ฐ ํ ๋งค์ฐ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ๊ธ ํจ์จ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
# ๊ธฐ๋ฅ
์ ๋ ฌ๋ ๋งต ์ธํฐํ์ด์ค โ ๋ฒ์ ๊ฒ์ ์ง์
MVCC๋ฅผ ์ฌ์ฉํ ํธ๋์ญ์ ๊ธฐ๋ฅ, ACID ๊ฐ๋ ๊ฐ๋ฅ
์ฝ๊ธฐ/์ฐ๊ธฐ ํธ๋์ญ์ โ ์ฝ๊ธฐ๋ ์ฐ๊ธฐ๋ฅผ ๋ธ๋กํ์ง ์๊ณ , ์ฐ๊ธฐ๋ ์ฝ๊ธฐ๋ฅผ ๋ธ๋กํ์ง ์๋๋ค
Fully serialized ์ฐ๊ธฐ ๊ธฐ๋ฅ โ ์ฐ๊ธฐ๋ ๊ต์ฐฉ์ํ ๋ฐ์ํ์ง ์์
Extremely cheap read(๋งค์ฐ ์ ๋ ดํ) ์ฝ๊ธฐ ํธ๋์ญ์ โ ๋ธ๋ฝ์ด ๋๋ ํธ์ถ์ด๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ด ์คํ ๊ฐ๋ฅ
๋ค์ค ์ค๋ ๋, ๋ค์ค ํ๋ก์ธ์ค ๋์ ์ง์
๋ฉ๋ชจ๋ฆฌ๋งคํ์ผ๋ก, ๊ฒ์์ด๋ ๋ฐ๋ณต ์์ ์ Zero-Copy ๊ฐ๋ฅ
์ ์ง๋ณด์ ํ์ ์์
์ถฉ๋ ๋ฐฉ์ง โ No ๋ก๊ทธ, No ์ถฉ๋ ๋ณต๊ตฌ ํ๋ก์์ ธ
์์ฉ ํ๋ก๊ทธ๋จ ์์ค ์บ์ฑ ๋ถํ์ โ LMDB๋ ์ด์ ์ฒด์ ์ ๋ฒํผ ์บ์๋ฅผ ์์ ํ ํ์ฉํจ
32K ํฌ๊ธฐ์ Object ํ์ผ, C์ฝ๋๋ก 6์ฒ๋ผ์ธ(KLOC)
# Reference
# What is
- https://www.symas.com/lmdb
- https://lmdb.readthedocs.io/en/release/#
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=tosemfaos&logNo=220919092977
# Download
- https://git.openldap.org/openldap/openldap/-/tree/mdb.master/libraries/liblmdb
- https://github.com/LMDB/lmdb/tree/mdb.master/libraries/liblmdb
# Benchmarks
- https://www.symas.com/symas-lmdb-tech-info#Benchmarks
- https://github.com/lmdbjava/benchmarks/blob/master/results/20160710/README.md
- https://github.com/LMDB/dbbench
- https://github.com/ktmud/multilevel-bench#results
- https://www.gushiciku.cn/pl/2cBB