graphite — an extensible graph traversal framework for rdbms

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

Upload: marcus-paradies

Post on 18-Jul-2015

70 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

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

Page 2: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

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

Page 3: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

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

Page 4: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

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

Page 5: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

Architecture of GRAPHITE

Graph Storage

Graph Index

Structures Physical Graph Operators

Logical Graph Operators

Graph Statistics

Graph Optimizer

TraveL

TraveL Compiler

Graph API

5

Page 6: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

Columnar Graph Storage

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

6

Page 7: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

Graph Traversal Operators

7

Fragmented-Incremental Traversal (FI-Traversal)

Page 8: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

TraveL – A DSL for Graph Traversals

8

Code Generation Example Query

Page 9: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

Initial Experimental Results

9

Experimental Results for BFS Traversals Experimental Results for LDBC Query 1

Page 10: GRAPHITE — An Extensible Graph Traversal Framework for RDBMS

Marcus Paradies, TU Dresden [email protected] https://wwwdb.inf.tu-dresden.de/team/external-members/marcus-paradies/