GithubHelp home page GithubHelp logo

tugraph-family / tugraph-analytics Goto Github PK

View Code? Open in Web Editor NEW
609.0 14.0 67.0 35.47 MB

TuGraph Analytics is the fastest OLAP graph database.

Home Page: https://tugraph-analytics.github.io

License: Apache License 2.0

Shell 0.22% Dockerfile 0.05% Java 85.56% TypeScript 6.60% Less 0.39% JavaScript 0.18% Python 0.07% FreeMarker 0.18% Fluent 0.01% PureBasic 0.01% Smarty 0.03% Makefile 0.03% Rust 6.51% C++ 0.14% Cython 0.01%
analytics graph java tugraph big-data sql stream flink calcite database

tugraph-analytics's Introduction

TuGraph Analytics

Star Fork Contributor Commit Docker License Release CN EN Blog

🌐️ English | 中文

Introduction

TuGraph Analytics (alias: GeaFlow) is the fastest open-source OLAP graph database developed by Ant Group. It supports core capabilities such as trillion-level graph storage, hybrid graph and table processing, real-time graph computation, and interactive graph analysis. Currently, it is widely used in scenarios such as data warehousing acceleration, financial risk control, knowledge graph, and social networks.

For more information about GeaFlow: GeaFlow Introduction

For GeaFlow design paper: GeaFlow: A Graph Extended and Accelerated Dataflow System

Features

  • Distributed streaming graph computation
  • Hybrid graph and table processing (SQL+GQL)
  • Unified stream/batch/graph computation
  • Trillion-level graph-native storage
  • Interactive graph analytics
  • High availability and exactly once semantics
  • High-level API operator development
  • UDF/graph-algorithms/connector support
  • One-stop graph development platform
  • Cloud-native deployment

Quick start

  1. Prepare Git、JDK8、Maven、Docker environment。
  2. Download Code:git clone https://github.com/TuGraph-family/tugraph-analytics
  3. Build Project:mvn clean install -DskipTests
  4. Test Job:./bin/gql_submit.sh --gql geaflow/geaflow-examples/gql/loop_detection.sql
  5. Build Image:./build.sh --all
  6. Start Container:docker run -d --name geaflow-console -p 8888:8888 geaflow-console:0.1

For more details:Quick Start

Development Manual

GeaFlow supports two sets of programming interfaces: DSL and API. You can develop streaming graph computing jobs using GeaFlow's SQL extension language SQL+ISO/GQL or use GeaFlow's high-level API programming interface to develop applications in Java.

Real-time Capabilities

Compared with traditional stream processing engines such as Flink and Storm, which use tables as their data model for real-time processing, GeaFlow's graph-based data model has significant performance advantages when handling join relationship operations, especially complex multi-hops relationship operations like those involving 3 or more hops of join and complex loop searches.

total_time

Why using graphs for relational operations is more appealing than table joins?

Association Analysis Demo Based on GQL:

--GQL Style
Match (s:student)-[sc:selectCource]->(c:cource)
Return c.name
;

Association Analysis Demo Based on SQL:

--SQL Style
SELECT c.name
FROM course c JOIN selectCourse sc 
ON c.id = sc.targetId
JOIN student s ON sc.srcId = s.id
;

Contribution

Thank you very much for contributing to GeaFlow, whether bug reporting, documentation improvement, or major feature development, we warmly welcome all contributions.

For more information: Contribution.

Partners

HUST FU ZJU
WhaleOps OceanBase SecretFlow

Contact Us

You can contact us through the following methods:

contacts

If you are interested in GeaFlow, please give our project a ⭐️ .

Acknowledgement

Thanks to some outstanding open-source projects in the industry, such as Apache Flink, Apache Spark, and Apache Calcite, some modules of GeaFlow were developed with their references. We would like to express our special gratitude for their contributions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.