Nova versió del DBMS ArangoDB 3.6

publicat llançament d'un SGBD polivalent ArangoDB 3.6, que ofereix models d'emmagatzematge flexibles per a documents, gràfics i dades clau-valor. El treball amb la base de dades es realitza mitjançant un llenguatge de consulta semblant a SQL AQL o mitjançant extensions especials en JavaScript. Els mètodes d'emmagatzematge de dades són compatibles amb ACID (atomicitat, coherència, aïllament i durabilitat), admeten transaccions i proporcionen escalabilitat tant horitzontal com vertical. El SGBD es pot gestionar mitjançant una interfície web o un client de consola Arango SH. codi ArangoDB Distribuït per amb llicència d'Apache 2. El projecte està escrit en C i JavaScript.

Característiques clau d'ArangoDB:

  • La capacitat de prescindir de definir un esquema d'emmagatzematge de dades (sense esquema): les dades s'estructuren en forma de documents en què les metadades i la informació d'estructura estan separades de les dades de l'usuari;
  • Suport per utilitzar ArangoDB com a servidor d'aplicacions web en JavaScript amb la possibilitat d'accedir a la base de dades mitjançant REST/Web API;
  • Ús de JavaScript per a aplicacions de navegador que accedeixen a la base de dades i per als controladors executats al costat del SGBD;
  • Arquitectura multifil que distribueix la càrrega entre tots els nuclis de la CPU;
  • Un model d'emmagatzematge de dades flexible que pot combinar parells clau-valor, documents i paràmetres que defineixen les relacions entre registres (ofereix eines per recórrer els vèrtexs de gràfics);
  • Es poden combinar diferents models de representació de dades (documents, gràfics i parells clau-valor) en una sola consulta, la qual cosa simplifica l'agregació de dades heterogènies;
  • Suport per a consultes de combinació (JOIN);
  • La possibilitat de seleccionar el tipus d'índex que correspon a les tasques que s'estan resolent (per exemple, podeu utilitzar l'índex per a la cerca de text complet);
  • Fiabilitat personalitzable: la mateixa aplicació pot determinar què és més important per a ella: més fiabilitat o major rendiment;
  • Emmagatzematge eficient que aprofita al màxim el maquinari modern (com ara els SSD) i pot utilitzar grans memòria cau;
  • Transaccions: la capacitat d'executar consultes sobre diversos documents o col·leccions alhora amb coherència i aïllament de transaccions opcionals;
  • Suport per a la replicació i la fragmentació: la capacitat de crear configuracions mestre-esclau i distribuir conjunts de dades a diferents servidors en funció d'una característica determinada;
  • Es proporciona un marc de JavaScript per crear microserveis Foxx, executat dins d'un servidor DBMS amb accés directe a les dades.

Canvisproposat a la versió d'ArangoDB 3.6:

  • S'ha optimitzat el rendiment de les subconsultes, així com les operacions UPDATE i REPLACE;
  • S'ha implementat la capacitat de paral·lelitzar l'execució de consultes AQL, que permet reduir el temps de recollida de dades distribuïdes entre diferents nodes del clúster;
  • S'ha implementat la materialització retardada dels documents, que permet en algunes situacions eliminar la necessitat de recuperar completament documents irrellevants;
  • Quan s'escanegen documents, s'assegura el descart anticipat dels documents que no coincideixen amb el filtre especificat;
  • S'ha millorat el motor de cerca de text complet ArangoSearch, donant suport a la classificació basada en la similitud de dades. S'ha afegit el suport de l'analitzador per a la compleció automàtica de consultes, s'han implementat funcions TOKENS() i PHRASE() per generar consultes de cerca de manera dinàmica;
  • S'ha afegit la configuració maxRuntime per limitar selectivament el temps d'execució de la consulta;
  • S'ha afegit l'opció “—query.optimizer-rules” per controlar l'activació de determinades optimitzacions en processar consultes;
  • S'han ampliat les possibilitats d'organització del funcionament del clúster. S'ha afegit l'opció "—cluster.upgrade" per seleccionar el mode d'actualització per als nodes del clúster;
  • S'ha afegit suport per a TLS 1.3 per xifrar el canal de comunicació entre el client i el servidor (per defecte, el client continua utilitzant TLS 1.2).

Font: opennet.ru

Afegeix comentari