lanzamento dun SGBD multipropósito , que proporciona modelos de almacenamento flexibles para documentos, gráficos e datos de valores-clave. Accédese á base de datos mediante unha linguaxe de consulta similar a SQL. ou mediante extensións JavaScript dedicadas. Os métodos de almacenamento de datos cumpren cos requisitos de ACID (Atomicidade, Consistencia, Illamento e Durabilidade), admiten transaccións e proporcionan escalabilidade horizontal e vertical. O SGBD pódese xestionar a través dunha interface web ou dun cliente de consola. Código de ArangoDB baixo a licenza Apache 2. O proxecto está escrito en C e JavaScript.
Características principais de ArangoDB:
- A capacidade de prescindir da definición dun esquema de almacenamento de datos (sen esquema): os datos estrutúranse en forma de documentos nos que os metadatos e a información sobre a estrutura están separados dos datos do usuario;
- Compatibilidade para o uso de ArangoDB como servidor para aplicacións web JavaScript coa capacidade de acceder á base de datos a través da API REST/Web;
- Usar JavaScript para aplicacións de navegador que acceden á base de datos e para xestores que se executan no lado do SGBD;
- Arquitectura multiproceso que distribúe a carga entre todos os núcleos da CPU;
- Un modelo de almacenamento de datos flexible que pode combinar pares clave-valor, documentos e parámetros que definen relacións entre rexistros (proporciona medios para percorrer os vértices do gráfico);
- Pódense mesturar diferentes modelos de representación de datos (documentos, gráficos e mapeos de valores clave) nunha única consulta, o que facilita a agregación de datos heteroxéneos;
- Compatibilidade con consultas de fusión (JOIN);
- A capacidade de seleccionar o tipo de índice que se axeita ás tarefas que se están a resolver (por exemplo, pódese usar o índice para a busca de texto completo);
- Fiabilidade configurable: a propia aplicación pode determinar o que é máis importante para ela: maior fiabilidade ou maior rendemento;
- Almacenamento eficiente que aproveita ao máximo o hardware moderno (como as unidades SSD) e pode utilizar grandes cachés;
- Transaccións: a capacidade de executar consultas contra varios documentos ou coleccións á vez, con coherencia e illamento de transaccións opcionais;
- Compatibilidade coa replicación e a fragmentación: a capacidade de crear configuracións mestre-escravo e distribuír conxuntos de datos entre diferentes servidores en función dun atributo específico;
- Ofrécese un marco de traballo de JavaScript para crear microservizos. , executado dentro do servidor SGBD con acceso directo aos datos.
, introducido na versión 3.6 de ArangoDB:
- Optimizouse o rendemento das subconsultas, así como as operacións UPDATE e REPLACE;
- Implementouse a capacidade de paralelizar a execución de consultas AQL, o que permite reducir o tempo necesario para recoller datos distribuídos entre diferentes nodos do clúster;
- Implementouse a materialización diferida de documentos, o que permite nalgunhas situacións eliminar a necesidade de extraer completamente documentos irrelevantes;
- Ao dixitalizar documentos, garántese o rexeitamento anticipado dos documentos que non coincidan co filtro especificado;
- Mellorouse o motor de busca de texto completo de ArangoSearch, que admite a clasificación baseada na semellanza dos datos. Engadiuse a compatibilidade do Analizador co autocompletado de consultas e implementáronse as funcións TOKENS() e PHRASE() para xerar consultas de busca de forma dinámica.
- Engadiuse a configuración maxRuntime para limitar selectivamente o tempo de execución da consulta;
- Engadiuse a opción "--query.optimizer-rules" para controlar a activación de certas optimizacións ao procesar consultas;
- Capacidades ampliadas para organizar o funcionamento do clúster. Engadiuse a opción "--cluster.upgrade" para seleccionar o modo de actualización do nodo do clúster;
- Engadiuse compatibilidade con TLS 1.3 para cifrar a canle de comunicación entre o cliente e o servidor (por defecto, o cliente continúa a usar TLS 1.2).
Fonte: opennet.ru
