# NebulaGraph

> open-source distributed graph database system

**Wikidata**: [Q115925815](https://www.wikidata.org/wiki/Q115925815)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/NebulaGraph)  
**Source**: https://4ort.xyz/entity/nebulagraph

## Summary
NebulaGraph is an open-source distributed graph database system designed for high-performance graph data storage and processing. It supports large-scale graph data with billions of vertices and trillions of edges, offering a distributed architecture for scalability and fault tolerance.

## Key Facts
- NebulaGraph is an open-source distributed graph database system
- First released in 2018
- Licensed under Apache Software License 2.0
- Written in Java
- Supports graph data with billions of vertices and trillions of edges
- Available on GitHub at https://github.com/vesoft-inc/nebula
- Has 2 Wikipedia language editions (English and French)
- Latest version as of March 2023 is 3.0.1 (released March 15, 2022)

## FAQs

### Q: What is NebulaGraph used for?
A: NebulaGraph is used for storing and querying large-scale graph data, making it suitable for applications like social networks, knowledge graphs, fraud detection, and recommendation systems that require complex relationship analysis.

### Q: Is NebulaGraph free to use?
A: Yes, NebulaGraph is open-source software licensed under the Apache Software License 2.0, which allows users to freely run, study, change, and distribute the software and modified versions.

### Q: What programming language is NebulaGraph written in?
A: NebulaGraph is written in Java and runs on the Java platform, making it compatible with various operating systems that support Java.

## Why It Matters
NebulaGraph addresses the growing need for efficient graph data management in an era where relationships between data points are increasingly important. As businesses and organizations deal with increasingly complex interconnected data, traditional relational databases often struggle to efficiently store and query these relationships. NebulaGraph provides a scalable, distributed solution that can handle massive graph datasets while maintaining high performance for complex queries. Its open-source nature democratizes access to enterprise-grade graph database technology, allowing developers and organizations of all sizes to leverage graph computing capabilities without prohibitive licensing costs. The system's ability to handle billions of vertices and trillions of edges makes it particularly valuable for large-scale applications in social networks, e-commerce recommendations, cybersecurity, and knowledge management systems.

## Notable For
- Distributed architecture that enables horizontal scaling for massive graph datasets
- Native graph processing engine optimized for graph traversal and pattern matching
- Open-source licensing under Apache 2.0, promoting community development and adoption
- Support for both OLTP and OLAP workloads in graph computing
- Compatibility with popular graph query languages and APIs

## Body
### Architecture and Design
NebulaGraph employs a distributed architecture consisting of three main components: Graph Service, Storage Service, and Meta Service. This separation of concerns allows for independent scaling of different functional modules. The system uses a shared-nothing distributed architecture where each node operates independently with its own memory and storage, communicating through a network layer.

### Data Model
The database uses a property graph model where data is represented as vertices (nodes) and edges (relationships). Both vertices and edges can have properties (key-value pairs) attached to them. Vertices are identified by unique IDs, and edges have direction, source vertex, destination vertex, and ranking information.

### Query Language
NebulaGraph supports its own query language called nGQL (Nebula Graph Query Language), which is designed to be SQL-like for ease of adoption while being optimized for graph operations. The language supports pattern matching, aggregation, and various graph algorithms.

### Performance Characteristics
The system is designed for high-performance graph operations with features like index support, parallel query execution, and optimized storage formats. It can handle complex graph traversals and pattern matching queries efficiently across distributed datasets.

### Ecosystem and Integration
NebulaGraph integrates with various tools and platforms in the data ecosystem. It provides connectors for popular programming languages, supports standard protocols for data import/export, and can be deployed on cloud platforms or on-premises infrastructure. The project maintains an active community and regular release cycle with version updates approximately every 2-3 months.

## References

1. [Release 1.0.0. 2020](https://github.com/vesoft-inc/nebula/releases/tag/v1.0.0)
2. [Release 1.0.1. 2020](https://github.com/vesoft-inc/nebula/releases/tag/v1.0.1)
3. [Release 1.1.0. 2020](https://github.com/vesoft-inc/nebula/releases/tag/v1.1.0)
4. [Release 1.2.0. 2020](https://github.com/vesoft-inc/nebula/releases/tag/v1.2.0)
5. [Release 1.2.1. 2021](https://github.com/vesoft-inc/nebula/releases/tag/v1.2.1)
6. [Release 2.6.0. 2021](https://github.com/vesoft-inc/nebula/releases/tag/v2.6.0)
7. [Release 2.6.1. 2021](https://github.com/vesoft-inc/nebula/releases/tag/v2.6.1)
8. [Release 2.6.2. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v2.6.2)
9. [Release 3.0.0. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.0.0)
10. [Release 3.0.1. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.0.1)
11. [Release 3.0.2. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.0.2)
12. [Release 3.1.0. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.1.0)
13. [Release 3.2.0. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.2.0)
14. [Release 3.2.1. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.2.1)
15. [Release 3.3.0. 2022](https://github.com/vesoft-inc/nebula/releases/tag/v3.3.0)
16. [Release 3.4.0. 2023](https://github.com/vesoft-inc/nebula/releases/tag/v3.4.0)
17. [Release 3.4.1. 2023](https://github.com/vesoft-inc/nebula/releases/tag/v3.4.1)
18. [Release 3.5.0. 2023](https://github.com/vesoft-inc/nebula/releases/tag/v3.5.0)
19. [Release 3.6.0. 2023](https://github.com/vesoft-inc/nebula/releases/tag/v3.6.0)
20. [Release 3.8.0. 2024](https://github.com/vesoft-inc/nebula/releases/tag/v3.8.0)