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
3. 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
4. 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.
5. 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
6. 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’)”;
7. The Value of Schema:
Custom Visualizers
• Custom visualization settings and actions
determined by type.
8. 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”;
9. 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