the value of explicit schema for graph use cases

10

Click here to load reader

Upload: infinitegraph

Post on 14-Jan-2015

193 views

Category:

Technology


2 download

DESCRIPTION

A look at the many facets of schema-less approaches vs a rich schema approach, ranging from performance and query support to heterogeneity and code/data migration issues. Presented by Nick Quinn, Principal Engineer, InfiniteGraph

TRANSCRIPT

Page 1: The Value of Explicit Schema for Graph Use Cases

www.Objectivity.com

2/21/2014 1

The Value of Explicit Schema For Graph

Use CasesNick Quinn, Principal

Engineer, InfiniteGraph

Page 2: The Value of Explicit Schema for Graph Use Cases

Why use a Graph Database?

Page 3: The Value of Explicit Schema for Graph Use Cases

The Value of Schema :Custom Placement

• Mitigate bottlenecks and optimize performance by using the following strategies:– Custom Placement: data isolation/localization of

logically related information (to achieve close to subgraph partitioning) in order to minimize the number of network calls

Page 4: The Value of Explicit Schema for Graph Use Cases

The Value of Schema:Custom Placement

• Consider the case where you are placing medical data for hospitals and patients. Using a custom placement model you can achieve fairly high isolation of the subgraphs.– Doctor ↔ Hospitals, Patients ↔ Visits.

Page 5: The Value of Explicit Schema for Graph Use Cases

The Value of Schema: GraphViews

• A GraphView is a schema view used in the context of navigational query.

• With GraphViews, we can use schema to perform path qualification to achieve real-time navigational query results. – Use GraphViews to filter out vertex or edge types

Page 6: The Value of Explicit Schema for Graph Use Cases

The Value of Schema: GraphViews

• Consider calculating number of links to interesting companies on LinkedIn.– If you are connected to recruiters, the navigation result

set can be slowed down and possibly polluted if traversing through these recruiters.

GraphView myView = myGraph.createGraphView();myView.excludeClass(Person.class,

“CONTAINS(profession, ‘recruiter’)”;

Page 7: The Value of Explicit Schema for Graph Use Cases

The Value of Schema:Custom Visualizers

• Custom visualization settings and actions determined by type.

Page 8: The Value of Explicit Schema for Graph Use Cases

The Value of Schema:Other Topics

• Life is like a box of chocolates– Class metadata is preserved in the database (Relationships and Hierarchies)

• Query Language Simplicity– Using types and filters on types is more intuitive than using labels– MATCH [Person(name==“Steve Jobs”)] –[Friend(where ==

“Facebook”)]->[Person];– MATCH [p:Person] –[f:Friend]->[:Person] WHERE p.name==

“Steve Jobs” && f.where == “Facebook”;

Page 9: The Value of Explicit Schema for Graph Use Cases

Why InfiniteGraph™?

• Objectivity/DB is a proven foundation– Building distributed databases since 1993– A complete database management system

• Concurrency, transactions, cache, schema, query, indexing

• It’s a Graph Specialist !– Simple but powerful API tailored for data navigation.– Easy to configure distribution and placement model

Page 10: The Value of Explicit Schema for Graph Use Cases

QUESTIONS?