GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

  • Published on
    18-Jul-2015

  • View
    69

  • Download
    0

Embed Size (px)

Transcript

  • Marcus Paradies (TU Dresden), March 18, 2015, 3rd Graph-TA Workshop

  • Graph Processing on Enterprise Data

    2

    Relational + Application Logic Relational + Graph + Application Logic

    Data already in RDBMS SQL as the only interface/no graph abstraction Data transfer to application

    Efficient processing in GDBMS Processing on replicated data Data transfer to application No combination with other data models possible

  • Many graph use cases require support for graph, text, spatial, and temporal processing in a single database engine

    3

    Patient

    Diagnosis

    Patient Record

    Type: getsDiagn Date: March 16, 2015

    Type: getsDiagn Date: May 6, 2012

    Type: belongsTo

    Type: belongsTo ID: 1 Content: The patient...

    ID: 2 Content: For patient

    Type: gets Date: May 8, 2012

    Type: belongsTo

    ID: 3 Content: The patient...

    PID: 1 Name: Jake Maier

    PID: 2 Name: Andreas Cook

    Hospital

    Keyword

    Type: hasKeyword

    Type: hasKeyword

    Description: Flu..

    Type: stayedIn From: May 6, 2012 To: May 8, 2012

    Type: stayedIn From: May 8, 2012 To: May 10, 2012

    HID: 2 Long:49.398752 Lat: 8.672434

    HID: 33 Long:49.006890 Lat: 8.403653

    Health Care Graph An Example

  • Integration of Graph Processing into an RDBMS

    How could a deep integration of graph functionality into a RDBMS look like?

    GRAPHITE is a native graph engine with graph operators that are freely combinable with other plan operators

    4

  • Architecture of GRAPHITE

    Graph Storage

    Graph Index

    Structures Physical Graph Operators

    Logical Graph Operators

    Graph Statistics

    Graph Optimizer

    TraveL

    TraveL Compiler

    Graph API

    5

  • Columnar Graph Storage

    All data types available in the RDBMS can be used as vertex/edge attributes

    6

  • Graph Traversal Operators

    7

    Fragmented-Incremental Traversal (FI-Traversal)

  • TraveL A DSL for Graph Traversals

    8

    Code Generation Example Query

  • Initial Experimental Results

    9

    Experimental Results for BFS Traversals Experimental Results for LDBC Query 1

  • Marcus Paradies, TU Dresden marcus.paradies@gmail.com https://wwwdb.inf.tu-dresden.de/team/external-members/marcus-paradies/