Upload
mongodb
View
1.766
Download
0
Embed Size (px)
Citation preview
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Democratizing Health Analytics & Data
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Building a Graph Database in Mongo
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Agenda
• What is a Graph Database?• Let’s Build One!• Example MongoDb Implementation• Pitfalls• How Apervita Uses Graphs
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Graph Databases
Elements: Edges
Nodes
Nodes and edges can also have properties
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
More on Graphs
• Graphs can have multiple types of edges• Multiple types of graphs• Directed Acyclic Graphs are our focus• Directed have one-way relationships• Relationships will not loop back to a higher node
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Let’s build a Graf Database!This is Steffi Graf
• Edges:• Tournament Type• Sponsorships• Tournaments Won
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Grand
Slam
French
OpenUS
Open
Aus. Ope
n
Canon
Dunlop
Head
Adidas
Wimbledon
Tourney Won
Tourney Type
Sponsorship
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Graf is a Subgraph• Implementations depend on what the overall purpose of the graph is
• Tracking tournaments and results?
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Graf is a Subgraph• Tracking tennis players and their results?
Tournaments
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Edges
Graf is a Subgraph• Tracking tennis players and their results?
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Players
Graf is a Subgraph• Tracking tennis players and their results?
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Graf is a Subgraph• Just tracking Stefi Graf?
YouStalkers
• You’ll need a new relationship:
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Implementation of paths
•Multiple implementations of the graph exist:•Parents only•Children only•Parents and Children•Edges
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Transitive Closure Mathematics • Finding transitive closure with math• Picard solved this in 1976. (not that Picard)• But it’s polynomial time and the math is kind of hard
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Implementing Paths
• Solution:• Implement paths in their own collection.
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Considerations
• As graphs get larger, performance becomes an issue
• Extremely wide child models can break the document size
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
How Apervita Uses Graphs
• Hospital Datasets are dynamic and varied
• Medical Vocabularies are by their nature graphs• SNOMED, ICD-9, ICD-10, RxNorm
• The ability to code an algorithm to the “generic” and subsume for the specific is extremely powerful
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
How Apervita Uses GraphsExample of browsing RxNorm
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
In Summary
• Think about your data model
• Use MongoDb’s indexing power to have quick access to your paths for graph calculations
• Think about your overall expected graph size
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Democratizing Health Analytics & Data