DBMS ArangoDB 3.6 рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА

рдкреНрд░рдХрд╛рд╢рд┐рдд рдмрд╣реБрдЙрджреНрджреЗрд╢реАрдп рдбреАрдмреАрдПрдордПрд╕рдЪреЗ рдкреНрд░рдХрд╛рд╢рди ArangoDB 3.6, рдЬреЗ рджрд╕реНрддрдРрд╡рдЬ, рдЖрд▓реЗрдЦ рдЖрдгрд┐ рдореБрдЦреНрдп-рдореВрд▓реНрдп рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╡рдЪрд┐рдХ рдореЙрдбреЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдбреЗрдЯрд╛рдмреЗрд╕рд╕рд╣ рдХрд╛рд░реНрдп SQL рд╕рд╛рд░рдЦреА рдХреНрд╡реЗрд░реА рднрд╛рд╖реЗрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдПрдХреНрдпреВрдПрд▓ рдХрд┐рдВрд╡рд╛ JavaScript рдордзреАрд▓ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрджреНрд╡рд╛рд░реЗ. рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдкрджреНрдзрддреА ACID (Atomicity, Consistency, Isolation, Durability) рдЕрдиреБрд░реВрдк рдЖрд╣реЗрдд, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддрд╛рдд рдЖрдгрд┐ рдХреНрд╖реИрддрд┐рдЬ рдЖрдгрд┐ рдЙрднреНрдпрд╛ рджреЛрдиреНрд╣реА рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд. рдбреАрдмреАрдПрдордПрд╕ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд┐рдВрд╡рд╛ рдХрдиреНрд╕реЛрд▓ рдХреНрд▓рд╛рдпрдВрдЯрджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЕрд░рд╛рдВрдЧреЛ рдПрд╕рдПрдЪ. ArangoDB рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд Apache 2 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛. рдкреНрд░рдХрд▓реНрдк C рдЖрдгрд┐ JavaScript рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ.

ArangoDB рдЪреА рдкреНрд░рдореБрдЦ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ:

  • рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдХреАрдорд╛ (рд╕реНрдХреАрдорд╛-рдлреНрд░реА) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ - рдбреЗрдЯрд╛рдЪреА рд░рдЪрдирд╛ рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдХреЗрд▓реА рдЬрд╛рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЖрдгрд┐ рд╕рдВрд░рдЪрдиреЗрдЪреА рдорд╛рд╣рд┐рддреА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдбреЗрдЯрд╛рдкрд╛рд╕реВрди рд╡рд┐рднрдХреНрдд рдХреЗрд▓реА рдЬрд╛рддреЗ;
  • REST/Web API рджреНрд╡рд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╕рд╣ JavaScript рдордзреАрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди ArangoDB рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди;
  • рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдмреНрд░рд╛рдЙрдЭрд░ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рдЖрдгрд┐ DBMS рдмрд╛рдЬреВрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╣рдБрдбрд▓рд░реНрд╕рд╕рд╛рдареА JavaScript рд╡рд╛рдкрд░рдгреЗ;
  • рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЬреЗ рд╕рд░реНрд╡ CPU рдХреЛрд░рд╡рд░ рд▓реЛрдб рд╡рд┐рддрд░реАрдд рдХрд░рддреЗ;
  • рдПрдХ рд▓рд╡рдЪрд┐рдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдореЙрдбреЗрд▓ рдЬреЗ рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛, рджрд╕реНрддрдРрд╡рдЬ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдПрдХрддреНрд░ рдХрд░реВ рд╢рдХрддрд╛рдд рдЬреЗ рд░реЗрдХреЙрд░реНрдбрдордзреАрд▓ рд╕рдВрдмрдВрдз рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛рдд (рдЧреНрд░рд╛рдл рд╢рд┐рд░реЛрдмрд┐рдВрджреВ рдЯреНрд░реЕрд╡реНрд╣рд░реНрд╕рд┐рдВрдЧрд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ);
  • рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЙрдбреЗрд▓ (рджрд╕реНрддрдРрд╡рдЬ, рдЖрд▓реЗрдЦ рдЖрдгрд┐ рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛) рдПрдХрд╛рдЪ рдХреНрд╡реЗрд░реАрдордзреНрдпреЗ рдорд┐рд╕рд│рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреЗ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛рдЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг рд╕реБрд▓рдн рдХрд░рддреЗ;
  • рд╡рд┐рд▓реАрди рдкреНрд░рд╢реНрдирд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди (рдЬреЙрдЗрди);
  • рд╕реЛрдбрд╡рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдЪрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдкрдг рдкреВрд░реНрдг-рдордЬрдХреВрд░ рд╢реЛрдзрд╛рд╕рд╛рдареА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛);
  • рд╕рд╛рдиреБрдХреВрд▓ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛: рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рддрдГрдЪ рдард░рд╡реВ рд╢рдХрддреЛ рдХреА рддреНрдпрд╛рдЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ: рдЙрдЪреНрдЪ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрд┐рдВрд╡рд╛ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди;
  • рдХрд╛рд░реНрдпрдХреНрд╖рдо рд╕реНрдЯреЛрд░реЗрдЬ рдЬреЗ рдЖрдзреБрдирд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ (рдЬрд╕реЗ рдХреА SSDs) рдЪрд╛ рдкреВрд░реНрдг рдлрд╛рдпрджрд╛ рдШреЗрддреЗ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдХреЕрд╢реЗрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрддреЗ;
  • рд╡реНрдпрд╡рд╣рд╛рд░: рдкрд░реНрдпрд╛рдпреА рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрдгрд┐ рдЕрд▓рдЧрд╛рд╡рд╕рд╣ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдПрдХрд╛рдзрд┐рдХ рджрд╕реНрддрдРрд╡рдЬ рдХрд┐рдВрд╡рд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдВрд╡рд░ рдХреНрд╡реЗрд░реА рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;
  • рдкреНрд░рддрд┐рдХреГрддреА рдЖрдгрд┐ рд╢рд╛рд░реНрдбрд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди: рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡реНрд╣ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рднрд┐рдиреНрди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╡рд┐рддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛;
  • рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА JavaScript рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреБрд░рд╡рд▓реЗ рдЬрд╛рддреЗ Foxx, рдбреЗрдЯрд╛рдордзреНрдпреЗ рдереЗрдЯ рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╣ DBMS рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдмрджрд▓ArangoDB 3.6 рдкреНрд░рдХрд╛рд╢рди рдордзреНрдпреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд:

  • рд╕рдмрдХреНрд╡реЗрд░реАрдЬрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди, рддрд╕реЗрдЪ рдЕрдкрдбреЗрдЯ рдЖрдгрд┐ рд░рд┐рдкреНрд▓реЗрд╕ рдСрдкрд░реЗрд╢рдиреНрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд;
  • AQL рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рд╕рдорд╛рдВрддрд░ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рд╡рд┐рд╡рд┐рдз рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕рдордзреНрдпреЗ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рдЧреЛрд│рд╛ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡реЗрд│ рдХрдореА рд╣реЛрддреЛ;
  • рджрд╕реНрддрдРрд╡рдЬрд╛рдВрдЪреЗ рд╡рд┐рд▓рдВрдмрд┐рдд рднреМрддрд┐рдХреАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ, рдЬреЗ рдХрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рдЕрд╕рдВрдмрджреНрдз рджрд╕реНрддрдРрд╡рдЬ рдкреВрд░реНрдгрдкрдгреЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • рджрд╕реНрддрдРрд╡рдЬ рд╕реНрдХреЕрди рдХрд░рддрд╛рдирд╛, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд┐рд▓реНрдЯрд░рд╢реА рдЬреБрд│рдд рдирд╕рд▓реЗрд▓реЗ рджрд╕реНрддрдРрд╡рдЬ рд▓рд╡рдХрд░ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ;
  • ArangoSearch рдкреВрд░реНрдг-рдордЬрдХреВрд░ рд╢реЛрдз рдЗрдВрдЬрд┐рди рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдбреЗрдЯрд╛ рд╕рдорд╛рдирддреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд░рдБрдХрд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. рдХреНрд╡реЗрд░реАрдЪреНрдпрд╛ рд╕реНрд╡рдпрдВрдкреВрд░реНрдгрддреЗрд╕рд╛рдареА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, TOKENS() рдЖрдгрд┐ PHRASE() рдХрд╛рд░реНрдпреЗ рдЧрддрд┐рд╢реАрд▓рдкрдгреЗ рд╢реЛрдз рдХреНрд╡реЗрд░реА рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ;
  • рдХреНрд╡реЗрд░реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡реЗрд│ рдирд┐рд╡рдбрдХрдкрдгреЗ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА maxRuntime рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реЗ;
  • рдХреНрд╡реЗрд░реАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╕рдХреНрд░рд┐рдп рдХрд░рдгреНрдпрд╛рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА тАЬтАФquery.optimizer-rulesтАЭ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
  • рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рдЖрдпреЛрдЬрди рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдиреЛрдбреНрд╕рд╕рд╛рдареА рдЕрдкрдЧреНрд░реЗрдб рдореЛрдб рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА тАЬтАФcluster.upgradeтАЭ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
  • рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдЪреЕрдиреЗрд▓ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА TLS 1.3 рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ (рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдХреНрд▓рд╛рдпрдВрдЯ TLS 1.2 рд╡рд╛рдкрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рддреЗ).

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛