a multi-funkciós adatbázis megjelenése , amely rugalmas dokumentum-, gráf- és kulcs-érték adatmodelleket biztosít. Az adatbázis SQL-szerű lekérdező nyelven keresztül érhető el vagy JavaScript nyelvű speciális kiterjesztéseken keresztül. Az adatok tárolási módja megfelel az ACID (atomaritás, konzisztencia, izoláltság, megbízhatóság) követelményeinek, támogatja a tranzakciókat és biztosítja a vízszintes és függőleges skálázhatóságot. Az adatbázis kezelése végezhető webes felületen vagy parancssori kliensen keresztül . Az ArangoDB kódja Apache 2 licenc alatt áll. A projekt C és JavaScript nyelveken készült.
Az ArangoDB kulcsfontosságú jellemzői:
- Nincs szükség az adatok tárolási séma előzetes meghatározására (Schema-free) – az adatok dokumentumok formájában strukturálódnak, ahol a metaadatok és a struktúra információja elválik a felhasználói adatoktól;
- Az ArangoDB használatának támogatása webalkalmazások szervereként JavaScript nyelven, lehetővé téve az adatbázis elérését REST/Web API-n keresztül;
- JavaScript használata az adatbázishoz kapcsolódó böngészőalkalmazások és az adatbázison végrehajtott kezelők esetén;
- Több szálú architektúra, amely elosztja a terhelést a CPU összes magán;
- Rugalmas adat-tárolási modell, amelyben kombinálhatók kulcs-érték párok, dokumentumok és kapcsolati paraméterek, melyek a rekordok közötti kapcsolatokat határozzák meg (eszközök biztosítva a gráf csúcsainak bejárásához);
- Különböző adatmegjelenítési modellek (dokumentumok, gráfok és kulcs-érték párok) egy lekérdezésben keverhetők, ami egyszerűsíti a heterogén adatok aggregálását;
- A lekérdezések összekapcsolásának (JOIN) támogatása;
- Az alkalmazás számára megfelelő index típusának kiválasztásának lehetősége, azaz például a teljes szöveg kereséshez használt index használata;
- Testreszabható megbízhatóság: az alkalmazás saját maga meghatározhatja, hogy számára mi fontosabb: a nagyobb megbízhatóság vagy a nagyobb teljesítmény;
- Hatékony tárolás, amely a modern hardverek (például SSD meghajtók) teljes lehetőségeit kihasználja, és nagy cache-k alkalmazását teszi lehetővé;
- Tranzakciók: lehetőség arra, hogy egyszerre több dokumentum vagy gyűjtemény számára indítsanak lekérdezéseket opciós tranzakciós konzisztenciával és izolálással;
- Replikációs és sharding támogatás: lehetőség master-slave konfigurációk létrehozására és az adathalmazok eltérő szerverekre való elosztására egy meghatározott jelző alapján;
- Mikroszolgáltatások létrehozásához JavaScript keretrendszer áll rendelkezésre , amely a DBMS szerverén belül fut, közvetlen adateléréssel.
, amelyek az ArangoDB 3.6-os verzióban érhetők el:
- A részlekérdezések, valamint az UPDATE és REPLACE műveletek teljesítménye optimalizálva lett;
- Megvalósításra került a párhuzamos AQL lekérdezések végrehajtásának lehetősége, ami csökkenti az adatok összegyűjtésének idejét, amelyek különböző klasztercsomópontokon találhatók;
- Bevezetésre került a késleltetett dokumentumok anyagiasítása, amely bizonyos esetekben lehetővé teszi a nem releváns dokumentumok teljes kivonásának elkerülését;
- A dokumentumok átvizsgálása során korai elvetésre került a megadott szűrőnek nem megfelelő dokumentumok;
- Továbbfejlesztették az ArangoSearch teljes szöveges keresőmotort, amely támogatja az adatok hasonlósága szerinti rangsorolást. Új elemzőt adtak hozzá a lekérdezések automatikus kiegészítéséhez, implementálták a TOKENS() és PHRASE() funkciókat a keresési lekérdezések dinamikus formálására;
- Hozzáadták a maxRuntime beállítást a lekérdezés végrehajtási idejének szelektív korlátozásához;
- Hozzáadták a "--query.optimizer-rules" opciót a lekérdezések feldolgozása során meghatározott optimalizálások aktiválásának kezelésére;
- Bővültek a klaszter munkájának szervezésére vonatkozó lehetőségek. Hozzáadták a "--cluster.upgrade" opciót a klaszter csomópontjának frissítési módjának kiválasztásához;
- TLS 1.3 támogatás került bevezetésre az ügyfél és a szerver közötti kommunikációs csatorna titkosítására (alapértelmezetten az ügyfél továbbra is TLS 1.2-t használ).
Forrás: opennet.ru
