рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдПрдореНрдмреЗрдбреЗрдб DBMS libmdbx 0.11.3 рдХрд╛ рд╡рд┐рдореЛрдЪрди

libmdbx 0.11.3 (MDBX) рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬрд╛рд░реА рдХрд░ рджреА рдЧрдИ рд╣реИ, рдЬреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди, рдХреЙрдореНрдкреИрдХреНрдЯ, рдПрдореНрдмреЗрдбреЗрдб рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреА рд╣реИред libmdbx рдХреЛрдб OpenLDAP рдкрдмреНрд▓рд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдореМрдЬреВрджрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА рд░реВрд╕реА рдПрд▓реНрдмреНрд░рд╕ 2000 рднреАред 2021 рдХреЗ рдЕрдВрдд рдореЗрдВ, libmdbx рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдПрдереЗрд░рд┐рдпрдо рдХреНрд▓рд╛рдЗрдВрдЯ - рдПрд░рд┐рдЧреЙрди рдФрд░ рдирдП "рд╢рд╛рд░реНрдХ" рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЙрдЪреНрдЪрддрдо рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓рд╛ рдПрдереЗрд░рд┐рдпрдо рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, libmdbx, LMDB DBMS рдХрд╛ рдЧрд╣рди рдкреБрдирд░реНрд░рдЪрдирд╛ рд╣реИ рддрдерд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛, рдлреАрдЪрд░ рд╕реЗрдЯ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╕реЗ рдЖрдЧреЗ рд╣реИред рдПрд▓рдПрдордбреАрдмреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, libmdbx рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛, рдПрдкреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛, рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдВрдЪ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИред рдХреБрдЫ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, libmdbx ACID, рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдордЬрдмреВрдд рдХреНрд░рдорд╛рдВрдХрди, рддрдерд╛ CPU рдХреЛрд░ рдореЗрдВ рд░реИрдЦрд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рд░реАрдбреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд-рдХреЙрдореНрдкреИрдХреНрдЯрд┐рдлрд┐рдХреЗрд╢рди, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдХрд╛рд░ рдкреНрд░рдмрдВрдзрди рдФрд░ рд░реЗрдВрдЬ рдХреНрд╡реЗрд░реА рдЕрдиреБрдорд╛рди рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред 2016 рд╕реЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреЙрдЬрд┐рдЯрд┐рд╡ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ 2017 рд╕реЗ рдЗрд╕рдХреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

libmdbx рдПрдХ C++ API рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА Rust, Haskell, Python, NodeJS, Ruby, Go, Nim рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп-рд╕рдорд░реНрдерд┐рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

11 рдЕрдХреНрдЯреВрдмрд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдорд╛рдЪрд╛рд░ рдХреЗ рдмрд╛рдж рдЬреЛрдбрд╝реЗ рдЧрдП рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░, рд╕реБрдзрд╛рд░ рдФрд░ рд╕реБрдзрд╛рд░:

  • C++ API рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╡рд┐рд╢рд╛рд▓ рд▓реЗрдирджреЗрди рдХрд░рддреЗ рд╕рдордп GC рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдореЗрдВ рдХрд╛рдлреА рддреЗрдЬреА рдЖрдИ рд╣реИ, рдЬреЛ рдХрд┐ рдЗрдереЗрд░рд┐рдпрдо рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ libmdbx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрджреНрдпрддрдиреАрдХрд░рдг рдХреЛ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рд╣реИред рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд▓реЗрдирджреЗрди рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() рдФрд░ mdbx_env_get_syncbytes() рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗ рдЧрдП. MDBX_SET_UPPERBOUND рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛.
  • C++ 11/14/17/20 рдореЛрдб рдореЗрдВ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХрд░рддреЗ рд╕рдордп рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рд╕рдорд╛рдкреНрдд рдХрд░ рджреА рдЧрдИ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреА рдЧрдИ рд╣реИ: clang 3.9 рдХреЗ рдмрд╛рдж рд╕реЗ, gcc 4.8 рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬрд┐рд╕рдореЗрдВ cdevtoolset-9 рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХрд░рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред CentOS/рдЖрд░рдПрдЪрдИрдПрд▓ 7.
  • mdbx_chk рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдЯрд╛ рдкреГрд╖реНрда рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореЗрдЯрд╛ рдкреГрд╖реНрда рд╕рдВрдШрд░реНрд╖ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • рдкреБрд░рд╛рдиреЗ рдореЗрдЯрд╛ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреБрдирдГ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЖрдиреЗ рд╡рд╛рд▓реА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд MDBX_PROBLEM рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • MDBX_GET_BOTH рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЕрд╕реНрдкрд╖реНрдЯ рдорд┐рд▓рд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ MDBX_NOTFOUND рд▓реМрдЯрд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ Linux рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВред
  • рдЖрдВрддрд░рд┐рдХ MDBX_SHRINK_ALLOWED рдзреНрд╡рдЬ рдФрд░ MDBX_ACCEDE рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмреАрдЪ рдЯрдХрд░рд╛рд╡ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • рдХрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рджрд╛рд╡рд╛ рдЬрд╛рдБрдЪреЗрдВ рд╣рдЯрд╛ рджреА рдЧрдИ рд╣реИрдВред
  • mdbx_env_set_option() рдлрд╝рдВрдХреНрд╢рди рд╕реЗ MDBX_RESULT_TRUE рдХреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡рд╛рдкрд╕реА рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  • рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, 90 рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ 25 рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЧрдП, ~1300 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реА рдЧрдИрдВ, ~600 рд╣рдЯрд╛ рджреА рдЧрдИрдВред

рд╕реНрд░реЛрдд: opennet.ru

DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрд╡рд░ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реАрджреЗрдВ ЁЯФе рдбреАрдбреАрдУрдПрд╕ рд╕реБрд░рдХреНрд╖рд╛, рд╡реАрдкреАрдПрд╕ рдФрд░ рд╡реАрдбреАрдПрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реАрджреЗрдВ | ProHoster