You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the architecture of the community version of HugeGraph is still in version 1.0. In the internal version 2.0 of HugeGraph, we have the following design goals:
Support trillion-scale data storage and tens of thousands of graph storages.
Support multi-active, high availability, dynamic scalability, and automated operation and maintenance.
Maximize read and write performance.
Based on these goals, we have designed a distributed architecture that supports graph data partitioning and multiple replicas, and separates storage from computation for flexible scaling.
In version 2.0, in addition to the hugegraph-server, we also introduce two additional components: hugegraph-pd and hugegraph-store
The responsibilities of these two components are as follows:
hugegraph-pd: pd stands for placement driver, which can be simply understood as a meta server responsible for service discovery, partition information storage, and node scheduling.
hugegraph-store: as a new built-in storage backend, it uses RocksDB as the distributed backend storage foundation.
We will gradually merge the internal version 2.0 of HugeGraph into the community version. Therefore, the first step is to integrate the hugegraph-pd and hugegraph-store modules into this repository.
Tasks
Introduce PD and Store on the pd-store branch.
Currently, all tasks should be carried out on the pd-store branch:
Adjust the project structure of this repository to include three sub-modules: hugegraph-server, hugegraph-pd, hugegraph-store at the root level.
Perform code adaptation tasks (hugegraph-server needs to introduce modules to connect with hugegraph-pd and hugegraph-store, and make adjustments to other modules, etc.).
Project structure adjustments on the master branch.
After #2301, it should be possible to perform simple CRUD operations on HugeGraph on the pd-store branch. In the next phase, the pd-store branch will need to be merged into the master branch with an appropriate granularity.
(master) project structure adjustments and CI configurations
Feature Description (功能描述)
Relative Issues
#435 #828 #1218 #1398 #1517 #1581 #1609 #1760 #1925 #1968 #1979Background
Currently, the architecture of the community version of HugeGraph is still in version 1.0. In the internal version 2.0 of HugeGraph, we have the following design goals:
Based on these goals, we have designed a distributed architecture that supports graph data partitioning and multiple replicas, and separates storage from computation for flexible scaling.
In version 2.0, in addition to the hugegraph-server, we also introduce two additional components: hugegraph-pd and hugegraph-store
The responsibilities of these two components are as follows:
We will gradually merge the internal version 2.0 of HugeGraph into the community version. Therefore, the first step is to integrate the hugegraph-pd and hugegraph-store modules into this repository.
Tasks
Introduce PD and Store on the pd-store branch.
Currently, all tasks should be carried out on the
pd-storebranch:masterbranch.Project structure adjustments on the master branch.
After #2301, it should be possible to perform simple CRUD operations on HugeGraph on the
pd-storebranch. In the next phase, thepd-storebranch will need to be merged into themasterbranch with an appropriate granularity.We will reorganize commit messages and merge changes ahead of the pd-store branch into the master branch:
pd-grpc,pd-common,pd-client(~8k loc)pd-core(~9k loc)pd-service(~11k loc)pd-dist,pd-test(~1k loc)store-grpc,store-common,store-client(~13k loc)store-rocksdb(~4k loc)store-core(~14k loc)store-node(~11k loc)store-dist,store-test,store-cli(~3k loc)server-hstore(~3k loc)server-core(~12k loc)Project Structure
# new project structure - core/api/test/... - server - hbase/rocksdb/mysql/... - - ... hugegraph - pd - pd submodules - - store - store submodules