Nebula Graph est un SGBD (Système de Gestion de Bases de Données) conçu pour stocker efficacement de vastes ensembles de données interconnectés formant un graphe composé de milliards de nœuds et de trillions de liens. Il offre des fonctionnalités de haute performance, adaptées aux entreprises, permettant de simplifier même les ensembles de données les plus complexes et d'en extraire des informations pertinentes et utiles.
Ce projet est écrit en C++ et distribué sous licence Apache 2.0. Les bibliothèques clientes permettant d'accéder au SGBD sont disponibles en Go, Python et Java.
À propos de Nebula Graph
Le SGBD utilise une architecture distribuée sans ressources partagées, ce qui implique le lancement de processus indépendants et autonomes pour traiter les requêtes graphiques et les processus de stockage stockés.
Le métaservice est dédié à l'orchestration des déplacements de données et à la fourniture de métadonnées sur le graphe. Afin de garantir la cohérence des données, un protocole basé sur l'algorithme RAFT est utilisé.
Nebula Graph garantit la sécurité en n'autorisant l'accès qu'aux utilisateurs authentifiés dont les identifiants sont établis via le système de contrôle d'accès basé sur les rôles (RBAC).
Il permet également de connecter différents types de moteurs de stockage. Il prend en charge l'extension du langage de génération de requêtes avec de nouveaux algorithmes.
Et il offre une latence minimale lors de la lecture ou de l'écriture de données et du maintien de hautes performances. Lors du test d'une base de données de 632 Go, comprenant un graphique de 1.200 milliard de sommets et de 8.400 milliards d'arêtes, sur un nœud de graphique et un cluster de trois nœuds stockés, les retards étaient de l'ordre de plusieurs millisecondes, et les performances ont augmenté à 140 XNUMX requêtes par seconde.

Les principales caractéristiques de Nebula Graph sont les suivantes :
- Évolutivité linéaire.
- Langage de requête de type SQL, suffisamment puissant et facile à comprendre. Les opérations telles que GO (traversée bidirectionnelle des sommets du diagramme), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (en utilisant le résultat de la requête précédente) sont prises en charge. Les variables et index définis par l'utilisateur sont pris en charge.
- Haute disponibilité et tolérance aux pannes.
- Prise en charge de la création d'instantanés avec une panne de l'état de la base de données pour simplifier la création de sauvegarde.
- Prêt pour un usage industriel (déjà utilisé dans l'infrastructure de JD, Meituan et Xiaohongshu).
- La possibilité de modifier le schéma de stockage et de mettre à jour les données sans arrêter ni affecter les opérations.
- Prise en charge TTL pour limiter la durée de vie des données.
- Commandes de gestion des hôtes de stockage et des configurations.
- Outils pour gérer le travail et planifier le début du travail (COMPACT et FLUSH sont toujours pris en charge à partir du travail).
- Recherchez le chemin complet et le chemin le plus court entre des sommets donnés.
- Interface OLAP pour l'intégration avec des plates-formes analytiques tierces.
- Utilitaires pour importer des données à partir de fichiers CSV ou de Spark.
- Exportez les métriques pour la surveillance avec Prometheus et Grafana.
- Interface Web de Nebula Graph Studio pour la visualisation des opérations graphiques, la navigation graphique, la conception de stockage de données et les schémas de chargement.
Comment installer Nebula Graph sous Linux?
Pour ceux qui souhaitent installer ce SGBD sur leur système, vous pouvez le faire en suivant les instructions ci-dessous.
Si vous utilisez CentOS 6, le paquet à télécharger est le suivant. Pour ce faire, ouvrez un terminal sur votre système et saisissez la commande suivante :
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.el6-5.x86_64.rpm
Si vous utilisez CentOS 7 , le paquet que vous devez télécharger est :
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.el7-5.x86_64.rpm
Pour les utilisateurs d'Ubuntu 16.04 LTS, le paquet à télécharger est :
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.ubuntu1604.amd64.deb
Ou si vous utilisez Ubuntu 18.04 LTS
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.ubuntu1804.amd64.deb
Pour installer le paquet téléchargé, vous pouvez utiliser votre gestionnaire de paquets préféré ou le faire depuis le terminal en saisissant l'une des commandes suivantes.
Dans le cas des paquets pour CentOS :
sudo rpm -ivh nebula*.rpm
En revanche, dans le cas du paquet Ubuntu :
sudo dpkg -i nebula*.deb
Enfin, si vous êtes un utilisateur d'Arch Linux, vous pouvez installer le SGBD avec la commande suivante :
sudo pacman -S nebula
Pour en savoir plus sur son utilisation, les lancements de services et autres détails, vous trouverez toutes ces informations en suivant ce lien.