En este capÃtulo, nos centraremos en los siguientes temas:
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.
🚫