publisert utgivelse av et flerbruks DBMS ArangoDB 3.6, som gir fleksible modeller for lagring av dokumenter, grafer og nøkkelverdidata. Arbeidet med databasen utføres gjennom et SQL-lignende spørrespråk AQL eller gjennom spesielle utvidelser i JavaScript. Datalagringsmetoder er ACID-kompatible (Atomicity, Consistency, Isolation, Durability), støtter transaksjoner og gir både horisontal og vertikal skalerbarhet. DBMS kan administreres via et webgrensesnitt eller en konsollklient Arango SH. ArangoDB-kode distribuert av lisensiert under Apache 2. Prosjektet er skrevet i C og JavaScript.
Nøkkelfunksjoner til ArangoDB:
Muligheten til å klare seg uten å definere et datalagringsskjema (skjemafritt) - data er strukturert i form av dokumenter der metadata og informasjon om strukturen er separert fra brukerdata;
Støtte for bruk av ArangoDB som server for webapplikasjoner i JavaScript med mulighet for tilgang til databasen via REST/Web API;
Bruke JavaScript for nettleserapplikasjoner som får tilgang til databasen og for behandlere som kjøres på DBMS-siden;
Flertrådsarkitektur som fordeler belastningen over alle CPU-kjerner;
En fleksibel datalagringsmodell som kan kombinere nøkkelverdi-par, dokumenter og parametere som definerer relasjoner mellom poster (gir verktøy for å krysse grafens toppunkter);
Ulike datarepresentasjonsmodeller (dokumenter, grafer og nøkkelverdi-par) kan blandes i én spørring, noe som forenkler aggregeringen av heterogene data;
Støtte for sammenslåingsspørringer (BLI MED);
Muligheten til å velge type indeks som tilsvarer oppgavene som løses (du kan for eksempel bruke indeksen for fulltekstsøk);
Tilpassbar pålitelighet: selve applikasjonen kan bestemme hva som er viktigere for den: høyere pålitelighet eller høyere ytelse;
Effektiv lagring som drar full nytte av moderne maskinvare (som SSD-er) og kan bruke store cacher;
Transaksjoner: muligheten til å kjøre spørringer på flere dokumenter eller samlinger samtidig med valgfri transaksjonskonsistens og isolasjon;
Støtte for replikering og sharding: muligheten til å lage master-slave-konfigurasjoner og distribuere datasett til forskjellige servere avhengig av en bestemt funksjon;
Et JavaScript-rammeverk leveres for å lage mikrotjenester Foxx, utført inne i en DBMS-server med direkte tilgang til data.
Ytelsen til underspørringer, samt OPPDATERING og ERSTATT-operasjoner har blitt optimalisert;
Muligheten til å parallellisere utførelse av AQL-spørringer er implementert, noe som gjør det mulig å redusere tiden for innsamling av data fordelt på forskjellige klyngenoder;
Implementert forsinket materialisering av dokumenter, som i noen situasjoner gjør det mulig å eliminere behovet for å fullstendig hente irrelevante dokumenter;
Ved skanning av dokumenter sikres tidlig forkasting av dokumenter som ikke samsvarer med det angitte filteret;
ArangoSearch fulltekstsøkemotoren har blitt forbedret, og støtter rangering basert på datalikhet. Lagt til analysatorstøtte for autofullføring av spørringer, implementert TOKENS()- og PHRASE()-funksjoner for dynamisk generering av søk;
Lagt til maxRuntime-innstilling for å selektivt begrense utføringstiden for spørringen;
Lagt til alternativet "—query.optimizer-rules" for å kontrollere aktiveringen av visse optimaliseringer ved behandling av spørringer;
Mulighetene for å organisere driften av klyngen er utvidet. Lagt til alternativet "—cluster.upgrade" for å velge oppgraderingsmodus for noder i klyngen;
Lagt til støtte for TLS 1.3 for å kryptere kommunikasjonskanalen mellom klienten og serveren (som standard fortsetter klienten å bruke TLS 1.2).