NoSQL y Neo4j - PlataformasWeb-P-AA2021/consulta1bim-dani117m GitHub Wiki

Gestor NoSQL

Las bases de datos de NoSQL orientan los grafos, almacenando la información utilizando estructuras conformadas por nodos y aristas

Este tipo de base de datos se característica por no tener un orden en si misma es decir no cumplen con un sistema de entidad relación, tampoco usan estructuras de datos en forma de tabla. Bases de datos NoSQL y Neo4j

Neo4j usa grafos para presentar datos y las relaciones entre ellos, este se define como cualquier representación gráfica formada por vértices, estos e ilustran con círculos y las aristas con líneas, de esto existen diferentes tipos de grafos.

– Grafos no dirigidos: los nodos y las relaciones son intercambiables, su relación se puede interpretar en cualquier sentido.

– Grafos dirigidos: los nodos y las relaciones no son bidireccionales por defecto. Las relaciones

– Grafos con peso: en este tipo de gráficas las relaciones entre nodos tienen algún tipo de valoración numérica.

– Grafos con etiquetas: estos grafos llevan incorporadas etiquetas que pueden definir los distintos vértices y también las relaciones entre ellos.

– Grafos de propiedad: es un grafo con peso, con etiquetas y donde podemos asignar propiedades tanto a nodos como relaciones.

Ejemplos de uso de Neo4j Ebay: para la logística de los servicios de entrega (planificación de itinerarios). IBM: análisis de impacto o recomendaciones en tiempo real en base a los datos.

Arquitectura

Las arquitecturas mas usadas son High Available Cluster: Es la arquitectura que ofrece garantizar al máximo la accesibilidad a los datos, así ocurran fallas en el sistema.

  • Todas las instancias, tanto la principal como las secundarias, tienen una copia completa de toda
  • Todas las instancias se comunican constantemente con el resto para coordinarse y conocer su estado
  • Las instancias secundarias se comunican con la principal para obtener actualizaciones de los datos
  • Las lecturas se pueden hacer sobre cualquier instancia, garantizando la accesibilidad

Casual Cluster: su principal objetivo es dotar de una mayor escalabilidad a la base de datos y una mayor eficiencia de las operaciones de lectura.

  • Core Servers: su principal cometido es el de salvaguardar los datos, siguiendo el protocolo Raft.
  • Read replicas: el cometido de estas réplicas es el de escalar la carga de trabajo de las operaciones de lectura.

Debemos saber Neo4j se complementa con Nodos y Relaciones Nodos, que representan entidades con un concepto de identidad único. Relaciones, que representan conexiones o interacciones entre los diferentes nodos. Lenguaje de consulta (Cyber) Lenguaje desarrollado PARA Neo4j que tiene una gran variedad de grupos de datos, siendo los más básico Booleano, Integer, Float, String, List, Map. Por otro lado, tenemos los de estructura como Nodo Relationship y Path.

Estructura del lenguaje

Operación CREATE permite crear nuevos nodos.

CREATE permite también crear relaciones entre nodos.

Consultas

Es una parte importante las consultas a la base de datos, esta se puede hacer de la siguiente manera. Operador MATCH permite hacer consultas con condiciones sobre los datos de los nodos y sus relaciones.

Consulta avanzada de MATCH

Aunque existen mas comando no se profundizará mas en ello puesto que esta es un área enorme y difícil de abarcar en este wiki.

Ventajas

Un alto rendimiento Aprueba de fallos
Su uso es fácil Sencillez en carga de datos Compatibilidad

Desventajas

Esta no puede usar en bases de datos que necesiten orden y estructura definida puesto que en este caso consumen mucho espacio y la eficiencia es baja.