Les bases de données de graphiques sont capables de représenter des réseaux d'entités qui sont interconnectés en fonction de diverses relations. Ils utilisent des nœuds, des bords et des propriétés pour stocker des données que les bases de données relationnelles ne sont pas équipées. De plus, les nœuds détiennent des entités de données et les bords stockent les relations entre les entités.
Introduction rapide à Redisgraph
Plusieurs bases de données de graphiques à choisir de nos jours, et ce guide se concentre sur Redisgraph, qui est un acteur relativement nouveau dans ce domaine. Le redisgraph est construit comme un module pour redis facile à utiliser et extrêmement rapide. De plus, pour interagir avec les bases de données Redisgraph, le langage de requête Cypher est utilisé, qui est également utilisé dans certaines autres bases de données de graphiques.
Dans les coulisses - Technologie interne redisgraph
Redisgraph utilise des matrices clairsemées pour représenter en interne les données du graphique. Il exploite également la bibliothèque Graphblas hautement optimisée qui donne une combinaison de performances élevées et de stockage très compact. Pour souligner, Redis est unique, et c'est ainsi que les demandes entrantes sont traitées même pour Redisgraph; Une fois qu'une requête Redisgraph atteint la base de données Redisgraph, elle est transmise à un pool de threads. Parce que les modules Redis peuvent gérer plusieurs threads. Contrairement à d'autres bases de données de graphiques, lors du service des requêtes, Redisgraph se concentre davantage sur les scénarios à haut débit. Ainsi, une requête graphique à un moment donné fonctionnera généralement sur un seul fil. Cela peut sembler contre-intuitif, mais les repères prouvent que cela évolue parfaitement bien.
Configuration de Redisgraph
Plusieurs approches pour mettre en place et interagir avec la base de données Redisgraph comme indiqué dans ce qui suit.
Utilisation de l'image Docker Redisgraph
Le moyen le plus rapide de monter et d'exécuter une base de données Redisgraph est de télécharger et d'exécuter une instance Redisgraph dans un conteneur Docker. La commande docker suivante est utilisée pour lancer une instance redis avec redisgraph activé.
Docker Run -P 6379: 6379 -it - RM RedisLabs / Redisgraph
Une fois le conteneur Docker en place, vous pouvez parler à la base de données Redisgraph à l'aide de redis-Cli.
Construire la source
Le code source du redisgraph peut être trouvé dans le référentiel suivant.
https: // github.com / redisgraph / redisgraph.git
Il peut être cloné facilement avec la commande git suivante.
Git Clone --Recurse-Submodules -J8 https: // github.com / redisgraph / redisgraph.git
Dans Ubuntu ou OS X, vous devez installer «Cmake» en utilisant respectivement les commandes suivantes.
Ubuntu:
APT-Get Install Build-Essential Cmake M4 Automake Peg Libtool AutoConf
OS X:
Brew Installer Cmake M4 Automake Peg Libtool AutoConf
Étant donné que la «marque» est disponible dans le système, vous pouvez simplement exécuter la commande «Make» à partir de la racine du répertoire du projet. Lors de la construction du code source Redisgraph, le redisgraph.donc Le module (compilé binaire) peut être trouvé dans le SRC annuaire.
Il est possible de charger le module Redisgraph à l'aide de la commande de chargement du module à l'exécution. De plus, le module de chargement La directive peut être définie sur le chemin du binaire compilé dans le redis.Fichier Conf comme suit.
Redis Cloud avec module Redisgraph activé
L'une des façons les plus simples de jouer avec un redisgraph est de créer un abonnement Redis Cloud et d'utiliser une instance Redis Cloud avec le module Redisgraph activé. Ainsi, vous pouvez vous connecter à l'instance Cloud avec Redis-Cli sans autre charge de construire la source manuellement dans la machine locale et de le charger explicitement.
Consommer des commandes de données Redisgraph - Redisgraph
Une fois que vous avez terminé la configuration de la base de données Redisgraph, il est temps de consommer la base de données. Plusieurs commandes sont disponibles pour les clients redis pour parler à la base de données Redisgraph. Plus important encore, ces commandes de base acceptent les requêtes OpenCyPher. Certaines des commandes de redisgraph fondamentales fréquemment utilisées sont répertoriées dans ce qui suit.
GRAPHIQUE.METTRE EN DOUTE - Exécute une requête OpenCyPher contre un graphique donné qui améliore sa fonctionnalité avec des fonctions et des clauses supplémentaires.
GRAPHIQUE.Config Get | ENSEMBLE - Récupère ou met à jour la valeur d'un paramètre de configuration de redisgraph.
GRAPHIQUE.SUPPRIMER - Supprime le graphique et les entités associées.
GRAPHIQUE.LISTE - Toutes les clés du graphique seront listées.
GRAPHIQUE.EXPLIQUER - Affiche uniquement le plan d'exécution de la requête et n'exécute pas la requête OpenCyPher.
Plus de détails sur les commandes ci-dessus peuvent être trouvés ici.
Cas d'utilisation - Réseau social avec base de données Redisgraph
Dans cet exemple, nous utiliserons une instance Redis Cloud avec le module Redisgraph activé. Le redis-CLI est utilisé pour se connecter à la base de données Redisgraph, et vous pouvez vérifier que le module Redisgraph est activé en exécutant la commande suivante.
Liste de modules
Comme prévu, le graphique Le module est disponible pour utiliser.
Créer un graphique
Créons d'abord un graphique qui se compose de certaines entités et relations dans le contexte des réseaux sociaux. Le format suivant doit être suivi pour créer un graphique à l'aide du langage de requête OpenCyPher.
(:) - [: ] -> (: )
Supposons que John suit Mary, Mary suit Jack et Jack suit Nisha dans un réseau social. Cela peut être représenté à l'aide d'une base de données de graphiques comme Redisgraph facilement. Alors, stockons ces entités et relations qui leur sont associées comme suit en utilisant le langage de la requête OpenCyPher.
GRAPHIQUE.Query SocialNetwork "Create (: Person nom: 'John') - [: suit] -> (: Person name: 'Mary'), (: Person name: 'Mary') - [: suit] -> (: personne nom: 'jack'), (: personne nom: 'jack') - [: suit] -> (: personne nom: 'nisha') "
Chaque nouvelle entrée est séparée par une virgule.
Lors de l'exécution du graphique.La commande de requête renvoie certaines informations utiles liées au graphique créé, tel que le nombre de nœuds, de relations et de propriétés créées et définies.
Ajout de nouveaux nœuds
Il est également possible d'ajouter de nouveaux nœuds au graphique créé précédemment. Ajoutons une nouvelle personne appelée «Ricky Martin» au graphique existant comme suit.
GRAPHIQUE.Requête socialnetwork "créer (: personne nom: 'Ricky Martin')"
Interroger le graphique
Nous pouvons également récupérer les données du graphique à l'aide du graphique.Commande de requête comme suit.
GRAPHIQUE.Query Socialnetwork "Match (P: Person) - [: suit] -> (Q: Person) où q.name = 'jack' return p, q "
Comme prévu, les détails de la deuxième relation doivent être retournés en fonction de la requête ci-dessus. Parce que la requête demande le «suit » relation, mais spécifiquement, le suiveur devrait être "Jack".
Dans ces exemples, nous avons utilisé le client redis-Cli pour interagir avec Redisgraph. Mais vous pouvez utiliser plusieurs autres bibliothèques clients développées pour différentes langues comme Python pour interroger les bases de données Redisgraph.
Conclusion
Pour résumer, le redisgraph est une base de données de graphiques qui est disponible en tant que module Redis avec des capacités de requête super-rapides. Comme discuté, il existe plusieurs façons de remonter et d'exécuter une base de données Redisgraph, comme l'utilisation d'une image Docker, la construction manuelle du code source, ou même avec un abonnement Redis Cloud avec le module Redisgraph activé.
Les commandes Redisgraph et l'API peuvent être utilisées pour parler à la base de données via Redis-Cli ou tout autre client Redis. En tant que note finale, il est recommandé de se familiariser avec le langage de requête OpenCyPher, qui est utilisé par Redisgraph pour créer, mettre à jour ou supprimer des graphiques, des nœuds et des relations.