mitmeotstarbne andmebaas , mis pakub paindlikke dokumentide, graafide ja vÔtme-vÀÀrtuse andmemudeleid. Andmebaasiga töötamine toimub SQL-sarnase pÀringukeeli kaudu vÔi spetsiaalsete laienduste kaudu JavaScripti keeles. Andmete salvestamise meetodid vastavad ACID-i nÔuetele (aatomisuus, jÀrjepidevus, isoleeritus, usaldusvÀÀrsus), toetavad tehingute lÀbiviimist ning tagavad nii horisontaalse kui ka vertikaalse skaleeritavuse. Andmebaasi haldamine vÔib toimuda veebiliidese vÔi konsooliklientide kaudu . ArangoDB kood on litsentsitud Apache 2-alusel. Projekt on kirjutatud C ja JavaScripti keeltes.
ArangoDB pÔhijooned:
- VĂ”imalus vĂ€ltida andmete salvestamise skeemi mÀÀratlemist (Schema-free) â andmed struktuuritakse dokumentide vormis, kus metaandmed ja struktuuri teave on eraldatud kasutajaandmetest;
- Toetatakse ArangoDB kasutamist serverina JavaScripti veebirakenduste jaoks, vÔimaldades andmebaasile juurdepÀÀsu REST/Web API kaudu;
- JavaScripti kasutamine andmebaasi veebirakendustes ja andmetöötlejates, mis töötavad andmebaasi poolel;
- Mitme lÔime arhitektuur, mis jaotab koormuse kogu CPU tuumadele;
- Paindlik andmete salvestamise mudel, kus saab kombineerida vÔtme-vÀÀrtuse paare, dokumente ja parameetreid, mis mÀÀratlevad seoseid kirje vahel (pakutakse vahendeid graafitippude lÀbimiseks);
- Erinevad andmete esitamise mudelid (dokumendid, graafid ja vĂ”tme-vÀÀrtuse paarid) vĂ”ivad olla segatud ĂŒhes pĂ€ringus, mis lihtsustab heterogeensete andmete kogumist;
- Toetatakse pĂ€ringute ĂŒhendamist (JOIN);
- VĂ”imalus valida indeksi tĂŒĂŒp, mis vastab lahendatavatele probleemidele (nĂ€iteks saab kasutada indekseid tĂ€isteksti otsimiseks);
- Kohandatav usaldusvÀÀrsus: rakendus saab ise mÀÀrata, mis on tema jaoks olulisem: kÔrgem usaldusvÀÀrsus vÔi kÔrgem jÔudlus;
- TÔhus andmehoidla, mis kasutab tÀielikult kaasaegse riistvara vÔimalusi (nÀiteks SSD-d) ning kus saab rakendada suuri vahemÀlu;
- Tehingud: vÔimalus kÀivitada pÀringud korraga mitme dokumendi vÔi kogu jaoks, valikulise tehingute jÀrjepidevuse ja isoleeritusega;
- Replikatsiooni ja ƥardimise tugi: vÔimalus luua master-slave konfiguratsioone ja mÀÀrata andmekogusid erinevatele serveritele vastavalt teatud tunnustele;
- Mikroteenuste loomiseks on saadaval JavaScript raamistiku , mis töötab andmebaasi serveri sees ja pÀÀseb andmetele otse juurde.
, mis olid saadaval ArangoDB versioonis 3.6:
- Alamdokumentide ja UPDATE ja REPLACE operatsioonide jÔudlust on optimeeritud;
- Oma AQL pÀringute paralleelset tÀitmist on vÔimalik, mis vÀhendab andmete kogumise aega, mis on jagatud erinevatesse klastrisÔlmedesse;
- Paberite viivitusega materialiseerimist on ellu viidud, mis vÔimaldab teatud olukordades vÀltida tÀielikku ebaoluliste dokumentide vÀljavÔtmist;
- Dokumentide skannimise kÀigus tagatakse, et ebaolulised dokumendid filtreeritakse vÀlja varakult;
- Omandatud on ArangoSearchi tĂ€iustatud tĂ€isteksti otsingu mootor, mis toetab andmete sarnasuse pĂ”hjal reitingut. Lisatud on analĂŒsaatori tugi pĂ€ringute automaatseks tĂ€iendamiseks, funktsioonide TOKENS() ja PHRASE() rakendamine dĂŒnaamiliseks otsingupĂ€ringute koostamiseks;
- Lisatud on maxRuntime seade, et piirata valikuliselt pÀringu tÀitmise aega;
- Lisatud on vĂ”imalus «âquery.optimizer-rules» teatud optimeerimiste aktiveerimise juhtimiseks pĂ€ringute töötlemisel;
- Klastri töö korraldamise vĂ”imalusi on laiendatud. Lisatud on vĂ”imalus «âcluster.upgrade» sĂ”lmede uuendamise reĆŸiimi valimiseks klastris;
- TLS 1.3 tugi on lisatud kliendi ja serveri vahelise suhtluskanali krĂŒpteerimiseks (vaikimisi kasutab klient endiselt TLS 1.2).
Allikas: opennet.ru
