vydanie viacúčelového DBMS , ktorý poskytuje flexibilné modely ukladania dokumentov, grafov a údajov kľúč-hodnota. K databáze sa pristupuje prostredníctvom dotazovacieho jazyka podobného SQL. alebo prostredníctvom špecializovaných rozšírení JavaScriptu. Metódy ukladania údajov spĺňajú požiadavky ACID (Atomicity, Consistency, Isolation a Durability), podporujú transakcie a poskytujú horizontálnu aj vertikálnu škálovateľnosť. DBMS je možné spravovať prostredníctvom webového rozhrania alebo konzolového klienta. Kód ArangoDB pod licenciou Apache 2. Projekt je napísaný v jazyku C a JavaScripte.
Kľúčové vlastnosti ArangoDB:
- Možnosť zaobísť sa bez definovania schémy ukladania údajov (bez schémy) - údaje sú štruktúrované vo forme dokumentov, v ktorých sú metadáta a informácie o štruktúre oddelené od používateľských údajov;
- Podpora pre použitie ArangoDB ako servera pre webové aplikácie JavaScript s možnosťou prístupu k databáze cez REST/Web API;
- Používanie JavaScriptu pre prehliadačové aplikácie pristupujúce k databáze a pre obslužné programy bežiace na strane DBMS;
- Viacvláknová architektúra, ktorá rozdeľuje záťaž medzi všetky jadrá CPU;
- Flexibilný model ukladania dát, ktorý dokáže kombinovať páry kľúč-hodnota, dokumenty a parametre definujúce vzťahy medzi záznamami (poskytuje prostriedky na prechádzanie vrcholmi grafu);
- Rôzne modely reprezentácie údajov (dokumenty, grafy a mapovania kľúč-hodnota) je možné kombinovať v jednom dotaze, čo uľahčuje agregáciu heterogénnych údajov;
- Podpora zlúčovacích dotazov (JOIN);
- Možnosť vybrať typ indexu, ktorý vyhovuje riešeným úlohám (napríklad môžete použiť index na fulltextové vyhľadávanie);
- Konfigurovateľná spoľahlivosť: aplikácia si sama dokáže určiť, čo je pre ňu dôležitejšie: vyššia spoľahlivosť alebo vyšší výkon;
- Efektívne úložisko, ktoré naplno využíva moderný hardvér (ako napríklad SSD disky) a dokáže využívať veľké vyrovnávacie pamäte;
- Transakcie: možnosť spúšťať dotazy na viacero dokumentov alebo kolekcií naraz s voliteľnou konzistenciou a izoláciou transakcií;
- Podpora replikácie a shardingu: možnosť vytvárať konfigurácie master-slave a distribuovať súbory údajov medzi rôznymi servermi na základe špecifického atribútu;
- Na vytváranie mikroslužieb je poskytnutý framework JavaScript. , vykonávané vo vnútri servera DBMS s priamym prístupom k údajom.
, predstavený vo verzii ArangoDB 3.6:
- Výkon poddotazov, ako aj operácií UPDATE a REPLACE, bol optimalizovaný;
- Bola implementovaná možnosť paralelizácie vykonávania AQL dotazov, čo umožňuje skrátiť čas potrebný na zhromažďovanie údajov distribuovaných medzi rôznymi uzlami klastra;
- Bola implementovaná odložená materializácia dokumentov, ktorá v niektorých situáciách umožňuje eliminovať potrebu úplnej extrakcie irelevantných dokumentov;
- Pri skenovaní dokumentov je zabezpečené včasné odmietnutie dokumentov, ktoré nezodpovedajú zadanému filtru;
- Vylepšený bol fulltextový vyhľadávač ArangoSearch, ktorý podporuje hodnotenie na základe podobnosti údajov. Pridaná bola podpora analyzátora pre automatické dopĺňanie dotazov a implementované boli funkcie TOKENS() a PHRASE() pre dynamické generovanie vyhľadávacích dotazov.
- Pridané nastavenie maxRuntime na selektívne obmedzenie času vykonávania dotazov;
- Pridaná možnosť „--query.optimizer-rules“ na ovládanie aktivácie určitých optimalizácií pri spracovaní dotazov;
- Rozšírené možnosti organizácie prevádzky klastra. Bola pridaná možnosť „--cluster.upgrade“ na výber režimu aktualizácie uzla klastra;
- Pridaná podpora pre TLS 1.3 na šifrovanie komunikačného kanála medzi klientom a serverom (štandardne klient naďalej používa TLS 1.2).
Zdroj: opennet.ru
