Nebula Graph is a DBMS (Database Management System) designed to efficiently store large, interconnected datasets that form a graph with billions of nodes and trillions of links. It delivers high-performance, enterprise-level capabilities to simplify even the most complex datasets into meaningful and useful information.
The project is written in C++ and distributed under the Apache 2.0 license. The client libraries for accessing the DBMS are available in Go, Python, and Java.
About Nebula Graph
The DBMS uses a distributed architecture without shared resources, which implies the launch of independent and self-sufficient processes to process graphical requests and stored storage processes.
The meta-service is dedicated to orchestrating data movement and providing meta-information about the graph. To ensure data consistency, a protocol based on the RAFT algorithm is used.
Nebula Graph ensures security by providing access only to authenticated users whose credentials are established through the role-based access control (RBAC) system.
It also has the ability to connect different types of storage engines. It supports expanding the query generation language with new algorithms.
And it provides minimal latency when reading or writing data and maintaining high performance. When testing a 632GB database, including a 1.200 billion vertex and 8.400 billion edge graph, on a one graph node and three stored node cluster, the delays were on the level of several milliseconds, and the performance rose at 140 thousand queries per second.

The key features of Nebula Graph include the following:
- Linear scalability.
- SQL-like query language, powerful enough and easy to understand. Operations such as GO (bi-directional chart vertex traversal), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (using the result of the previous query) are supported. User-defined variables and indexes are supported.
- High availability and fault tolerance.
- Support for creating snapshots with a database state outage to simplify backup creation.
- Ready for industrial use (already used in the infrastructure of JD, Meituan and Xiaohongshu).
- The ability to change the storage scheme and update data without stopping or affecting operations.
- TTL support to limit the lifespan of the data.
- Commands for managing storage hosts and configurations.
- Tools to manage the job and schedule the start of the job (COMPACT and FLUSH are still supported from the job).
- Lookup for the full path and the shortest path between given vertices.
- OLAP interface for integration with third-party analytical platforms.
- Utilities to import data from CSV files or from Spark.
- Export metrics for monitoring with Prometheus and Grafana.
- Nebula Graph Studio web interface for visualization of graphical operations, graphical navigation, data storage design and loading schemes.
How to install Nebula Graph on Linux?
For those interested in installing this DBMS on their system, you can do so by following the instructions below.
If you have CentOS 6, the package you need to download is the following. To do this, open a terminal on your system and type the following command:
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.el6-5.x86_64.rpm
If you are using CentOS 7 , then the package you need to download is:
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.el7-5.x86_64.rpm
For those who are Ubuntu 16.04 LTS users, the package to download is:
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.ubuntu1604.amd64.deb
Or if you have Ubuntu 18.04 LTS
wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.ubuntu1804.amd64.deb
To install the downloaded package, you can use your preferred package manager or you can do it from the terminal by typing one of the following commands.
In the case of packages for CentOS:
sudo rpm -ivh nebula*.rpm
Whereas in the case of the Ubuntu package:
sudo dpkg -i nebula*.deb
Finally, if you are an Arch Linux user , you can install the DBMS with the following command:
sudo pacman -S nebula
To learn more about its use, service launches, and other details, you can find all this information at the following link.