ArangoDB es un sistema de base de datos de grafos desarrollado por ArangoDB Inc. ArangoDB es un sistema de base de datos multimodelo, ya que admite tres modelos de datos (grafos, documentos JSON y clave/valor ) [ 1 ] con un núcleo de base de datos y un lenguaje de consulta unificado AQL (ArangoDB Query Language). AQL es principalmente un lenguaje declarativo [ 2 ] y permite la combinación de diferentes patrones de acceso a datos en una sola consulta. [ 3 ]
ArangoDB es un sistema de base de datos NoSQL [ 4 ] pero AQL es similar en muchos aspectos a SQL , [ 5 ] utiliza RocksDB como motor de almacenamiento.
Historia
ArangoDB GmbH fue fundada en 2014 por Claudius Weinberger y Frank Celler. [ 6 ] Originalmente llamaron al sistema de base de datos “A Versatile Object Container”, o AVOC para abreviar, lo que los llevó a llamar a la base de datos AvocadoDB. [ 7 ] [ 8 ] [ 9 ] Posteriormente, cambiaron el nombre a ArangoDB. [ 10 ] La palabra “arango” se refiere a una variedad de aguacate poco conocida que se cultiva en Cuba. [ 11 ]
En enero de 2017, ArangoDB obtuvo una inversión inicial de 4,2 millones de euros liderada por Target Partners. En marzo de 2019, ArangoDB obtuvo 10 millones de dólares en financiación de serie A [ 12 ] liderada por Bow Capital. En octubre de 2021, ArangoDB obtuvo 27,8 millones de dólares en financiación de serie B liderada por Iris Capital . [ 13 ]
Historial de lanzamientos
Características
- JSON: ArangoDB utiliza JSON como formato de almacenamiento predeterminado, [ 14 ] pero internamente emplea ArangoDB VelocyPack, un formato binario rápido y compacto para la serialización y el almacenamiento. [ 15 ] ArangoDB puede almacenar de forma nativa un objeto JSON anidado como una entrada de datos dentro de una colección. Por lo tanto, no es necesario desensamblar los objetos JSON resultantes. Así, los datos almacenados simplemente heredarían la estructura de árbol de los datos JSON.
- Rendimiento predecible: ArangoDB está escrito principalmente en C++ [ 16 ] y gestiona su propia memoria para evitar el rendimiento impredecible derivado de la recolección de basura .
- Escalabilidad: ArangoDB proporciona escalabilidad a través de la agrupación en clústeres. [ 17 ]
- Fiabilidad: ArangoDB proporciona replicación de centro de datos a centro de datos. [ 18 ]
- Kubernetes : ArangoDB se ejecuta en Kubernetes, incluidos los servicios de Kubernetes basados en la nube Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) y Microsoft Azure Kubernetes Service (AKS). [ 19 ]
- Microservicios: ArangoDB proporciona integración con microservicios JavaScript nativos directamente sobre el DBMS utilizando el framework Foxx. [ 20 ]
- Múltiples lenguajes de consulta: La base de datos tiene su propio lenguaje de consulta, AQL (ArangoDB Query Language), y también proporciona GraphQL para escribir servicios web nativos flexibles directamente sobre el DBMS. [ 21 ]
- Búsqueda: El motor de búsqueda de ArangoDB combina capacidades de recuperación booleana con componentes de clasificación generalizados que permiten la recuperación de datos basada en un modelo de espacio vectorial preciso . [ 22 ]
- Algoritmo Pregel: Pregel es un sistema para el procesamiento de grafos a gran escala. [ 23 ] Pregel está implementado en ArangoDB y puede usarse con algoritmos predefinidos, por ejemplo PageRank , Single-Source Shortest Path y Connected components. [ 24 ]
- Transacciones: ArangoDB admite transacciones definibles por el usuario. Las transacciones en ArangoDB son atómicas, consistentes, aisladas y duraderas ( ACID ), pero solo si los datos no están fragmentados. [ 25 ]
AQL (ArangoDB Query Language) es el lenguaje de consulta tipo SQL [ 26 ] utilizado en ArangoDB. Admite operaciones CRUD tanto para documentos (nodos) como para aristas, pero no es un lenguaje de definición de datos (DDL). AQL sí admite consultas geoespaciales .
AQL está orientado a JSON :
// Devuelve todos los documentos de una colección. PARA doc EN colección DEVOLVER doc // Cuenta el número de documentos en una colección. PARA doc EN colección RECOPILAR CON COUNT EN length DEVOLVER length// Agregar un nuevo documento a nuestra colección INSERT { _ key : "john" , name : "John" , age : 45 } INTO collection// Actualizar el documento con la clave "john" para que tenga la edad 46. UPDATE { _ key : "john" , age : 46 } IN collection// Agrega un atributo numberOfLogins para todos los usuarios con estado activo: FOR u IN users FILTER u . active == true UPDATE u WITH { numberOfLogins : 0 } IN usersEdiciones
- Edición comunitaria: ArangoDB Community Edition es una base de datos de grafos con capacidades nativas de base de datos multimodelo escrita principalmente en C++ y estaba disponible bajo una licencia de código abierto ( Apache 2 ). En octubre de 2023, la licencia del código fuente se cambió de Apache 2.0 a Business Source License , mientras que la licencia para los binarios precompilados se cambió de Apache 2.0 a una "Licencia comunitaria de ArangoDB", que "limita su uso para fines comerciales e impone un límite de 100 GB en el tamaño del conjunto de datos dentro de un solo clúster" [ 27 ].
- Autogestionado comercial: ArangoDB Enterprise es una suscripción de pago que incluye fragmentación con reconocimiento de grafos (llamada “SmartGraphs”) [ 28 ] y replicación de colecciones (llamada “Satellite Collections”) para reducir los tiempos de consulta [ 29 ] y aumentar la seguridad. [ 30 ]
- Nube: ArangoDB se ofrece como un servicio en la nube llamado Oasis, que proporciona bases de datos ArangoDB como servicio ( DBaaS ). ArangoDB Oasis ofrece la funcionalidad de una implementación de clúster de ArangoDB, minimizando la cantidad de esfuerzo administrativo requerido. [ 31 ] ArangoDB Oasis se ejecuta en múltiples proveedores de servicios en la nube , incluidos AWS, Azure y Google Cloud. [ 32 ]
Véase también
Referencias
- ↑ "Ventajas del multimodelo nativo en ArangoDB" . ArangoDB . Consultado el 26 de julio de 2022 .
- ↑ "Introducción al lenguaje de consulta de ArangoDB (AQL) | Documentación de ArangoDB" . www.arangodb.com . Consultado el 26 de julio de 2022 .
- ↑ "Patrones y ejemplos de consultas AQL | Documentación de ArangoDB" . www.arangodb.com . Consultado el 26 de julio de 2022 .
- ↑ Celler, Frank (2012-03-07). "Objetivos de diseño de ArangoDB" . ArangoDB . Recuperado el 26 de julio de 2022 .
- ↑ "Introducción al lenguaje de consulta de ArangoDB (AQL) | Documentación de ArangoDB" . www.arangodb.com . Consultado el 26 de julio de 2022 .
- ↑ "Base de datos de variedades" . www.avocadosource.com . Consultado el 27 de julio de 2022 .
- ↑ Ortell, Bill (8 de marzo de 2021), AvocadoDB , consultado el 27 de julio de 2022
- ↑ Explicación de AvocadoDB , consultado el 27/07/2022
- ↑ Lenguaje de consulta de AvocadoDB Jan Steemann en inglés , consultado el 27/07/2022
- ↑ ""AvocadoDB" se convierte en "ArangoDB"." . ArangoDB . 2012-05-09 . Consultado el 27-07-2022 .
- ↑ "Base de datos de variedades" . www.avocadosource.com . Consultado el 5 de agosto de 2022 .
- ↑ Weinberger, Claudius (14 de marzo de 2019). "ArangoDB recibe financiación de Serie A liderada por Bow Capital" . ArangoDB . Consultado el 27 de julio de 2022 .
- ↑ "ArangoDB anuncia una inversión de serie B de 27,8 millones de dólares para acelerar el desarrollo de la próxima generación de aprendizaje automático gráfico, proporcionando capacidades avanzadas de análisis e IA a escala empresarial" . ArangoDB . Consultado el 27 de julio de 2022 .
- ↑ Explicación de AvocadoDB , consultado el 5 de agosto de 2022
- ↑ Lenguaje de consulta de AvocadoDB Jan Steemann en inglés , consultado el 5 de agosto de 2022
- ↑ ArangoDB , ArangoDB, 5 de agosto de 2022 , consultado el 5 de agosto de 2022
- ↑ "Cluster | Modos de implementación de ArangoDB | Arquitectura | Manual | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ "Replicación DC2DC | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ "Kubernetes | Tutoriales | Manual | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ "Foxx Microservices | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ ArangoDB , ArangoDB, 5 de agosto de 2022 , consultado el 5 de agosto de 2022
- ↑ "ArangoSearch - Motor de búsqueda de texto completo que incluye capacidades de clasificación por similitud" . ArangoDB . Consultado el 5 de agosto de 2022 .
- ↑ "Documento técnico sobre Pregel de la Universidad de Stanford" (PDF) .
- ↑ "Pregel | Ciencia de datos | Manual | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ "Transacciones | Manual | Documentación de ArangoDB" . www.arangodb.com . Consultado el 5 de agosto de 2022 .
- ↑ "Cluster | Modos de implementación de ArangoDB | Arquitectura | Manual | Documentación de ArangoDB" . www.arangodb.com . Consultado el 11 de agosto de 2022 .
- ↑ ArangoDB , ArangoDB, 13 de octubre de 2023 , consultado el 13 de octubre de 2023
- ↑ "ArangoDB SmartGraphs | Documentación de ArangoDB" . www.arangodb.com . Consultado el 11 de agosto de 2022 .
- ↑ "ArangoDB SatelliteCollections | Documentación de ArangoDB" . www.arangodb.com . Consultado el 11 de agosto de 2022 .
- ↑ "Características empresariales de ArangoDB" . ArangoDB . Consultado el 11 de agosto de 2022 .
- ↑ "Primeros pasos con ArangoDB Oasis | Documentación de ArangoDB" . www.arangodb.com . Consultado el 11 de agosto de 2022 .
- ↑ «Oasis ArangoDB» . Oasis de ArangoDB . Consultado el 11 de agosto de 2022 .
- Software de 2011
- Sistemas de gestión de bases de datos gratuitos
- productos NoSQL
- NoSQL
- Bases de datos orientadas a documentos
- bases de datos de grafos
- Almacenamiento estructurado
- Arquitectura de computación distribuida
- Software relacionado con bases de datos para Linux
- Bases de datos clave-valor
- Software que utiliza la licencia Business Source