Nebula Graph an open source graph-oriented DBMS

Nebula Graph is a DBMS (Database management system), which is designed to store efficiently large interconnected data sets that form a graph which can have billions of nodes and trillions of links. Delivers high enterprise-grade performance to simplify the most complex data sets imaginable into meaningful and useful information.

The project It is written in C ++ and distributed under the Apache 2.0 license. The client libraries for accessing the DBMS are ready for 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 the movement of data and providing meta-information on the graph. To ensure data consistency, a protocol based on the RAFT algorithm is used.

NebulaGraph, ensures security by providing access only to authenticated users whose credentials are established through the role-based access control (RBAC) system.

Besides that has the ability to connect different types of motors storage. Support to expand 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.

Of the key features of Nebula Graph, the following stand out:

  • 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 who are interested in being able to install this DBMS on their system, they can do so following the instructions that we share below.

If you have Centos 6 the package you should download is the following. To do this you must open a terminal on your system and in it you will type the following command:

wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.el6-5.x86_64.rpm

In case you use 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

While 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 LTS 18.04

wget https://oss-cdn.nebula-graph.io/package/${release_version}/nebula-${release_version}.ubuntu1804.amd64.deb

To do the package installation downloaded you can do it with 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

While for the package case for Ubuntu:

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, launch of services and others, you can consult all this information In the following link. 


The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published.

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.