First stable release of graph-oriented Nebula Graph DBMS

Took place open DBMS release Nebula Graph 1.0.0, designed to efficiently store large sets of interconnected data that form a graph that can have billions of nodes and trillions of links. The project is written in C++ and spreads licensed under Apache 2.0. Client libraries for accessing the DBMS are prepared for Go, Python, and Java. DBMS development startup VESoft a few days ago got the first tranche of investments in the amount of $8 million.

In DBMS applies a distributed architecture without resource sharing (shared-nothing), which implies the launch of independent and self-sufficient graphd query processing processes and storaged storage processes. The orchestration of data movement and the provision of meta-information about the graph are handled by the meta-service. An algorithm-based protocol is used to ensure data consistency RAFTING.

First stable release of graph-oriented Nebula Graph DBMS

Main features of Nebula Graph:

  • Provision security by granting access only to authenticated users whose permissions are set through a role-based access control (RBAC) system.
  • Possibility connection of different types of storage engines. Support for expanding the query generation language with new algorithms.
  • Ensuring minimal latency when reading or writing data and maintaining high throughput. At testing in a cluster of one graphd node and three storaged nodes, a 632 GB database, including a garf of 1.2 billion vertices and 8.4 billion edges, the delays were at the level of several milliseconds, and the throughput was up to 140 thousand requests per second.

    First stable release of graph-oriented Nebula Graph DBMS

  • Linear scalability.
  • SQL-like query language, powerful enough and easy to understand. Supported operations are GO (bidirectional traversal of graph vertices), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (using the result from a previous query). Indexes and user-defined variables are supported.
  • Ensuring high availability and fault tolerance.
  • Support for creating snapshots with a snapshot of the state of the database to simplify the creation of backups.
  • 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 ongoing operations.
  • TTL support to limit data lifetime.
  • Commands to manage settings and storage hosts.
  • Tools for managing jobs and scheduling the launch of jobs (of jobs, COMPACT and FLUSH are currently supported).
  • Operations for finding the full path and the shortest path between given vertices.
  • OLAP interface for integration with third-party analytics platforms.
  • Utilities for importing data from CSV files or from Spark.
  • Export metrics for monitoring using Prometheus and Grafana.
  • Web interface
    Nebula Graph Studio to visualize operations with a graph, navigate through a graph, design a scheme for storing and loading data.
    First stable release of graph-oriented Nebula Graph DBMS

Source: opennet.ru

Add a comment