GitHub user dosubot[bot] added a comment to the discussion: [Question] Why we 
use relational/SQL based backend storage in GraphDB?

<!-- Answer -->
The core of HugeGraph's designation as a graph database lies not in its storage 
mechanism but in how it models, stores, and queries data. HugeGraph uses a 
graph data model, representing data as vertices (nodes) and edges 
(relationships), which fundamentally differs from the tabular model of 
relational databases. This model facilitates direct and efficient querying of 
relationships and patterns within the data, leveraging graph-specific 
operations and algorithms.

HugeGraph supports various backends like MySQL, RocksDB, Cassandra, and HBase, 
not as a limitation to relational models but as a flexible foundation for 
storing graph data. On top of these storage systems, HugeGraph implements 
graph-specific features such as schema management, indexing strategies for 
efficient query processing, and graph traversal optimizations. These features 
enable HugeGraph to provide the advantages of graph databases, such as improved 
search speeds and efficient data relationship exploration, regardless of the 
underlying storage system.

The use of traditional databases for storage allows HugeGraph to leverage their 
robustness, scalability, and persistence capabilities while abstracting their 
complexities away from the user. This abstraction is achieved through a unified 
graph processing interface that translates graph operations into 
database-specific queries and updates, ensuring that the graph model's benefits 
are fully realized.

In essence, HugeGraph's ability to serve as a true graph database is derived 
from its implementation of graph-specific operations, optimizations, and its 
support for graph query languages, rather than the nature of its storage 
backend. This approach allows HugeGraph to offer the unique advantages of graph 
databases, including efficient handling of complex queries and relationships, 
which are central to the graph data model.

## Sources
- 
[hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java](https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeFeatures.java)
- 
[hugegraph-server/hugegraph-dist/src/main/resources/backend.properties](https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-dist/src/main/resources/backend.properties)
- 
[hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java](https://github.com/apache/incubator-hugegraph/blob/master/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraph.java)

<!-- Dosu Comment Footer -->
<details>
<summary>

#### About Dosu
</summary>

This response is meant to be useful and save you time. It is **not meant to be 
a precise solution**, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is 
irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.
</details>


GitHub link: 
https://github.com/apache/incubator-hugegraph/discussions/2531#discussioncomment-9186372

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to