utgÄvan av en mÄngsidig databashanterare , som tillhandahÄller flexibla modeller för lagring av dokument, grafer och nyckel-vÀrde-data. Arbetet med databasen sker genom ett SQL-liknande frÄgesprÄk eller via speciella tillÀgg pÄ JavaScript. Metoderna för datalagring uppfyller ACID-kraven (atomiskhet, konsistens, isolering, hÄllbarhet), stödjer transaktioner och erbjuder bÄde horisontell och vertikal skalbarhet. Hanteringen av databashanteraren kan göras via ett webgrÀnssnitt eller en kommandoradsklient . Koden för ArangoDB Àr licensierad under Apache 2. Projektet Àr skrivet i C och JavaScript.
Nyckelfunktioner för ArangoDB:
- Möjlighet att undvika att definiera en lagringsschema (Schema-free) â data struktureras i form av dokument, dĂ€r metadata och informationsstruktur separeras frĂ„n anvĂ€ndardata;
- Stöd för att anvÀnda ArangoDB som server för webbaserade applikationer pÄ JavaScript med möjlighet att nÄ databasen via REST/Web API;
- AnvÀndning av JavaScript för webblÀsarapplikationer som interagerar med databasen och för handlare som körs pÄ databashanteraren;
- MultitrÄdad arkitektur som distribuerar belastningen över alla CPU-kÀrnor;
- Flexibel datalagringsmodell dÀr nyckel-vÀrde-par, dokument och parametrar som definierar relationer mellan poster kan kombineras (det finns verktyg för att traversera grafens noder);
- Olika datamodeller (dokument, grafer och nyckel-vÀrde-kopplingar) kan blandas i en enda frÄga, vilket förenklar aggregeringen av heterogen data;
- Stöd för sammanslagning av frÄgor (JOIN);
- Möjlighet att vÀlja typ av index som passar uppgifterna (till exempel kan ett index anvÀndas för fulltextsökning);
- Anpassningsbar tillförlitlighet: applikationen kan sjÀlv bestÀmma vad som Àr viktigare: högre tillförlitlighet eller högre prestanda;
- Ett effektivt lagringssystem som fullt ut utnyttjar moderna hÄrdvarans möjligheter (till exempel SSD-enheter) och kan anvÀnda stora cache-minnen;
- Transaktioner: möjlighet att köra frÄgor samtidigt för flera dokument eller samlingar med valfri transaktionskonsistens och isolering;
- Stöd för replikering och sharding: möjlighet att skapa master-slave-konfigurationer och fördela dataset pÄ olika servrar baserat pÄ specifika kriterier;
- För skapande av mikrotjÀnster tillhandahÄlls ett JavaScript-ramverk , som körs inuti databasservern med direkt Ätkomst till data.
, som erbjuds i versionen ArangoDB 3.6:
- Optimering av prestanda för underfrÄgor samt operationer UPDATE och REPLACE har genomförts;
- Möjlighet till parallell exekvering av AQL-frÄgor har implementerats, vilket gör att insamlingstiden för data som distribueras över olika noder i klustret kan minskas;
- Implementering av fördröjd materialisering av dokument har genomförts, vilket i vissa situationer eliminerar behovet av att helt extrahera irrelevanta dokument;
- Tidigt avvisande av dokument som inte uppfyller det angivna filtret sÀkras vid genomsökning av dokument;
- ArangoSearch-motorn för fulltext sökning har förbÀttrats, som nu stöder rankning med hÀnsyn till datalikhet. Stöd för en analysator för automatisk komplettering av frÄgor har lagts till, och funktionerna TOKENS() och PHRASE() har implementerats för dynamisk formulering av sökfrÄgor;
- InstÀllningen maxRuntime har lagts till för att selektivt begrÀnsa körningstiden för frÄgor;
- Alternativet "âquery.optimizer-rules" har lagts till för att styra aktiveringen av specifika optimeringar vid bearbetning av frĂ„gor;
- Möjligheter för organisering av klustrets arbete har utökats. Alternativet "âcluster.upgrade" har lagts till för att vĂ€lja uppgraderingslĂ€ge för noderna i klustret;
- Stöd för TLS 1.3 för kryptering av kommunikationskanalen mellan klient och server har lagts till (standard Àr att klienten fortsÀtter att anvÀnda TLS 1.2).
KĂ€lla: opennet.ru
