MDBX рд▓рд╛рдпрдмреНрд░рд░реА рд╣рд╛ рдПрдХ рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рдЯрд╛ рдЖрд╣реЗ
MDBX рдЖрдгрд┐ LMDB рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреЗ рдлрд░рдХ:
- рдореВрд▓рднреВрддрдкрдгреЗ, рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛, рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рддрдкрд╛рд╕рдгреНрдпрд╛рдВрд╡рд░ рдЕрдзрд┐рдХ рд▓рдХреНрд╖ рджрд┐рд▓реЗ рдЬрд╛рддреЗ.
- рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рддрдкрд╛рд╕рдгреНрдпрд╛рдкрд╛рд╕реВрди рддреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рдСрдбрд┐рдЯрдкрд░реНрдпрдВрдд рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рд▓рдХреНрд╖рдгреАрдп рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг.
- рдСрдЯреЛ-рдХреЙрдореНрдкреЕрдХреНрдЯрд┐рдлрд┐рдХреЗрд╢рди рдЖрдгрд┐ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди.
- 32-рдмрд┐рдЯ рдЖрдгрд┐ 64-рдмрд┐рдЯ рдЕрд╕реЗрдВрдмреНрд▓реАрд╕рд╛рдареА рдПрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд╡рд░реВрдк.
- рд╢реНрд░реЗрдгреАрдиреБрд╕рд╛рд░ рдирдореБрдирд╛ рдЦрдВрдбрд╛рдВрдЪрд╛ рдЕрдВрджрд╛рдЬ (рд╢реНрд░реЗрдгреА рдХреНрд╡реЗрд░реА рдЕрдВрджрд╛рдЬ).
- рдкреЕрдирдХреЗрдХреНрд╕ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдирд┐рд╡рдбрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреГрд╖реНрда рдЖрдХрд╛рд░рд╛рдкреЗрдХреНрд╖рд╛ рджреБрдкреНрдкрдЯ рдореЛрдареНрдпрд╛ рдХреА рд╕рд╛рдареА рд╕рдорд░реНрдерди.
libmdbx рд░рд┐рд▓реАрдЬ рдЙрдореЗрджрд╡рд╛рд░ рд╣рд╛ MDBX рдЖрдгрд┐ MithrilDB рдкреНрд░рдХрд▓реНрдк рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдСрдЧрд╕реНрдЯ 2019 рдордзреНрдпреЗ рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрдгрдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, libmdbx рдиреЗ (рддрд░реНрдХрд╕рдВрдЧрдд) рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рддрд╛рдВрддреНрд░рд┐рдХ рдХрд░реНрдЬ рдХрд╛рдвреВрди рд▓рд╛рдпрдмреНрд░рд░реА рд╕реНрдерд┐рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдЦрд░рдВ рддрд░, рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЕрдВрджрд╛рдЬ рдЖрдгрд┐ рдирд┐рдпреЛрдЬрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЗрдХреНрд╖рд╛ 2-3 рдкрдЯ рдЕрдзрд┐рдХ рдирд┐рдпреБрдХреНрдд рджрд┐рд╢реЗрдиреЗ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ:
- macOS рдЖрдгрд┐ рджреНрд╡рд┐рддреАрдп-рд╕реНрддрд░реАрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. AIX рдЖрдгрд┐ HP-UX рд╕рдорд░реНрдерди рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рдЬреЛрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
- рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд░реНрддрдгреВрдХ рд╕реЕрдирд┐рдЯрд╛рдпрдЭрд░ рдЖрдгрд┐ рдЕреЕрдбреНрд░реЗрд╕ рд╕реЕрдирд┐рдЯрд╛рдпрдЭрд░ рд╡рд╛рдкрд░реВрди рдХреЛрдб рдирд┐рд░реНрдЬрдВрддреБрдХ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛, тАЬ-WpedanticтАЭ рд╕рд╣ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рд╕рд░реНрд╡ рдЪреЗрддрд╛рд╡рдгреА, рд╕рд░реНрд╡ рдХрд╡реНрд╣рд░рд┐рдЯреА рд╕реНрдЯреЕрдЯрд┐рдХ рдЕреЕрдирд╛рд▓рд╛рдпрдЭрд░ рдЗрд╢рд╛рд░реЗ рдЗ. рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реЗ.
- рдЕрдкрдбреЗрдЯ рдХрд░рд╛
API рд╡рд░реНрдгрди . - рдПрдореНрдмреЗрдбрд┐рдВрдЧ рд╕реБрд▓рднрддреЗрд╕рд╛рдареА рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдЪреЗ рд╡рд┐рд▓реАрдиреАрдХрд░рдг (рдПрдХрддреНрд░реАрдХрд░рдг).
- CMake рд╕рдорд░реНрдерди.
- рдиреЗрд╕реНрдЯреЗрдб рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди.
- OS рд░реАрдмреВрдЯ рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА bootid рд╡рд╛рдкрд░рдгреЗ (рдбрд░реНрдЯреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдЯреЙрдк).
- рдЕрджреНрдпрдпрд╛рд╡рдд/рдЬреБрдиреНрдпрд╛ рдкреГрд╖реНрдард╛рдВрдЪреА рдПрдВрдб-рдЯреВ-рдПрдВрдб рдореЛрдЬрдгреА рдЖрдгрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдорд╛рд╣рд┐рддреА.
- рд╕реБрд╕рдВрдЧрдд рдореЛрдбрдордзреНрдпреЗ рдЖрдзреАрдЪ рдЙрдШрдбрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА MDBX_ACCEDE рдкрд░реНрдпрд╛рдп.
- рд╡рд╛рдкрд░рд╛
OFD рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рддрд╛рдирд╛. - рдкрд╛рдИрдкрдордзреНрдпреЗ рдЧрд░рдо рдмреЕрдХрдЕрдк.
- рд╡рд┐рд╢реЗрд╖ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗрд▓реЗ рдЕрдВрддрд░реНрдЧрдд рдХреНрд░рдорд╡рд╛рд░реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо ("qsort()" рдкреЗрдХреНрд╖рд╛ 2-3 рдкрдЯ рд╡реЗрдЧрд╛рдиреЗ рдЖрдгрд┐ "std::sort()" рдкреЗрдХреНрд╖рд╛ 30% рдкрд░реНрдпрдВрдд рд╡реЗрдЧрд╡рд╛рди).
- рдХрдорд╛рд▓ рдХреА рд▓рд╛рдВрдмреА рд╡рд╛рдврд╡рд▓реА рдЖрд╣реЗ.
- рдкреБрдвреЗ рд╡рд╛рдЪрдгреНрдпрд╛рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдирд┐рдпрдВрддреНрд░рдг (рдореЗрдорд░реАрдордзреНрдпреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╛рдЗрд▓ рдХреЕрд╢рд┐рдВрдЧ рдзреЛрд░рдг).
- рдЕрдзрд┐рдХ рдЖрдХреНрд░рдордХ рдЖрдгрд┐ рдЬрд▓рдж рдСрдЯреЛ-рдХреЙрдореНрдкреЕрдХреНрдЯрд┐рдлрд┐рдХреЗрд╢рди.
- B+ рдЯреНрд░реА рдкреГрд╖реНрдареЗ рд╡рд┐рд▓реАрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рдзреЛрд░рдг.
- рдЪреБрдХреАрдЪреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕рдЪреЗ рдиреБрдХрд╕рд╛рди рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдЧреИрд░-рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (NFS, рд╕рд╛рдВрдмрд╛, рдЗ.) рдЪреЗ рдирд┐рдпрдВрддреНрд░рдг.
- рдЪрд╛рдЪрдгреНрдпрд╛рдВрдЪрд╛ рд╕рдВрдЪ рд╡рд╛рдврд╡рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ.
libmdbx рдЪреНрдпрд╛ "рдкреБрдвреАрд▓" рдЖрд╡реГрддреНрддреАрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХрд▓реНрдк рдореНрд╣рдгреВрди рд╕реБрд░реВ рд░рд╛рд╣реАрд▓
- рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рд╕рдВрдЧрдд: MithrilDB рд▓рд╛ рд╕рд░реНрд╡ рдирд┐рдпреЛрдЬрд┐рдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рднрд┐рдиреНрди (рд╡рд┐рд╕рдВрдЧрдд) рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рдЖрдгрд┐ рднрд┐рдиреНрди (рд╡рд┐рд╕рдВрдЧрдд) API рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
- рдирд╡реАрди рд╕реНрддреНрд░реЛрдд рдХреЛрдб: MithrilDB рд╕реНрддреНрд░реЛрдд рдХреЛрдб рд╣рд╛ LMDB рдХрдбреВрди рд╕реНрд╡рддрдВрддреНрд░ рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдк рд╕реНрд╡рддрдГрдЪ рд╡реЗрдЧрд│реНрдпрд╛ рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ (рдпрд╛рджреНрд╡рд╛рд░реЗ рдордВрдЬреВрд░
рдУрдПрд╕рдЖрдп Apache 2.0 рдкрд░рд╡рд╛рдирд╛, рдирд╛рд╣реАрдУрдкрдирдПрд▓рдбреАрдПрдкреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрд░рд╡рд╛рдирд╛ ). - рдкреГрдердХреНрдХрд░рдг рд╕рдВрднрд╛рд╡реНрдп рдЧреЛрдВрдзрд│ рдЯрд╛рд│рддреЗ, рдЕрдзрд┐рдХ рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдЖрдгрддреЗ рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рд░реНрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ.
MithrilDB, MDBX рдкреНрд░рдорд╛рдгреЗ, рджреЗрдЦреАрд▓ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ
- рдЕрдиреЗрдХ рд╡рд┐рд╖рдо рдорд╛рдзреНрдпрдорд╛рдВрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди: HDD, SSD рдЖрдгрд┐ рдиреЙрди-рд╡реНрд╣реЛрд▓реЕрдЯрд╛рдЗрд▓ рдореЗрдорд░реА.
- тАЬрд╣реЙрдЯтАЭ, тАЬрдЙрдмрджрд╛рд░тАЭ рдЖрдгрд┐ тАЬрдердВрдбтАЭ рдбреЗрдЯрд╛рд╕рд╛рдареА тАЬрдореМрд▓реНрдпрд╡рд╛рдитАЭ рдЖрдгрд┐ тАЬрдХрдореА-рдореВрд▓реНрдптАЭ рд╕рд╛рдареА рдЗрд╖реНрдЯрддрдо рдзреЛрд░рдгреЗ.
- рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдЦрдВрдбрддреЗрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд░реНрдХрд▓ рдЯреНрд░реА рд╡рд╛рдкрд░рдгреЗ.
- WAL рдЪрд╛ рдкрд░реНрдпрд╛рдпреА рд╡рд╛рдкрд░ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЕрдЦрдВрдбрддреЗрдЪреНрдпрд╛ рд╣рдореАрд╕рд╣ рд▓реЗрдЦрди-рдХреЗрдВрджреНрд░рд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди.
- рдЖрд│рд╢реА рдХреЕрдЪ-рдЕрдк рдбрд┐рд╕реНрдХрд╡рд░ рдбреЗрдЯрд╛ рдХрдорд┐рдЯрд┐рдВрдЧ.
рд╕реНрддреНрд░реЛрдд: opennet.ru