Hace unos años tuve la oportunidad de probar ArangoDB 2.2.6, una base de datos NoSQL multi-modelo, de la cual os hablé en DBigCloud. Durante todo este tiempo ArangoDB ha ido evolucionando e introduciendo nuevas mejoras. Hoy se ha publicado la versión 3.2, por lo que es un buen momento para hacer un repaso de sus principales características y las novedades de esta versión.
ArangoDB, como ya he comentado anteriormente, es una base de datos multi-modelo en la que podemos utilizar los tres modelos de datos NoSQL más populares cómo son JSON, grafos y clave valor. Utiliza un lenguaje llamado ArangoDB Query Language (AQL) que usa una estructura parecida a SQL para realizar consultas y puede ser utilizado para cualquiera de los tres modelos. Es totalmente software libre, podéis acceder a su repositorio en GitHub, la cual dispone de dos versiones, Community Edition y Enterprise Edition.
ArangoDB en producción
Una de las cosas atractivas de ArangoDB es que puede ser desplegada de diferentes formas para atender nuestras necesidades tanto en producción como en un entorno de desarrollo y poder ir escalando de forma muy sencilla, las posibilidades de despligue son las siguientes:
- En una sola instancia pudiendo usar los tres tipos de modelos a la vez.
- Cluster, tenemos la posibilidad de escalar rapidamente de forma horizontal añadiendo instancias de ArangoDB a nuestro cluster para mejorar el rendimiento de nuestro servicio con un mentenimiento muy sencillo y disponiendo de replicación síncrona, failover automático, autogestión del estado del cluster...
- Arquitectura mixta, pudiendo crear diferentes cluster para cada modelo, con el objetivo de usar arquitecturas modernas las cuales exigen escalabilidad, persistencia políglota y de bajo mantenimiento.
Lo nuevo en ArangoDB 3.2
La nueva versión 3.2, que acaba de ser lanzada, trae consigo novedades tanto en la versión Community como la Enterprise.
- Community Edition:
-
Uso del motor de almacenamiento RocksDB: Ahora puede utilizar tantos datos en ArangoDB como se ajuste a su disco. Además, puede disfrutar de aumentos de rendimiento en escrituras al tener sólo bloqueos a nivel de documento.
-
Pregel: Implementación del procesamiento de gráficos distribuidos con Pregel para descubrir patrones ocultos, identificar comunidades y realizar análisis en profundidad de grandes conjuntos de datos.
-
Tolerancia a fallos con Foxx: Se ha reescrito la gestión interna de Foxx para conseguir que las configuraciones de cluster mantengan siempre sus servicios sincronizados.
-
- Enterprise Edition:
-
Colección de Satélites: Nos permite definir colecciones para fragmentarlas en un clúster y poderlas replicar en cada servidor.
-
Encriptación en reposo: Con RocksDB, puede cifrar los datos almacenados en el disco utilizando un algoritmo AES altamente seguro. Con esta actualización, ArangoDB da otro gran paso hacia el cumplimiento HIPPA.
-
LDAP: Nos permite integrar un servicio externo de LDAP para administrar sus usuarios. Hemos implementado un esquema común que puede ser extendido.
-
Si queréis profundizar más en todas estas novedades, ArangoDB ha actualizado su portal de formación en el que tenéis disponible información más detallada.
Para cualquier duda también puedes consultar la documentación que es bastante completa, disponen de tutoriales de como usar la base de datos con distintos lenguajes de programación como por ejemplo NodeJS, Python, PHP, etc. También disponen de un curso gratuito para saber usar el modelo de grafos con ArangoDB. Para estar al tanto de las últimas novedades tenéis un canal oficial de slack y grupo de google. Y por último recuerda que puedes probar tanto en la versión Community como la Enterprise sin tiempo limitado, ¡A que esperas!
Compártelo: