refact: adjust project structure for merge PD & Store[Breaking Change] (#2338)

## Purpose of the PR

Subtask of #2265.

Adjust the project structure of this repository to include three sub-modules: hugegraph-server, hugegraph-pd, hugegraph-store at the root level.

## Main Changes

Roll back to the moment when https://github.com/apache/incubator-hugegraph/pull/2266 was merged on `pd-store` and incorporate the latest changes in `master`.

For more detailed information, please refer to https://github.com/apache/incubator-hugegraph/pull/2266#issue-1834369489.


---------

Co-authored-by: M <87920097+msgui@users.noreply.github.com>
917 files changed
tree: 2d44267d44ece4b045318a777f997caaef386262
  1. .github/
  2. hugegraph-pd/
  3. hugegraph-server/
  4. hugegraph-store/
  5. style/
  6. .asf.yaml
  7. .editorconfig
  8. .gitattributes
  9. .gitignore
  10. .licenserc.yaml
  11. BUILDING.md
  12. CONTRIBUTING.md
  13. DISCLAIMER
  14. Dockerfile
  15. hugegraph-style.xml
  16. LICENSE
  17. NOTICE
  18. pom.xml
  19. README.md
README.md

License HugeGraph-CI CodeQL License checker Codecov GitHub Releases Downloads stars

What is Apache HugeGraph?

HugeGraph is a fast-speed and highly-scalable graph database. Billions of vertices and edges can be easily stored into and queried from HugeGraph due to its excellent OLTP ability. As compliance to Apache TinkerPop 3 framework, various complicated graph queries can be accomplished through Gremlin(a powerful graph traversal language).

Features

  • Compliance to Apache TinkerPop 3, support Gremlin & Cypher language
  • Schema Metadata Management, including VertexLabel, EdgeLabel, PropertyKey and IndexLabel
  • Multi-type Indexes, supporting exact query, range query and complex conditions combination query
  • Plug-in Backend Store Driver Framework, support RocksDB, Cassandra, HBase, ScyllaDB, and MySQL/Postgre now and easy to add other backend store driver if needed
  • Integration with Flink/Spark/HDFS, and friendly to connect other big data platforms

Quick Start

1. Docker Way

We can use docker run -itd --name=graph -p 8080:8080 hugegraph/hugegraph to quickly start an inner HugeGraph server with RocksDB in background.

Optional:

  1. use docker exec -it graph bash to enter the container to do some operations.
  2. use docker run -itd --name=graph -p 8080:8080 -e PRELOAD="true" hugegraph/hugegraph to start with a built-in (example) graph.

2. Download Way

Visit Download Page and refer the doc to download the latest release package and start the server.

3. Source Building Way

Visit Source Building Page and follow the steps to build the source code and start the server.

The project doc page contains more information on HugeGraph and provides detailed documentation for users. (Structure / Usage / API / Configs...)

And here are links of other HugeGraph component/repositories:

  1. hugegraph-toolchain (graph tools loader/dashboard/tool/client)
  2. hugegraph-computer (integrated graph computing system)
  3. hugegraph-commons (common & rpc libs)
  4. hugegraph-website (doc & website code)

License

HugeGraph is licensed under Apache 2.0 License.

Contributing

  • Welcome to contribute to HugeGraph, please see How to Contribute & Guidelines for more information.
  • Note: It's recommended to use GitHub Desktop to greatly simplify the PR and commit process.
  • Thank you to all the people who already contributed to HugeGraph!

contributors graph

Thanks

HugeGraph relies on the TinkerPop framework, we refer to the storage structure of Titan and the schema definition of DataStax. Thanks to TinkerPop, thanks to Titan, thanks to DataStax. Thanks to all other organizations or authors who contributed to the project.

You are welcome to contribute to HugeGraph, and we are looking forward to working with you to build an excellent open source community.

Contact Us