lansare a unui SGBD multifuncțional , oferind modele flexibile de stocare a documentelor, grafurilor și a datelor în format cheie-valoare. Interacțiunea cu baza de date se face printr-un limbaj de interogare similar SQL sau prin extensii speciale în JavaScript. Metodele de stocare a datelor respectă cerințele ACID (atomicitate, consistență, izolare, durabilitate), suportă tranzacții și oferă scalabilitate atât orizontală, cât și verticală. Gestionarea SGBD-ului se poate face prin intermediul unei interfețe web sau al unui client de consolă . Codul ArangoDB este licențiat sub Apache 2. Proiectul este scris în limbajele C și JavaScript.
Caracteristicile cheie ale ArangoDB:
- Posibilitatea de a nu defini o schemă de stocare a datelor (fără schemă) — datele sunt structurate sub formă de documente, în care meta datele și informațiile despre structură sunt separate de datele utilizatorului;
- Suport pentru utilizarea ArangoDB ca server pentru aplicații web în JavaScript, cu posibilitatea de a accesa baza de date prin REST/Web API;
- Utilizarea JavaScript pentru aplicații de browser care accesează baza de date și pentru manevre care se execută pe partea SGBD-ului;
- Arhitectură multi-thread care distribuie sarcina pe toate nucleele CPU;
- Model flexibil de stocare a datelor, în care pot fi combinate perechi cheie-valoare, documente și parametrii care definesc relațiile între înregistrări (sunt oferite unelte pentru parcurgerea vârfurilor grafului);
- Diverse modele de reprezentare a datelor (documente, grafuri și asocieri cheie-valoare) pot fi amestecate într-o singură interogare, ceea ce simplifică agregarea datelor eterogene;
- Suport pentru interogări cu îmbinări (JOIN);
- Posibilitatea de a alege tipul de index care se potrivește sarcinilor de lucru (de exemplu, se poate folosi un index pentru căutare full-text);
- Fiabilitate personalizabilă: aplicația poate determina singură ce este mai important: o fiabilitate mai mare sau o performanță mai bună;
- Stocare eficientă, care valorifică pe deplin capacitățile hardware-ului modern (de exemplu, unități SSD) și poate utiliza cache-uri mari;
- Tranzacții: posibilitatea de a lansa interogări simultan pentru mai multe documente sau colecții cu consistență opțională a tranzacțiilor și izolare;
- Suport pentru replicare și sharding: posibilitatea de a crea configurații master-slave și de a distribui seturi de date pe servere diferite în funcție de un atribut specific;
- Pentru crearea microserviciilor se furnizează un cadru JavaScript , executat în interiorul serverului DBMS cu acces direct la date.
, propuse în versiunea ArangoDB 3.6:
- A fost realizată optimizarea performanței subinterogărilor, precum și a operațiunilor UPDATE și REPLACE;
- A fost implementată posibilitatea de a executa cereri AQL în paralel, ceea ce permite reducerea timpului de colectare a datelor distribuite pe noduri diferite ale clusterului;
- A fost implementată materializarea întârziată a documentelor, permițând, în anumite situații, eliminarea necesității de a extrage complet documentele irelevante;
- La scanarea documentelor, s-a asigurat eliminarea timpurie a documentelor care nu corespund filtrului specificat;
- A fost îmbunătățit motorul de căutare full-text ArangoSearch, care suportă clasificarea având în vedere similaritatea datelor. A fost adăugată suportul pentru analizator pentru completarea automată a cererilor, fiind implementate funcțiile TOKENS() și PHRASE() pentru formarea dinamică a cererilor de căutare;
- A fost adăugată setarea maxRuntime pentru restricționarea selectivă a timpului de execuție al unei cereri;
- A fost adăugată opțiunea „—query.optimizer-rules” pentru a gestiona activarea anumitor optimizări în procesarea cererilor;
- Au fost extinse capacitățile pentru organizarea activității clusterului. A fost adăugată opțiunea „—cluster.upgrade” pentru a alege modul de actualizare a nodurilor din cluster;
- A fost adăugată suportul TLS 1.3 pentru criptarea canalului de comunicație între client și server (în mod implicit, clientul continuă să folosească TLS 1.2).
Sursa: opennet.ro
