libmdbx 0.11.7(MDBX) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ณ ์ฑ๋ฅ ์ํ ์๋ฒ ๋๋ ํค-๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌํ๊ณผ ํจ๊ป ์ถ์๋์์ต๋๋ค. libmdbx ์ฝ๋๋ OpenLDAP Public License์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ๋ชจ๋ ํ์ฌ ์ด์ ์ฒด์ ๋ฐ ์ํคํ ์ฒ๋ ๋ฌผ๋ก Russian Elbrus 2000์ด ์ง์๋ฉ๋๋ค.
์ด ๋ฆด๋ฆฌ์ค๋ GitHub ๊ด๋ฆฌ์๊ฐ ๊ฒฝ๊ณ ๋ ์ค๋ช ์์ด 15๋ 2022์ 404์ผ์ ๋ค๋ฅธ ์ฌ๋ฌ ํ๋ก์ ํธ์ ํจ๊ป libmdbx๋ฅผ ์ ๊ฑฐํ ํ ํ๋ก์ ํธ๋ฅผ GitFlic ์๋น์ค๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ๊ฒ์ผ๋ก ์ ๋ช ํฉ๋๋ค. ๋์์ ์ถ๋ฝํ ํ์ฌ์ ๊ด๋ จ๋ ๋ง์ ๊ฐ๋ฐ์์ ๋ํ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ์ต๋๋ค. ๋ฏธ๊ตญ์ ์ ์ฌํ์. ์ฌ์ฉ์์ ๊ด์ ์์ ๋ณผ ๋ ํ๋ก์ ํธ์ ๋ชจ๋ ํ์ด์ง, ์ ์ฅ์ ๋ฐ ํฌํฌ๊ฐ ๊ฐ์๊ธฐ "XNUMX" ํ์ด์ง๋ก ๋ฐ๋์ด ํต์ ํ ์ ์๊ณ ์ด์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๋ถํํ๋ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์ ๊ฐ ์์ค๋์์ผ๋ฉฐ ์์ธํ ๋ต๋ณ์ด ํฌํจ๋ ๋ง์ ์ง๋ฌธ๊ณผ ๋ง์ ํ ๋ก ์ด ์์์ต๋๋ค. ์ด ์ ๋ณด์ ์์ค์ GitHub ๊ด๋ฆฌ๊ฐ ํ๋ก์ ํธ์ ๊ฐํ ์ ์ผํ ๊ฐ๊ด์ ์ธ ์์์ ๋๋ค. ํ ๋ก ์ ์ผ๋ถ ์ฌ๋ณธ์ archive.org ์์นด์ด๋ธ์์ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด์ฅ๋ CI ์คํฌ๋ฆฝํธ ๋ฐ ์ธํ๋ผ(OpenSource ํ๋ก์ ํธ์ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅ)์ ์์ค๋ก ์ธํด ์ฝ๊ฐ์ ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ์์ , ํตํฉ ๋ฐ ์ ๊ฑฐํด์ผ ํ์ต๋๋ค. ์ด์ CI๋ ๋ชจ๋ BSD ๋ฐ Solaris ๋ณํ์ ๋ํ ๋น๋ ๋ฐ ํ ์คํธ ์คํ์ ์ ์ธํ๊ณ ๊ฑฐ์ ๋์ผํ ์ ๋๋ก ๋ณต์๋์์ต๋๋ค. ๋๋๊ฒ๋ GitHub์ ์กฐ์น ํ์ ์ง๋ถ์ ํ์์ฑ์ ์๊ธฐ์ํค๊ณ ๋์ ํ๊ฐํ๋ ค๋ ์๋๋ฅผ ์ ์ธํ๊ณ ๋ ์ด๋ ํ ์ค๋ช ์ด๋ ์๋ฆผ๋ ์์ ๋์ง ์์์ต๋๋ค.
libmdbx v0.11.3 ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ง์ง๋ง ๋ด์ค ์ดํ GitHub ์์ ์์ ๋ณต๊ตฌํ๋ ๊ฒ ์ธ์๋ ๋ค์ ๊ฐ์ ์ฌํญ ๋ฐ ์์ ์ฌํญ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
- Linux ์ปค๋์ ๊ฒฐํฉ๋ ํ์ด์ง ๋ฐ ๋ฒํผ ์บ์์์ ๊ฐ์ง๋ ๋น์ผ๊ด์ฑ ํจ๊ณผ/๊ฒฐํจ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ถ๊ฐํ์ต๋๋ค. ํ์ด์ง ์บ์์ ๋ฒํผ ์บ์๊ฐ ์์ ํ ํตํฉ๋ ์์คํ
์์ ์ปค๋์ด ์ด๋ฏธ ๋ฉ๋ชจ๋ฆฌ ๋งคํ๋ ํ์ผ์ ์ธ ๋ ๋ ๊ฐ์ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ญ๋นํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ก ์ค์ธ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ๊ฐ ์์ง ๋์คํฌ์ ๊ธฐ๋ก๋์ง ์์ ๊ฒฝ์ฐ์๋ write() ์์คํ
ํธ์ถ์ด ์๋ฃ๋๊ธฐ ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ ํตํด ํ์๋ฉ๋๋ค.
์ ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ๋์์ ํฉ๋ฆฌ์ ์ด์ง ์์ต๋๋ค. ์ง์ฐ๋ ๋ณํฉ์ ์ฌ์ฉํ๋ฉด ์ฌ์ ํ ํ์ด์ง ๋ชฉ๋ก์ ๋ํ ์ ๊ธ์ ์ก๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๊ฑฐ๋ PTE๋ฅผ ์กฐ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋ฌด์ธ์ ์ผ๊ด์ฑ ๊ท์น์ ํตํฉ ๋ฒํผ ์บ์๊ฐ SRV1989์ ๋ฑ์ฅํ 4๋ ๋ถํฐ ์ ์ฉ๋์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ libmdbx ํ๋ก๋์ ์๋๋ฆฌ์ค์์ ์ด์ํ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๋ฐ ๋ง์ ์์ ์ด ํ์ํ์ต๋๋ค. ๋จผ์ ๋ฌธ์ ๋ฅผ ์ฌํํ ๋ค์ ๊ฐ์ค์ ๊ฒ์ฆํ๊ณ ๊ฐ์ ์ฌํญ์ ํ์ธํฉ๋๋ค.
์ด์ ์ฐ๋ฆฌ๋ ์ฌ์ ์๋๋ฆฌ์ค์ ๋ณต์ก์ฑ๊ณผ ํน์์ฑ์๋ ๋ถ๊ตฌํ๊ณ ๋ฌธ์ ๊ฐ ์์ ์ ์ผ๋ก ์๋ณ๋๊ณ ํ์งํ๋์์ผ๋ฉฐ ์์ ์ ์ผ๋ก ์ ๊ฑฐ๋์๋ค๊ณ ์์ ์๊ฒ ๋งํ ์ ์์ต๋๋ค. ๋ํ ๋ฐ์ดํจ์ค ๋ฉ์ปค๋์ฆ์ ์์ ์ Erigon(Ethereum)์ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ ์ํด ํ์ธ๋์์ผ๋ฉฐ, ๊ทธ์ ๊ฒฝ์ฐ ๋๋ฒ๊ทธ ๋น๋์์ ์ถ๊ฐ ์ด์ค์ ๊ฒ์ฌ๋ก ์ธํด ๋ณดํธ๊ฐ ํ๊ท๋ก ํธ๋ฆฌ๊ฑฐ๋์์ต๋๋ค.
์์ ์ค์ธ ํ๋ก์ ํธ์์ libmdbx๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉํ๋ค๋ ๋งฅ๋ฝ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ์๋์ ๋ณด์ฅํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ฉฐ "์ด๊ฒ์ด ๋ฒ๊ทธ์ธ์ง ๊ธฐ๋ฅ์ธ์ง"์ ๊ทธ๋ฌํ ์ผ๊ด์ฑ์ด ์ ๋ขฐํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ ํ๋ ๊ฒ์ด ์๋๋ผ๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค. , ํนํ Linux ์ปค๋ ๋ด์์ ๋ถ์ผ์น์ ์์ธ์ ๊ฒ์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ๊ธฐ์๋ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ์ค ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
- API์ mdbx_copy ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ์ผ ์์คํ ์ผ๋ก ์์ถํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํซ ๋ณต์ฌํ ๋ EXDEV(๊ต์ฐจ ์ฅ์น ๋งํฌ) ์ค๋ฅ ํ๊ท๋ฅผ ์์ ํ์ต๋๋ค.
- Kris Zyp๋ Deno์์ libmdbx์ ๋ํ ์ง์์ ๊ตฌํํ์ต๋๋ค. Kai Wetlesen์ Fedora์ฉ RPM์ ํจํค์งํ์ต๋๋ค. David Bouyssiรฉ๋ Scala์ฉ ๋ฐ์ธ๋ฉ์ ๊ตฌํํ์ต๋๋ค.
- ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋์ฉ๋ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ๋ MDBX_opt_rp_augment_limit ์ต์ ์ผ๋ก ์ค์ ๋ ๊ฐ์ ์ฒ๋ฆฌ๊ฐ ์์ ๋์์ต๋๋ค. ์ด์ ์๋ ๋ฒ๊ทธ๋ก ์ธํด ๋ถํ์ํ ์์ ์ด ์ํ๋ ์ ์์์ผ๋ฉฐ, ์ด๋ ๋๋๋ก ์ด๋๋ฆฌ์ ๊ตฌํ(Erigon/Akula/Silkworm) ๋ฐ ๋ฐ์ด๋ธ์ค ์ฒด์ธ ํ๋ก์ ํธ์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
- C++ API๋ฅผ ํฌํจํ์ฌ ๋ง์ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค. ํฌ๊ทํ๊ณ ์ด๊ตญ์ ์ธ ๊ตฌ์ฑ์์ ๋ง์ ๋น๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. ๋ชจ๋ ์ค์ํ ๊ฐ์ ์ฌํญ์ ์ ์ฒด ๋ชฉ๋ก์ ChangeLog์์ ํ์ธํ ์ ์์ต๋๋ค.
- 185๊ฐ ํ์ผ์ ์ด 89๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋์์ผ๋ฉฐ ์ฝ 3300์ค์ด ์ถ๊ฐ๋์๊ณ ์ฝ 4100์ค์ด ์ญ์ ๋์์ต๋๋ค. GitHub ๋ฐ ์ข ์ ์๋น์ค์ ๊ด๋ จ๋ ์ด๋ฏธ ์ธ๋ชจ ์๋ ๊ธฐ์ ํ์ผ์ด ์ ๊ฑฐ๋์ด ๋ ๋ง์ด ์ ๊ฑฐ๋์์ต๋๋ค.
์ญ์ฌ์ ์ผ๋ก libmdbx๋ LMDB DBMS๋ฅผ ์ฌ์ธต์ ์ผ๋ก ์ฌ์ค๊ณํ์ผ๋ฉฐ ์์ ์ฑ, ๊ธฐ๋ฅ ์ธํธ ๋ฐ ์ฑ๋ฅ ์ธก๋ฉด์์ ์ด์ ์ ํ์ ๋ฅ๊ฐํฉ๋๋ค. LMDB์ ๋น๊ตํ์ฌ libmdbx๋ ์ฝ๋ ํ์ง, API ์์ ์ฑ, ํ ์คํธ ๋ฐ ์๋ํ๋ ๊ฒ์ฌ์ ์ค์ ์ ๋ก๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฌํ๋ ์ ํธ๋ฆฌํฐ๋ ์ผ๋ถ ๋ณต๊ตฌ ์ต์ ๊ณผ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.
๊ธฐ์ ์ ์ผ๋ก libmdbx๋ ACID, ์๊ฒฉํ ๋ณ๊ฒฝ ์ง๋ ฌํ ๋ฐ CPU ์ฝ์ด์์ ์ ํ ํ์ฅ์ ํตํ ๋น์ฐจ๋จ ์ฝ๊ธฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ ์์ถ, ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํฌ๊ธฐ ๊ด๋ฆฌ ๋ฐ ๋ฒ์ ์ฟผ๋ฆฌ ์ถ์ ์ด ์ง์๋ฉ๋๋ค. 2016๋ ๋ถํฐ ์ด ํ๋ก์ ํธ๋ Positive Technologies์ ์๊ธ ์ง์์ ๋ฐ์ 2017๋ ๋ถํฐ ์ ํ์ ์ฌ์ฉ๋์์ต๋๋ค.
libmdbx๋ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala์ ๋ํ ๋งค๋์ ์ง์ ๋ฐ์ธ๋ฉ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐ๋ C++ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถ์ฒ : opennet.ru