# vesoft-inc/nebula

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vesoft-inc-nebula).**

12,239 stars · 1,315 forks · C++ · Apache-2.0

## Links

- GitHub: https://github.com/vesoft-inc/nebula
- Homepage: https://nebula-graph.io
- awesome-repositories: https://awesome-repositories.com/repository/vesoft-inc-nebula.md

## Topics

`big-data` `cpp` `database` `distributed` `distributed-systems` `graph` `graph-database` `graphdb` `hacktoberfest` `nebula` `nebula-graph` `nebulagraph` `raft` `scalability`

## Description

Nebula is a distributed graph database designed for storing and querying massive volumes of interconnected vertices and edges across a horizontally scalable cluster. It functions as a Kubernetes-native database and a distributed graph analytics engine, utilizing a Raft-based distributed store to ensure strong consistency and high availability.

The system features an OpenCypher query engine for performing complex graph traversals and pattern matching. It distinguishes itself with a decoupled compute-storage architecture and a shared-nothing distributed design, allowing query processing and data storage to scale independently.

The platform covers a broad range of capabilities, including distributed graph analytics for algorithms like PageRank, full-text search, and property indexing. It provides tools for data ingestion via CSV and real-time synchronization, as well as integration with big data frameworks like Apache Spark and Apache Flink.

Deployment and management are supported through a Kubernetes-native operator, a native command-line interface, and a web-based graph explorer.

## Tags

### Data & Databases

- [Distributed Graph Storage](https://awesome-repositories.com/f/data-databases/distributed-graph-storage.md) — Manages massive volumes of interconnected vertices and edges across a horizontally scalable cluster for high availability.
- [Distributed Storage Engines](https://awesome-repositories.com/f/data-databases/distributed-storage-engines.md) — Features a distributed storage engine that manages massive volumes of vertices and edges across a horizontally scalable cluster. ([source](https://cdn.jsdelivr.net/gh/vesoft-inc/nebula@master/README.md))
- [Cypher Engines](https://awesome-repositories.com/f/data-databases/query-engines/cypher-engines.md) — Provides a query engine that executes graph traversals and pattern matching using the OpenCypher standard.
- [Log-Structured Merge-Trees](https://awesome-repositories.com/f/data-databases/append-only-storage-engines/tree-based-storage/log-structured-merge-trees.md) — Utilizes a log-structured merge-tree storage engine for high-throughput writes and efficient range scans.
- [Data Sharding](https://awesome-repositories.com/f/data-databases/data-sharding.md) — Distributes graph data across nodes by hashing vertex IDs to balance load and enable scalability.
- [Strongly Consistent Data Stores](https://awesome-repositories.com/f/data-databases/database-management-systems/database-architectures/strongly-consistent-data-stores.md) — Implements a distributed store that ensures strong consistency and high availability across replicas using the Raft consensus protocol. ([source](https://cdn.jsdelivr.net/gh/vesoft-inc/nebula@master/README.md))
- [Distributed Consensus Stores](https://awesome-repositories.com/f/data-databases/distributed-consensus-stores.md) — Utilizes a Raft-based distributed store to ensure strong consistency and high availability across replicas.
- [Distributed Query Processing](https://awesome-repositories.com/f/data-databases/distributed-query-processing.md) — Decomposes complex graph traversals into parallel sub-tasks executed concurrently across multiple storage nodes.
- [Distributed Sharding Architectures](https://awesome-repositories.com/f/data-databases/distributed-sharding-architectures.md) — Implements a sharding mechanism that distributes the graph across nodes based on vertex IDs for horizontal scaling.
- [Graph Databases](https://awesome-repositories.com/f/data-databases/graph-databases.md) — Provides a distributed graph database designed to store and query massive volumes of interconnected data.
- [Decoupled Compute and Storage Scaling](https://awesome-repositories.com/f/data-databases/horizontal-scaling/decoupled-compute-and-storage-scaling.md) — Separates query processing from storage to allow resources to scale independently based on workload.
- [Language SDKs](https://awesome-repositories.com/f/data-databases/language-sdks.md) — Provides native client libraries in multiple programming languages for programmatic database operations. ([source](https://docs.nebula-graph.io/1.2.1/))
- [Graph Analytics](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/search-engine-platforms/search-and-analytics-engines/graph-analytics.md) — Implements distributed graph-native analytical algorithms such as PageRank and community detection on massive datasets.
- [Storage-Compute Architectures](https://awesome-repositories.com/f/data-databases/storage-compute-architectures.md) — Implements an architecture that decouples the query processing layer from the data storage layer for independent scaling.
- [Consensus-Based Replication](https://awesome-repositories.com/f/data-databases/storage-configuration/redundant-storage-configurations/consensus-based-replication.md) — Configures data replicas across nodes via a consensus protocol to ensure high availability. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/0.FAQ/))
- [Backup and Recovery](https://awesome-repositories.com/f/data-databases/backup-and-recovery.md) — Supports the creation of point-in-time snapshots and recovery tools for disaster recovery. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))
- [Apache Spark Connectors](https://awesome-repositories.com/f/data-databases/big-data-processing/apache-spark-connectors.md) — Provides a distributed processing connector for exchanging data between the database and Apache Spark clusters. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Data Pipeline Connectors](https://awesome-repositories.com/f/data-databases/big-data-processing/data-pipeline-connectors.md) — Enables high-volume data exchange between the graph database and distributed frameworks like Apache Spark and Flink.
- [Visual Data Explorers](https://awesome-repositories.com/f/data-databases/big-data-processing/visual-data-explorers.md) — Ships a web-based explorer for composing schemas, importing data, and visually exploring graph relationships. ([source](https://docs.nebula-graph.io/1.2.1/))
- [Bulk Data Migrations](https://awesome-repositories.com/f/data-databases/data-import-and-export/bulk-data-migrations.md) — Enables distributed migration of large volumes of batch or streaming data from external environments using Apache Spark. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Distributed Computing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/distributed-processing-frameworks/distributed-computing.md) — Enables the execution of complex graph algorithms on dataframes via a distributed computing engine. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Full Text Search](https://awesome-repositories.com/f/data-databases/full-text-search.md) — Implements specialized indexing for string properties to enable complex phrase and pattern-based text retrieval across the graph. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))
- [CSV Bulk Importers](https://awesome-repositories.com/f/data-databases/graph-data-models/graph-data-loaders/csv-bulk-importers.md) — Provides a utility for reading local CSV files and loading their contents into the graph database. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Graph Property Indexing](https://awesome-repositories.com/f/data-databases/knowledge-graph-indexers/index-creation/graph-property-indexing.md) — Supports creating exact-match and range indexes on vertex and edge properties to accelerate graph lookups and filtering. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))
- [Real-time Data Synchronization](https://awesome-repositories.com/f/data-databases/real-time-data-synchronization.md) — Supports continuous streaming of changes from external databases for near-instant updates to the graph. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Simple Path Discovery](https://awesome-repositories.com/f/data-databases/simple-path-discovery.md) — Calculates the precise sequence of edges and vertices connecting two specific points in the network. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))
- [Apache Flink Connectors](https://awesome-repositories.com/f/data-databases/streaming-source-and-sink-integration/apache-flink-connectors.md) — Provides a specialized stream processing connector for real-time data exchange with Apache Flink. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Subgraph Extractions](https://awesome-repositories.com/f/data-databases/subgraph-extractions.md) — Isolates specific portions of the graph based on criteria to analyze localized sets of relationships. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))

### Artificial Intelligence & ML

- [Graph Pattern Matching](https://awesome-repositories.com/f/artificial-intelligence-ml/pattern-matching-engines/graph-pattern-matching.md) — Supports declarative retrieval of complex graph patterns using structural match clauses. ([source](https://github.com/vesoft-inc/nebula/wiki/Nebula-Graph-Roadmap-2020))

### DevOps & Infrastructure

- [Database Cluster Orchestration](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-cluster-provisioning/database-cluster-orchestration.md) — Offers a Kubernetes-native operator to automate the deployment, scaling, and maintenance of database clusters. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Database Cluster Deployments](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments/database-cluster-deployments.md) — Provides a Kubernetes-native operator to automate the deployment and lifecycle management of distributed database clusters.
- [Cloud Native Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cloud-native-orchestration.md) — Offers automated deployment and lifecycle management of database clusters using cloud-native orchestration.
- [Capacity Scaling](https://awesome-repositories.com/f/devops-infrastructure/cluster-node-management/capacity-scaling.md) — Allows manual addition or removal of meta, graph, and storage nodes to scale cluster capacity. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/0.FAQ/))

### Networking & Communication

- [Raft Consensus Implementations](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/distributed-consensus-protocols/raft-consensus-implementations.md) — Uses the Raft consensus protocol to ensure strong consistency and high availability across replicas.

### Software Engineering & Architecture

- [Graph Traversal Engines](https://awesome-repositories.com/f/software-engineering-architecture/recursive-validation-engines/recursive-tree-traversers/dependency-tree-traversers/path-based-tree-traversers/graph-traversal-engines.md) — Provides a distributed graph engine designed to traverse highly connected data in milliseconds for complex workloads. ([source](https://cdn.jsdelivr.net/gh/vesoft-inc/nebula@master/README.md))
- [Database Node Distribution](https://awesome-repositories.com/f/software-engineering-architecture/shared-nothing-architectures/database-node-distribution.md) — Employs a shared-nothing architecture to distribute data and processing across independent nodes.
- [Programmatic Graph APIs](https://awesome-repositories.com/f/software-engineering-architecture/programmatic-graph-apis.md) — Provides native language SDKs allowing applications to programmatically perform data operations on the graph.

### User Interface & Experience

- [OpenCypher Implementations](https://awesome-repositories.com/f/user-interface-experience/chart-components/query-bound-chart-renderers/data-query-execution-apis/opencypher-implementations.md) — Implements a query engine compatible with the OpenCypher standard for performing complex graph traversals.

### Part of an Awesome List

- [Kubernetes Operators](https://awesome-repositories.com/f/awesome-lists/devops/kubernetes-operators.md) — Provides a Kubernetes-native operator to automate the deployment and lifecycle management of database clusters.

### Development Tools & Productivity

- [Database Command-Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/database-command-line-interfaces.md) — Provides a native CLI for executing graph queries and managing database settings. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))

### System Administration & Monitoring

- [Cluster Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/cluster-health-monitoring.md) — Includes a visualization dashboard for tracking the operational status and health of distributed cluster services. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/6.eco-tool-version/))
- [Shard Rebalancing](https://awesome-repositories.com/f/system-administration-monitoring/cluster-management/shard-rebalancing.md) — Provides automated processes for redistributing data shards across storage nodes to maintain balanced load and performance. ([source](https://docs.nebula-graph.io/3.6.0/20.appendix/0.FAQ/))
