Las bases de datos de gráficos son capaces de representar redes de entidades que están interconectadas en función de varias relaciones. Utilizan nodos, bordes y propiedades para almacenar datos con los que las bases de datos relacionales no están equipadas con. Además, los nodos contienen entidades de datos y los bordes almacenan relaciones entre entidades.
Introducción rápida al redisgraph
Varias bases de datos gráficas para elegir hoy en día, y esta guía se centra en Redisgraph, que es un jugador relativamente nuevo en esta área. El redisgraph se construye como un módulo para Redis que es fácil de usar y extremadamente rápido. Además, para interactuar con las bases de datos redisgraph, se utiliza el lenguaje de consulta Cypher, que también se usa en algunas otras bases de datos de gráficos.
Detrás de escena - Tecnología interna Redisgraph
Redisgraph utiliza matrices dispersas para representar internamente los datos de los gráficos. También aprovecha la biblioteca de graflas altamente optimizada que ofrece una combinación de alto rendimiento y un almacenamiento muy compacto. Para resaltar, Redis es un solo hilo, y así es como se manejan las solicitudes entrantes incluso para Redisgraph; Una vez que una consulta redisgraph alcanza la base de datos Redisgraph, se pasa a un grupo de subprocesos. Porque los módulos redis pueden administrar múltiples hilos. En contraste con otras bases de datos de gráficos, al servir consultas, Redisgraph se centra más en escenarios de alto rendimiento. Entonces, una consulta gráfica en cualquier momento dado se ejecutará en un solo hilo. Puede sonar contradictorio, pero los puntos de referencia demuestran que esto escala perfectamente bien.
Configuración de Redisgraph
Varios enfoques para configurar e interactuar con la base de datos redisgraph como se enumera en lo siguiente.
Usando la imagen de Docker Redisgraph
La forma más rápida de subir y ejecutar una base de datos Redisgraph es descargar y ejecutar una instancia de redisgraph dentro de un contenedor Docker. El siguiente comando Docker se usa para iniciar una instancia de Redis con RedisGraph habilitado.
Docker Run -P 6379: 6379 -it - -RM redislabs/redisgraph
Una vez que el contenedor Docker está activo, puede hablar con la base de datos Redisgraph utilizando Redis-Cli.
Construyendo la fuente
El código fuente para el redisgraph se puede encontrar en el siguiente repositorio.
https: // github.com/redisgraph/redisgraph.git
Se puede clonarse fácilmente con el siguiente comando git.
clon git - -recurse -submodules -j8 https: // github.com/redisgraph/redisgraph.git
En Ubuntu u Os X, debe instalar "CMake" utilizando los siguientes comandos respectivamente.
Ubuntu:
APT-Get Instalar CMAKE M4 AUTOCONF de Built-EssentialS esencial
OS X:
Brew Instalar Cmake M4 Automake Peg LBTOOL AUTOCONF
Dado que la "marca" está disponible en el sistema, puede ejecutar el comando "hacer" desde la raíz del directorio del proyecto. Al construir el código fuente de Redisgraph, el redisgraph.entonces El módulo (compilar binario) se puede encontrar en el SRC directorio.
Es posible cargar el módulo redisgraph utilizando el comando de carga del módulo en tiempo de ejecución. Además, el módulo de carga La directiva se puede establecer en la ruta del binario compilado en el Redis.archivo conf de la siguiente manera.
Redis Cloud con módulo redisgraph habilitado
Una de las formas más fáciles de jugar con un redisgraph es crear una suscripción a la nube de Redis y usar una instancia de redis en la nube con el módulo redisgraph habilitado. Por lo tanto, puede conectarse a la instancia de la nube con Redis-Cli sin ninguna carga adicional de construir la fuente manualmente en la máquina local y cargarla explícitamente.
Consumir la base de datos Redisgraph - Comandos RedisGraph
Una vez que haya terminado con la configuración de la base de datos redisgraph, es hora de consumir la base de datos. Hay varios comandos disponibles para que los clientes de Redis hablen con la base de datos Redisgraph. Lo más importante es que estos comandos básicos aceptan consultas OpencePher. Algunos de los comandos redisgraph fundamentales utilizados frecuentemente se enumeran en lo siguiente.
GRAFICO.CONSULTA - Ejecuta una consulta de Opencher en un gráfico dado que mejora su funcionalidad con funciones y cláusulas adicionales.
GRAFICO.Config get | COLOCAR - Recupera o actualiza el valor de un parámetro de configuración de RedisGraph.
GRAFICO.BORRAR - Elimina el gráfico y las entidades asociadas.
GRAFICO.LISTA - Todas las teclas del gráfico se enumerarán.
GRAFICO.EXPLICAR - Solo muestra el plan de ejecución de consultas y no ejecuta la consulta OpencePher.
Se pueden encontrar más detalles sobre los comandos anteriores aquí.
Caso de uso: red social con base de datos redisgraph
En este ejemplo, utilizaremos una instancia de Redis Cloud con el módulo redisgraph habilitado. El redis-cli se usa para conectarse a la base de datos RedisGraph, y puede verificar que el módulo redisgraph se habilita ejecutando el siguiente comando.
Lista de módulos
Como se esperaba, el grafico El módulo está disponible para usar.
Creando un gráfico
Primero creemos un gráfico que consiste en algunas entidades y relaciones en el contexto de las redes sociales. Se debe seguir el siguiente formato para crear un gráfico utilizando el lenguaje de consulta OpencePher.
(:)-[: ]-> (: )
Suponga que John sigue a Mary, Mary sigue a Jack y Jack sigue a Nisha en una red social. Esto se puede representar utilizando una base de datos de gráficos como RedisGraph fácilmente. Entonces, almacenemos estas entidades y relaciones asociadas con ellos de la siguiente manera utilizando el lenguaje de consulta OpencePher.
GRAFICO.Query SocialNetwork "Create (: Person Nombre: 'John')-[: Sigue]-> (: Persona nombre: 'Mary'), (: Person Nombre: 'Mary')-[: Sigue] -> (: persona nombre: 'Jack'), (: persona nombre: 'Jack')-[: Sigue]-> (: Person Nombre: 'Nisha') "
Cada nueva entrada está separada por una coma.
Al ejecutar el gráfico.El comando de consulta devuelve alguna información útil relacionada con el gráfico creado, como el número de nodos, relaciones y propiedades creadas y establecidas.
Agregar nuevos nodos
Es posible agregar nuevos nodos al gráfico creado anteriormente. Agreguemos una nueva persona llamada "Ricky Martin" al gráfico existente de la siguiente manera.
GRAFICO.Query SocialNetwork "Crear (: Persona Nombre: 'Ricky Martin')"
Consulta del gráfico
También podemos recuperar los datos del gráfico usando gráfico.Comando de consulta de la siguiente manera.
GRAFICO.Consulta SocialNetwork "Match (P: Person)-[: Sigue]-> (P: Persona) Donde Q.nombre = 'Jack' return P, Q "
Como se esperaba, los detalles de la segunda relación deben devolverse de acuerdo con la consulta anterior. Porque la consulta pide el "sigue " relación, pero específicamente, el seguidor debe ser "Jacobo".
En estos ejemplos, utilizamos el cliente redis-cli para interactuar con redisgraph. Pero puede usar varias otras bibliotecas de clientes desarrolladas para diferentes idiomas como Python para consultar las bases de datos Redisgraph.
Conclusión
Para resumir, el redisgraph es una base de datos de gráficos que está disponible como un módulo Redis con capacidades de consulta súper rápida. Como se discutió, hay varias formas en que puede subir y ejecutar una base de datos Redisgraph, como usar una imagen de Docker, construir manualmente el código fuente o incluso con una suscripción a la nube Redis con el módulo redisgraph habilitado.
Los comandos y la API redisgraph se pueden usar para hablar con la base de datos a través de Redis-Cli o cualquier otro cliente de Redis. Como nota final, se recomienda familiarizarse con el lenguaje de consulta OpencePher, que es utilizado por Redisgraph para crear, actualizar o eliminar gráficos, nodos y relaciones.