mitmekĂ€iguline andmebaasihaldussĂŒsteem , mis pakub paindlikke dokumentide, graafikute ja vĂ”tme-vÀÀrtusandmete salvestusmudeleid. Andmebaasi haldamine toimub SQL-sarnase pĂ€ringukeelte kaudu vĂ”i spetsiaalsete laienduste kaudu JavaScriptis. Andmete salvestamise meetodid vastavad ACID (atomaarne, jĂ€rjepidevus, isolatsioon, usaldusvÀÀrsus) nĂ”uetele, toetavad tehingute tegemist ning vĂ”imaldavad nii horisontaalset kui vertikaalset skaleeritavust. Andmebaasi haldamine vĂ”ib toimuda veebiliidese vĂ”i konsooli klienti kaudu . ArangoDB kood on litsentseeritud Apache 2. Projekti on kirjutatud C ja JavaScripti keeltes.
ArangoDB olulisemad omadused:
- VĂ”imalus teha ilma andmesalvestuse skeemi mÀÀratlemiseta (Schema-free) â andmed struktureeritakse dokumentide kujul, kus metaandmed ja struktuuriteave on eraldi kasutaja andmetest;
- Toetab ArangoDB kasutamist veebirakenduste serverina JavaScriptis, mille kaudu on andmebaasile juurdepÀÀs REST/Web API kaudu;
- JavaScripti kasutamine brauseripÔhistes rakendustes, mis teevad andmebaasi pÀringuid, ja andmebaasi serveri poolt teostatavates töötlemistes;
- Mitme lÔime arhitektuur, mis jagab koormust kÔikidele CPU tuumadele;
- Paindlik andmesalvestusmudel, kus saab kombineerida vÔtme-vÀÀrtuspaare, dokumente ja suhteid, mis mÀÀravad seosed kirjede vahel (pakutakse vahendeid graafinate tippude lÀbimiseks);
- Erinevaid andmestruktuuride mudeleid (dokumendid, graafikud ja vĂ”tme-vÀÀrtuste kombinatsioonid) saab ĂŒhendada ĂŒhes pĂ€ringus, mis lihtsustab heterogeensete andmete kogumist;
- Toetab pÀringute liitmist (JOIN);
- VĂ”imalus valida indeksitĂŒĂŒp, mis vastab lahendatavale probleemile (nt saab kasutada indekse tĂ€isteksti otsingu jaoks);
- Kohandatav usaldusvÀÀrsus: rakendus saab ise mÀÀrata, mis on selle jaoks olulisem: kÔrgem usaldusvÀÀrsus vÔi kÔrgem jÔudlus;
- TÔhus salvestus, mis kasutab tÀielikult kaasaegse varustuse vÔimeid (nt SSD-d ja suuri vahemÀlusid);
- Tehingud: vÔimalus kÀivitada pÀringud mitmele dokumendile vÔi kogule koos valikulise tehingute jÀrjepidevuse ja isolatsiooniga;
- Toetab replikatsiooni ja shardingut: vÔimalus luua master-slave konfiguratsioone ja jagada andmekogusid erinevatele serveritele kindla kriteeriumi jÀrgi;
- Mikroteenuste loomiseks on saadaval JavaScripti raamistik , mis töötab andmebaasi serveri sees otse andmetele juurdepÀÀsuga.
, mis on esitatud ArangoDB 3.6 vÀljaandes:
- AlamkĂŒsimuste ning UPDATE ja REPLACE operatsioonide jĂ”udluse optimeerimine;
- On teostatud AQL pÀringute paralleelset tÀitmist, mis vÔimaldab vÀhendada andmete kogumise aega, jaotatuna erinevatesse klastrite sÔlmedesse;
- Viivitatud dokumentide materialiseerimise teostamine, mis mÔnel juhul vÔimaldab tÀielike ja ebaoluliste dokumentide eemaldamist;
- Dokumentide skaneerimise ajal on varajane dokumentide vÀlistamine kÀimas, mis ei vasta mÀÀratud filtrile;
- Parandatud ArangoSearchi tĂ€istekstiotsingumootor, mis toetab andmete sarnasusrankingut. Lisatud on analĂŒsaatori tugi pĂ€ringute automaatse tĂ€itmise jaoks, samuti on rakendatud funktsioonid TOKENS() ja PHRASE() dĂŒnaamiliseks otsingupĂ€ringute koostamiseks;
- Lisatud maxRuntime seade, et valikuliselt piirata pÀringu tööaega;
- Lisatud valik «âquery.optimizer-rules», et hallata teatud optimeerimiste aktiveerimist pĂ€ringute töötlemisel;
- Klastri töö organiseerimise vĂ”imalused on laienenud. Lisatud valik «âcluster.upgrade», et valida sĂ”lmede uuendamise reĆŸiimi klastris;
- TLS 1.3 toe lisamine kliendi ja serveri vahelise side kanalite krĂŒpteerimiseks (vaikimisi jĂ€tkab klient TLS 1.2 kasutamist).
Allikas: opennet.ru
