libmdbx 0.13.3 (MDBX) рдХреЛ рд░рд┐рд▓реАрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рдЗрдореНрдмреЗрдбреЗрдб рдХреБрдЮреНрдЬреА-рдорд╛рди рдбрд╛рдЯрд╛рдмреЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджреИред libmdbx рдХреЛрдб Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕рдмреИ рд╣рд╛рд▓рдХреЛ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫрдиреН, рд╕рд╛рдереИ рд░реВрд╕реА Elbrus 2000ред libmdbx рд▓реЗ C++ рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд╕рд┐рдд API рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рд╕рд╛рдереИ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдЙрддреНрд╕рд╛рд╣реА-рд╕рдорд░реНрдерд┐рдд рдмрд╛рдЗрдиреНрдбрд┐рдЩрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред , рдбреЗрдиреЛ, рд╕реНрдХрд╛рд▓рд╛ред
рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдкрдорд╛, libmdbx LMDB DBMS рдХреЛ рдЧрд╣рд┐рд░реЛ рдкреБрди: рдХрд╛рд░реНрдп рд╣реЛ рд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛, рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рд░ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ рдпрд╕рдХреЛ рдкреВрд░реНрд╡рдЬ рднрдиреНрджрд╛ рдЙрдЪреНрдЪ рдЫред LMDB рдХреЛ рддреБрд▓рдирд╛рдорд╛, libmdbx рд▓реЗ рдХреЛрдб рдЧреБрдгрд╕реНрддрд░, API рд╕реНрдерд┐рд░рддрд╛, рдкрд░реАрдХреНрд╖рдг, рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдБрдЪрд╣рд░реВрдорд╛ рдзреЗрд░реИ рдЬреЛрдб рджрд┐рдиреНрдЫред рдХреЗрд╣рд┐ рд░рд┐рдХрднрд░реА рдХреНрд╖рдорддрд╛рд╣рд░реБ рд╕рдВрдЧ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрдЦрдгреНрдбрддрд╛ рдЬрд╛рдБрдЪ рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкреВрд░реНрддрд┐ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рдЕрдиреБрд╕рд╛рд░, libmdbx рд▓реЗ ACID, рдмрд▓рд┐рдпреЛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди, рд░ CPU рдХреЛрд░рд╣рд░реВрдорд╛ рд░реИрдЦрд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧрдХреЛ рд╕рд╛рде рдЧреИрд░-рдмреНрд▓рдХрд┐рдЩ рд░рд┐рдбрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рд╕реНрд╡рдд: рдХрдореНрдкреНрдпрд╛рдХреНрдЯрд┐рдлрд┐рдХреЗрд╢рди, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд╛рдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди, рд░ рджрд╛рдпрд░рд╛ рдХреНрд╡реЗрд░реА рдЕрдиреБрдорд╛рди рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред
рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:
- 0.13.x рд╢рд╛рдЦрд╛рд▓реЗ рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реЗрдХреЛ рдЫред 0.14.x рд╢рд╛рдЦрд╛рдХреЛ рд╡рд┐рдХрд╛рд╕ рд╕реБрд░реБ рднрдПрдХреЛ рдЫред
- mdbx_cursor_count_ex() рдкреНрд░рдХрд╛рд░реНрдп C API рдорд╛ рдердкрд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╣рд╛рд▓рдХреЛ рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдмрд╣реБ-рдорд╛рдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд░ рдпреА рдорд╛рдирд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдиреЗрд╕реНрдЯреЗрдб рд░реВрдЦрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
- mdbx::txn::make_broken() рд╡рд┐рдзрд┐, mdbx_txn_break() рдЬрд╕реНрддреИ, C++ API рдорд╛ рдердкрд┐рдПрдХреЛ рдЫред
- рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ mdbx_copy, mdbx_drop, mdbx_dump, mdbx_load, mdbx_stat рддреНрд░реБрдЯрд┐рд╣рд░реВ, рдЪреЗрддрд╛рд╡рдиреАрд╣рд░реВ рд░ libmdbx рдмрд╛рдЯ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рд▓рдЧрд┐рдЩ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред
- рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди:
- рдЬрдм GC рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдПрдХреЛ рдЫ (MDBX_ENABLE_PROFGC=ON рд╡рд┐рдХрд▓реНрдкрд╕рдБрдЧ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН), CPU рд╕рдордп рдмрд┐рддрд╛рдПрдХреЛ рдкреГрд╖реНрда рд╕реВрдЪреАрд╣рд░реВ рдорд░реНрдЬ рдЧрд░реНрджрд╛ рдЕрдм рдЧрдгрдирд╛ рдЧрд░рд┐рдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред pnl_merge() рдкреНрд░рдХрд╛рд░реНрдп рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ред
- рдкрд░реАрдХреНрд╖рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛рдорд╛, рдбреЗрдЯрд╛ рдореЛрдб рдорд╛рди data.dup рдмрд╛рдЯ data.multi рдорд╛ рдкреБрди: рдирд╛рдорд╛рдХрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред
- cursor_seek() рднрд┐рддреНрд░ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдХреБрдЮреНрдЬреА рд▓рдореНрдмрд╛рдЗ рдирд┐рдпрдиреНрддреНрд░рдгред
- рдпрджрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ mdbx_env_set_option(MDBX_opt_txn_dp_limit) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджреИрди рднрдиреЗ, рдЙрдкрд▓рдмреНрдз RAM рдХреЛ рдорд╛рддреНрд░рд╛ рд░ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рдЖрдХрд╛рд░рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреИрд░-рдиреЗрд╕реНрдЯреЗрдб рд▓реЗрдЦрди рд▓реЗрдирджреЗрдирдХреЛ рд╕реБрд░реБрдорд╛ рдЧрдиреНрджрд╛-рдкреГрд╖реНрда-рд╕реАрдорд╛ рд╕рдорд╛рдпреЛрдЬрди рдЧрд░рд┐рдиреНрдЫред
- MDBX_NOSTICKYTHREADS рдореЛрдбрдорд╛, рдХреБрдиреИ рдкрдирд┐ рдереНрд░реЗрдб/рдереНрд░реЗрдбрдмрд╛рдЯ рдиреЗрд╕реНрдЯреЗрдб рд▓реЗрдирджреЗрдирд╣рд░реВрд▓рд╛рдИ рдХрдорд┐рдЯ/рд░рджреНрдж рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдиреНрдЫред
- MDBX_WRITEMAP рдореЛрдбрдорд╛ рдиреЗрд╕реНрдЯреЗрдб рд▓реЗрдирджреЗрдирд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд╛, рд▓рдЧрд┐рдЩ рдЧрд░рд┐рдиреНрдЫ рд░ MDBX_INCOMPATIBLE рддреНрд░реБрдЯрд┐ рдлрд┐рд░реНрддрд╛ рд╣реБрдиреНрдЫред
- C++ API рдорд╛, рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░/рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐рдХреЛ рдЧрдардирд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡рд┐рдзрд┐рд╣рд░реВрдорд╛, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
- mdbx_env_set_geometry() рднрд┐рддреНрд░, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ "рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛" рдЕрдиреБрд░реЛрдз рдЧрд░реЗрдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдЪрдпрди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред
- рд╕реБрдзрд╛рд░рд╣рд░реВ:
- dbi рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░рд▓рд╛рдИ рдкреБрди: рдмрдиреНрдж рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд╛ рдореНрдпреБрдЯреЗрдХреНрд╕ рдЕрдирд▓рдХ рдирднрдПрдХреЛ рд░рд┐рдЧреНрд░реЗрд╕рди рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдпреЛ, рдпрд╕рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдореЗрдЯрд╛рдПрдкрдЫрд┐ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдмрдиреНрдж рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд╛ред
- MDBX_APPEND рдореЛрдбрдорд╛ рдбреЗрдЯрд╛ рд╕рдореНрдорд┐рд▓рди рдкрдЫрд┐ рдиреЗрд╕реНрдЯреЗрдб/рдбреБрдкрд╕реЛрд░реНрдЯ рдХрд░реНрд╕рд░ рдЕрд╡рд╕реНрдерд╛рдХреЛ рд╕реНрдерд┐рд░ рд░рд┐рдЧреНрд░реЗрд╕рдиред
- LXC рдХрдиреНрдЯреЗрдирд░ рднрд┐рддреНрд░ рдХрд╛рдо рдЧрд░реНрджрд╛ boot_id рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердиред
- рдиреЗрд╕реНрдЯреЗрдб рдкрдвреНрдиреЗ рд▓реЗрдирджреЗрди рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕рдХреЛ рдЧрд▓рдд рдкреНрд░рд╢реЛрдзрдирдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░рд┐рдпреЛред MDBX_EINVAL рддреНрд░реБрдЯрд┐ рдЕрдм рдпреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рдлрд░реНрдХрд╛рдЗрдПрдХреЛ рдЫ рдХрд┐рдирднрдиреЗ рдиреЗрд╕реНрдЯрд┐рдЩ рдХреЗрд╡рд▓ рдкрдвреНрдиреЗ-рд▓реЗрдЦрди рд▓реЗрдирджреЗрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерд┐рдд рдЫред
- LCK рдлрд╛рдЗрд▓ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реА рдкрдвреНрдиреЗ-рдорд╛рддреНрд░ рдореЛрдбрдорд╛ рдХрд╛рдо рдЧрд░реНрджрд╛ рд╢реВрдиреНрдп рдареЗрдЧрд╛рдирд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ SIGSEGV рд░рд┐рдЧреНрд░реЗрд╕рди рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбрд╛рдЯрд╛рдмреЗрд╕рд▓рд╛рдИ рдкрдвреНрди-рдорд╛рддреНрд░ рдорд┐рдбрд┐рдпрд╛рдорд╛ рд░рд╛рдЦреНрджрд╛ред
рд╕реНрд░реЛрдд: opennet.ru
