GRAPHITE — An Extensible
Graph Traversal Framework for
RDBMSMarcus 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: belongsToID: 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
Initial Experimental Results
6
Experimental Results for BFS Traversals Experimental Results for LDBC Query 1
Columnar Graph Storage
All data types available in the RDBMS
can be used as vertex/edge attributes
7
Graph Traversal Operators
8
Fragmented-Incremental Traversal (FI-Traversal)
TraveL – A DSL for Graph Traversals
9
Code GenerationExample Query
Contact
Marcus Paradies, TU Dresden
marcus.paradies@gmail.com
https://wwwdb.inf.tu-dresden.de/team/external-members/marcus-paradies/

GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

  • 1.
    GRAPHITE — AnExtensible Graph Traversal Framework for RDBMSMarcus Paradies (TU Dresden), March 18, 2015, 3rd Graph-TA Workshop
  • 2.
    Graph Processing onEnterprise 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
  • 3.
    Many graph usecases 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: belongsToID: 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
  • 4.
    Integration of GraphProcessing 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
  • 5.
    Architecture of GRAPHITE GraphStorage Graph Index Structures Physical Graph Operators Logical Graph Operators Graph Statistics Graph Optimizer TraveL TraveL Compiler Graph API 5
  • 6.
    Initial Experimental Results 6 ExperimentalResults for BFS Traversals Experimental Results for LDBC Query 1
  • 7.
    Columnar Graph Storage Alldata types available in the RDBMS can be used as vertex/edge attributes 7
  • 8.
  • 9.
    TraveL – ADSL for Graph Traversals 9 Code GenerationExample Query
  • 10.
    Contact Marcus Paradies, TUDresden marcus.paradies@gmail.com https://wwwdb.inf.tu-dresden.de/team/external-members/marcus-paradies/