vydání víceúčelové databáze , která poskytuje flexibilní modely pro uchovávání dokumentů, grafů a dat ve formátu klíč-hodnota. Práce s databází se provádí prostřednictvím dotazovacího jazyka podobného SQL nebo prostřednictvím speciálních rozšíření v JavaScriptu. Metody ukládání dat splňují požadavky ACID (atomarita, konzistence, izolovanost, spolehlivost), podporují transakce a zajišťují horizontální i vertikální škálovatelnost. Správa databáze může probíhat prostřednictvím webového rozhraní nebo konzolového klienta . Kód ArangoDB je licencován pod licencí Apache 2. Projekt je napsán v C a JavaScriptu.
Klíčové vlastnosti ArangoDB:
- Možnost obejít se bez definice schématu ukládání dat (Schema-free) — data jsou strukturou dokumentů, kde jsou metaúdaje a informace o struktuře odděleny od uživatelských dat;
- Podpora použití ArangoDB jako serveru pro webové aplikace v JavaScriptu s možností přístupu k databázi přes REST/Web API;
- Použití JavaScriptu pro aplikace v prohlížeči, které zasahují do databáze, a pro obslužné programy prováděné na straně databáze;
- Vícevláknová architektura, která rozkládá zátěž na všechna jádra CPU;
- Flexibilní model uspořádání dat, ve kterém lze kombinovat páry klíč-hodnota, dokumenty a parametry definující vztahy mezi záznamy (nástroje pro procházení vrcholů grafu jsou poskytovány);
- Různé modely reprezentace dat (dokumenty, grafy a klíč-hodnota) mohou být smíchány v jednom dotazu, což usnadňuje agregaci různorodých dat;
- Podpora dotazů se slučováním (JOIN);
- Možnost výběru typu indexu, který odpovídá řešeným úkolům (například je možné použít index pro fulltextové vyhledávání);
- Nastavitelná spolehlivost: aplikace si sama může určit, co je pro ni důležitější: vyšší spolehlivost nebo vyšší výkon;
- Efektivní úložiště, které plně využívá možnosti moderního hardwaru (například SSD disky) a může používat velké cache;
- Transakce: možnost spouštět dotazy najednou pro více dokumentů nebo kolekcí s volitelnou konzistencí transakcí a izolací;
- Podpora replikace a shardingu: možnost vytvoření master-slave konfigurací a rozložení datových sad na různé servery podle určitého kritéria;
- Pro vytváření mikroslužeb je dodáván JavaScript framework , prováděný uvnitř databázového serveru s přímým přístupem k datům.
, navržené ve verzi ArangoDB 3.6:
- Byla provedena optimalizace výkonu poddotazů, stejně jako operací UPDATE a REPLACE;
- Byla realizována možnost paralelního vykonávání dotazů AQL, což umožňuje zkrátit dobu sběru dat rozložených na různých uzlech clusteru;
- Byla implementována odložená materializace dokumentů, která v některých situacích umožňuje vyhnout se nutnosti plného načítání nerelevantních dokumentů;
- Při skenování dokumentů je zajištěno předčasné odmítnutí dokumentů, které neodpovídají zadanému filtru;
- Byl vylepšen vyhledávací engine ArangoSearch, který podporuje hodnocení s ohledem na podobnost dat. Byla přidána podpora analyzátoru pro automatické doplňování dotazů, implementovány funkce TOKENS() a PHRASE() pro dynamické formování vyhledávacích dotazů;
- Bylo přidáno nastavení maxRuntime pro selektivní omezení doby trvání vykonávání dotazu;
- Byla přidána možnost „—query.optimizer-rules“ pro řízení aktivace určitých optimalizací při zpracování dotazů;
- Byly rozšířeny možnosti pro organizaci práce clustera. Byla přidána možnost „—cluster.upgrade“ pro výběr režimu aktualizace uzlů v clusteru;
- Byla přidána podpora TLS 1.3 pro šifrování spojení mezi klientem a serverem (klient nadále používá TLS 1.2 jako výchozí).
Zdroj: opennet.ru
