mongodb days silicon valley: implementing graph databases with mongodb
TRANSCRIPT
![Page 1: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/1.jpg)
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Democratizing Health Analytics & Data
![Page 2: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/2.jpg)
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Building a Graph Database in Mongo
![Page 3: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/3.jpg)
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
![Page 4: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/4.jpg)
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
![Page 5: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/5.jpg)
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
![Page 6: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/6.jpg)
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
![Page 7: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/7.jpg)
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
![Page 8: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/8.jpg)
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?
![Page 9: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/9.jpg)
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
![Page 10: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/10.jpg)
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?
![Page 11: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/11.jpg)
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?
![Page 12: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/12.jpg)
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:
![Page 13: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/13.jpg)
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
![Page 14: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/14.jpg)
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
![Page 15: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/15.jpg)
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.
![Page 16: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/16.jpg)
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
![Page 17: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/17.jpg)
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
![Page 18: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/18.jpg)
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
![Page 19: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/19.jpg)
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
![Page 20: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/20.jpg)
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
![Page 21: MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB](https://reader035.vdocuments.mx/reader035/viewer/2022062223/58a781451a28abef478b5829/html5/thumbnails/21.jpg)
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
Democratizing Health Analytics & Data