ArangoDB – Modelos de datos y modelado

En este capítulo, nos centraremos en los siguientes temas:

  • Interacción con la base de datos
  • Modelo de datos
  • Recibiendo información

ArangoDB admite modelos de datos basados ​​en documentos, así como modelos de datos basados ​​en gráficos. Primero describamos el modelo de datos basado en documentos.

Los documentos de ArangoDB son muy similares al formato JSON. El documento contiene cero o más atributos y se adjunta un valor a cada atributo. El valor puede ser de tipo atómico, como un número, booleano o nulo, una cadena literal o un tipo de datos compuestos, como un documento / objeto incrustado o una matriz. Las matrices o subobjetos pueden estar compuestos por estos tipos de datos, lo que significa que un solo documento puede representar estructuras de datos no triviales.

Más abajo en la jerarquía, los documentos se organizan en colecciones, que pueden no contener documentos (en teoría) o contener más de un documento. Puede comparar documentos con cadenas y colecciones con tablas (aquí, las tablas y filas se refieren a las de los sistemas de gestión de bases de datos relacionales – RDBMS).

Pero en un RDBMS, la definición de columnas es un requisito previo para almacenar registros en una tabla invocando estos esquemas de definición. Sin embargo, como nueva característica, ArangoDB no tiene esquema, no hay una razón a priori para especificar qué atributos tendrá el documento.

Y, a diferencia de un DBMS, cada documento se puede estructurar de forma completamente diferente a otro documento. Estos documentos se pueden guardar juntos en una colección. En la práctica, los documentos de una colección pueden tener características comunes, pero el sistema de base de datos, es decir, ArangoDB en sí, no lo vincula a una estructura de datos específica.

Ahora intentemos entender ArangoDB [graph data model]que requiere colecciones de dos tipos: la primera son colecciones de documentos (conocidas como colecciones de vértices en lenguaje teórico de grupos), la segunda son colecciones de aristas. Hay poca diferencia entre estos dos tipos. Las colecciones de Edge también almacenan documentos, pero tienen dos atributos únicos: _de y _a para crear relaciones entre documentos. En la práctica, un documento (borde de lectura) vincula dos documentos (nodos de lectura), ambos se almacenan en sus colecciones. Esta arquitectura se basa en el concepto teórico gráfico de un gráfico dirigido etiquetado, con la excepción de los bordes, que no solo pueden tener etiquetas, sino que pueden ser un documento completo como JSON.

Para calcular datos nuevos, eliminar documentos o trabajar con ellos, se utilizan consultas que seleccionan o filtran documentos según criterios específicos. Tan simples como una «consulta de muestra» o complejas como «conexiones», las consultas se codifican en AQL, el lenguaje de consulta ArangoDB.

🚫