![]()
ArangoDB es una Base de Datos open-source NoSQL Multi-Model, es decir que a diferencia del estándar en este mundo (o eres Document, Key-Value, Grafos, Columnar,…) soporta modelos documentales (JSON), grafos y key-value:
ArangoDB está construida en C++ y sus características pueden concretarse en:
ArangoDB es open-source (licencia Apache 2), tiene una versión Community sin coste ni soporte y dos versiones soportadas en función de las necesidades de soporte y funcionalidades:
La versión Enterprise incluye:
ArangoDB incluye una Web UI que permite a los administradores ver un dashboard con el estado de la BD:
crear consultas,
Ver Grafos:
ArangoDB también soporta consultas geoespaciales:
Primero creo el índice:
Y luego busco:
(en este ejemplo estoy buscando en la colección places_to_eat los documentos ordenados por la distancia al punto (50.93,6.93) y quedándome con el más cercano).
ArangoDB soporta Clustering con fail-over automático, replicación síncrona, mantenimiento sencillo. ArangoDB siguiendo el modelo CAP sigue el modelo Master-Master CP con NoSPoF.
Al estilo de Mongo ArangoDB puede extenderse en Javascript (con el motor Google V8) a través del framework Foxx.
ArangoDB ofrece drivers para un gran número de lenguajes y frameworks, además de uno para el lenguaje de grafos Gremlin
Para realizar las consultas ArangoDB ofrece el lenguaje AQL, que es un lenguaje SQL-like para todos los modelos que soporta. Podemos ver cómo compara con SQL aquí.
Por ejemplo un INSERT múltiple:
O un INSERT INTO SELECT:
FILTERS:
GROUPS:
Para trabajar en ArangoDB, por ejemplo en Java:
Creando una BD:
Creando una colección:
Creando un documento tipo Key-Value:
Haciendo una consulta en AQL:
A nivel de grafos hay bastante documentación, en este ejemplo de actores y películas sobre el shell de ArangoDB (arangosh)
Los relaciono:
![]()
Y ya puedo hacer consultas sobre el grafo, como los actores que actuaron en Matrix:
ArangoDB ofrece paquetes para instalar sobre un gran número de sistemas operativos y servicios Cloud:
(Ah, el instalador de Windows es una maravilla :))
En la web del producto existen comparativas:
De ArangoDB con MongoDB: donde ArangoDB soporta multi-model, joins, lenguaje declarativo, transacciones, escalabilidad,…
O de ArangoDB vs Neo4J: donde ArangoDB soporta multi-model, escalabilidad, extensibilidad, rendimiento…
También tienen diversos estudios de rendimiento comparando con otras bases de datos:


























Deja un comentario