Нова вСрсия Π½Π° Π‘Π£Π‘Π” ArangoDB 3.6

ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²Π° Π‘Π£Π‘Π” ArangoDB 3.6, ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя гъвкави ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΊΠ»ΡŽΡ‡-стойност. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· SQL-ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π΅Π·ΠΈΠΊ Π·Π° заявки AQL ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· спСциални Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π° JavaScript. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ отговарят Π½Π° изискванията Π½Π° ACID (атомарност, консистСнция, изолация, ΠΈΠ·Π΄Ρ€ΡŠΠΆΠ»ΠΈΠ²ΠΎΡΡ‚), ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ осигуряват Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½Π° ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½Π° мащабируСмост. Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅ Π΄Π° сС управлява Ρ‡Ρ€Π΅Π· ΡƒΠ΅Π± интСрфСйс ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ArangoSH. Код Π½Π° ArangoDB разпространява сС ΠΎΡ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½ ΠΏΠΎΠ΄ Apache 2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ написан Π½Π° C ΠΈ JavaScript.

Основни характСристики Π½Π° ArangoDB:

  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π±Π΅Π· Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° схСма Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ (Π±Π΅Π· схСма) - Π΄Π°Π½Π½ΠΈΡ‚Π΅ са структурирани ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ информацията Π·Π° структурата са ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΡ‚ потрСбитСлскитС Π΄Π°Π½Π½ΠΈ;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ArangoDB ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° JavaScript ΡƒΠ΅Π± прилоТСния с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· REST/Web API;
  • ИзползванС Π½Π° JavaScript Π·Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π½ΠΈ прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ, изпълнявани ΠΎΡ‚ страната Π½Π° Π‘Π£Π‘Π”;
  • Многонишкова Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, която разпрСдСля Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ всички процСсорни ядра;
  • Π“ΡŠΠ²ΠΊΠ°Π² ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚ Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ записитС (осигурСни са срСдства Π·Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΏΡ€Π΅Π· Π²ΡŠΡ€Ρ…ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Π³Ρ€Π°Ρ„Π°);
  • Π Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° прСдставянС Π½Π° Π΄Π°Π½Π½ΠΈ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ асоциации ΠΊΠ»ΡŽΡ‡-стойност) ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС смСсват Π² Π΅Π΄Π½Π° заявка, ΠΊΠΎΠ΅Ρ‚ΠΎ улСснява Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° заявки с обСдиняванС (JOIN);
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ‚ΠΈΠΏΠ° индСкс, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ индСкса Π·Π° ΠΏΡŠΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅);
  • ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° надСТдност: самото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΊΠΎΠ΅ Π΅ ΠΏΠΎ-Π²Π°ΠΆΠ½ΠΎ Π·Π° Π½Π΅Π³ΠΎ: ΠΏΠΎ-висока надСТдност ΠΈΠ»ΠΈ ΠΏΠΎ-висока производитСлност;
  • Π•Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС възползва напълно ΠΎΡ‚ модСрния Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ (ΠΊΠ°Ρ‚ΠΎ SSD) ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ кСшовС;
  • Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ: Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° изпълнСниС Π½Π° заявки Π·Π° мноТСство Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ навСднъТ, с Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° послСдоватСлност ΠΈ изолация Π½Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅;
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° рСпликация ΠΈ ΡˆΠ°Ρ€Π΄ΠΈΠ½Π³: Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ master-slave ΠΈ разпространСниС Π½Π° Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ към Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π² зависимост ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚;
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ JavaScript Ρ€Π°ΠΌΠΊΠ° Π·Π° създаванС Π½Π° микроуслуги Ѐокс, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Π‘Π£Π‘Π” ΡΡŠΡ€Π²ΡŠΡ€Π° с Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ.

ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π² вСрсията Π½Π° ArangoDB 3.6:

  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ производитСлността Π½Π° подзаявкитС, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ UPDATE ΠΈ REPLACE;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° AQL заявки, ΠΊΠΎΠ΅Ρ‚ΠΎ намалява Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ възли Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°;
  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π² някои ситуации Π΄Π° сС ΠΎΡ‚ΡŠΡ€Π²Π΅Ρ‚Π΅ ΠΎΡ‚ нСобходимостта ΠΎΡ‚ пълно ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° нСподходящи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ;
  • ΠŸΡ€ΠΈ сканиранС Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ сС осигурява Ρ€Π°Π½Π½ΠΎ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ отговарят Π½Π° зададСния Ρ„ΠΈΠ»Ρ‚ΡŠΡ€;
  • ΠŸΡŠΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Π°Ρ‚Π° Ρ‚ΡŠΡ€ΡΠ°Ρ‡ΠΊΠ° ArangoSearch Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° класиранС въз основа Π½Π° сходство Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄ΠΎΠ²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° заявки, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ TOKENS() ΠΈ PHRASE() Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° заявки Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ настройка maxRuntime Π·Π° сСлСктивно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° заявката;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция "--query.optimizer-rules" Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° заявки;
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опция β€ž--cluster.upgradeβ€œ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π½Π°Π΄Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π·Π° възли Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° TLS 1.3 Π·Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° комуникационния ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π° (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° TLS 1.2).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€