SlideShare uma empresa Scribd logo
1 de 21
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.
3
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.
4
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.
5
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.
6
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.
7
Gran
d
Slam
French
Open
US
Open
Aus.
Open
Cano
n
Dunlo
p
Head
Adida
s
Wimbl
edon
Tourney Won
Tourney Type
Sponsorship
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
8
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.
9
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.
10
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.
11
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.
12
Graf is a Subgraph
• Just tracking Stefi Graf?
You
Stalkers
• You’ll need a new relationship:
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
13
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.
14
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.
15
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.
16
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
17
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.
18
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.
19
How Apervita Uses Graphs
Example of browsing RxNorm
COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC.
20
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

Mais conteúdo relacionado

Semelhante a MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB

Beyond Cost Savings and Discounts - How to Get Real Value from Your Suppliers
Beyond Cost Savings and Discounts - How to Get Real Value from Your SuppliersBeyond Cost Savings and Discounts - How to Get Real Value from Your Suppliers
Beyond Cost Savings and Discounts - How to Get Real Value from Your SuppliersSAP Ariba
 
Predictive Analytics: Better Commerce Insight | Ariba LIVE Rome
Predictive Analytics: Better Commerce Insight | Ariba LIVE RomePredictive Analytics: Better Commerce Insight | Ariba LIVE Rome
Predictive Analytics: Better Commerce Insight | Ariba LIVE RomeSAP Ariba
 
Gaining More Value from your Ariba Network Connection
Gaining More Value from your Ariba Network ConnectionGaining More Value from your Ariba Network Connection
Gaining More Value from your Ariba Network ConnectionSAP Ariba
 
Maturing the Startup
Maturing the StartupMaturing the Startup
Maturing the StartupNew Relic
 
Leveraging Ariba Discovery for Supplier Identification and Vetting
Leveraging Ariba Discovery for Supplier Identification and VettingLeveraging Ariba Discovery for Supplier Identification and Vetting
Leveraging Ariba Discovery for Supplier Identification and VettingSAP Ariba
 
Turn Your P2P Function into a Strategic Profit Center
Turn Your P2P Function into a Strategic Profit CenterTurn Your P2P Function into a Strategic Profit Center
Turn Your P2P Function into a Strategic Profit CenterSAP Ariba
 
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...Mark Stiles
 
Data Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceData Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceDATAVERSITY
 
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...SAP Ariba
 
Applying Procurement Best Practices to Travel & Entertainment Reporting
Applying Procurement Best Practices to Travel & Entertainment ReportingApplying Procurement Best Practices to Travel & Entertainment Reporting
Applying Procurement Best Practices to Travel & Entertainment ReportingSAP Ariba
 
Ariba and Fieldglass Integration
Ariba and Fieldglass IntegrationAriba and Fieldglass Integration
Ariba and Fieldglass IntegrationSAP Ariba
 
Building an E-Commerce Team
Building an E-Commerce TeamBuilding an E-Commerce Team
Building an E-Commerce TeamSAP Ariba
 
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015Paul Marriott
 
Automating Your Transactions on the Ariba Network
Automating Your Transactions on the Ariba NetworkAutomating Your Transactions on the Ariba Network
Automating Your Transactions on the Ariba NetworkSAP Ariba
 
Leverage Fieldglass for Services Procurement & Contingent Workforce Management
Leverage Fieldglass for Services Procurement & Contingent Workforce ManagementLeverage Fieldglass for Services Procurement & Contingent Workforce Management
Leverage Fieldglass for Services Procurement & Contingent Workforce ManagementSAP Ariba
 
Best Practice in Content Management
Best Practice in Content ManagementBest Practice in Content Management
Best Practice in Content ManagementSAP Ariba
 
How Data Scientists Work
How Data Scientists WorkHow Data Scientists Work
How Data Scientists WorkPeter Molnar
 
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...CA Technologies
 
The Power of SAP and Ariba Solution Integration
The Power of SAP and Ariba Solution IntegrationThe Power of SAP and Ariba Solution Integration
The Power of SAP and Ariba Solution IntegrationSAP Ariba
 
Procurement 2015: Benchmarking the Best-in-Class
Procurement 2015: Benchmarking the Best-in-ClassProcurement 2015: Benchmarking the Best-in-Class
Procurement 2015: Benchmarking the Best-in-ClassSAP Ariba
 

Semelhante a MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB (20)

Beyond Cost Savings and Discounts - How to Get Real Value from Your Suppliers
Beyond Cost Savings and Discounts - How to Get Real Value from Your SuppliersBeyond Cost Savings and Discounts - How to Get Real Value from Your Suppliers
Beyond Cost Savings and Discounts - How to Get Real Value from Your Suppliers
 
Predictive Analytics: Better Commerce Insight | Ariba LIVE Rome
Predictive Analytics: Better Commerce Insight | Ariba LIVE RomePredictive Analytics: Better Commerce Insight | Ariba LIVE Rome
Predictive Analytics: Better Commerce Insight | Ariba LIVE Rome
 
Gaining More Value from your Ariba Network Connection
Gaining More Value from your Ariba Network ConnectionGaining More Value from your Ariba Network Connection
Gaining More Value from your Ariba Network Connection
 
Maturing the Startup
Maturing the StartupMaturing the Startup
Maturing the Startup
 
Leveraging Ariba Discovery for Supplier Identification and Vetting
Leveraging Ariba Discovery for Supplier Identification and VettingLeveraging Ariba Discovery for Supplier Identification and Vetting
Leveraging Ariba Discovery for Supplier Identification and Vetting
 
Turn Your P2P Function into a Strategic Profit Center
Turn Your P2P Function into a Strategic Profit CenterTurn Your P2P Function into a Strategic Profit Center
Turn Your P2P Function into a Strategic Profit Center
 
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...
Sitecore Symposium 2018 - Supercharge Your Author Experience With Machine Lea...
 
Data Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and GovernanceData Architecture - The Foundation for Enterprise Architecture and Governance
Data Architecture - The Foundation for Enterprise Architecture and Governance
 
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...
Supply Chain Collaboration with Direct Materials Suppliers: Manitowoc Shares ...
 
Applying Procurement Best Practices to Travel & Entertainment Reporting
Applying Procurement Best Practices to Travel & Entertainment ReportingApplying Procurement Best Practices to Travel & Entertainment Reporting
Applying Procurement Best Practices to Travel & Entertainment Reporting
 
Ariba and Fieldglass Integration
Ariba and Fieldglass IntegrationAriba and Fieldglass Integration
Ariba and Fieldglass Integration
 
Building an E-Commerce Team
Building an E-Commerce TeamBuilding an E-Commerce Team
Building an E-Commerce Team
 
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015
SAP Strata-Hadoop Asia Pacific Breakout Presentation, December, 2015
 
Automating Your Transactions on the Ariba Network
Automating Your Transactions on the Ariba NetworkAutomating Your Transactions on the Ariba Network
Automating Your Transactions on the Ariba Network
 
Leverage Fieldglass for Services Procurement & Contingent Workforce Management
Leverage Fieldglass for Services Procurement & Contingent Workforce ManagementLeverage Fieldglass for Services Procurement & Contingent Workforce Management
Leverage Fieldglass for Services Procurement & Contingent Workforce Management
 
Best Practice in Content Management
Best Practice in Content ManagementBest Practice in Content Management
Best Practice in Content Management
 
How Data Scientists Work
How Data Scientists WorkHow Data Scientists Work
How Data Scientists Work
 
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...
How to Get Your Life Back: Succeeding at Software Asset Management (SAM) at F...
 
The Power of SAP and Ariba Solution Integration
The Power of SAP and Ariba Solution IntegrationThe Power of SAP and Ariba Solution Integration
The Power of SAP and Ariba Solution Integration
 
Procurement 2015: Benchmarking the Best-in-Class
Procurement 2015: Benchmarking the Best-in-ClassProcurement 2015: Benchmarking the Best-in-Class
Procurement 2015: Benchmarking the Best-in-Class
 

Mais de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Mais de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

MongoDB Days Silicon Valley: Implementing Graph Databases with MongoDB

  • 1. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. Democratizing Health Analytics & Data
  • 2. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. Building a Graph Database in Mongo
  • 3. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 3 Agenda • What is a Graph Database? • Let’s Build One! • Example MongoDb Implementation • Pitfalls • How Apervita Uses Graphs
  • 4. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 4 Graph Databases Elements: Edges Nodes Nodes and edges can also have properties
  • 5. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 5 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
  • 6. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 6 Let’s build a Graf Database! This is Steffi Graf • Edges: • Tournament Type • Sponsorships • Tournaments Won
  • 7. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 7 Gran d Slam French Open US Open Aus. Open Cano n Dunlo p Head Adida s Wimbl edon Tourney Won Tourney Type Sponsorship
  • 8. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 8 Graf is a Subgraph • Implementations depend on what the overall purpose of the graph is • Tracking tournaments and results?
  • 9. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 9 Graf is a Subgraph • Tracking tennis players and their results? Tournaments
  • 10. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 10 Edges Graf is a Subgraph • Tracking tennis players and their results?
  • 11. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 11 Players Graf is a Subgraph • Tracking tennis players and their results?
  • 12. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 12 Graf is a Subgraph • Just tracking Stefi Graf? You Stalkers • You’ll need a new relationship:
  • 13. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 13 Implementation of paths •Multiple implementations of the graph exist: •Parents only •Children only •Parents and Children •Edges
  • 14. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 14 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
  • 15. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 15 Implementing Paths • Solution: • Implement paths in their own collection.
  • 16. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 16
  • 17. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 17 Considerations • As graphs get larger, performance becomes an issue • Extremely wide child models can break the document size
  • 18. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 18 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
  • 19. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 19 How Apervita Uses Graphs Example of browsing RxNorm
  • 20. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. 20 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
  • 21. COPYRIGHT © 2015. THIS INFORMATION IS THE PROPERTY OF APERVITA, INC. APERVITA IS A REGISTERED TRADEMARK OF APERVITA, INC. Democratizing Health Analytics & Data

Notas do Editor

  1. e.g. distance between two cities (edge) population of city (node)
  2. Steffi held the #1 rank for 377 weeks total, longer than any tennis player male or female She’s won 22 Grand Slam singles titles, which is the most held by any player male or female since the Open Era started in 1968 She’s won a Golden Slam, winning all 4 grand slam tournaments AND the olympic gold medal in a single year, and is the only player in the history of tennis to do so And her name is a homonym for graph, which is how I ended up learning all the previous facts
  3. All tournaments per year should get their own node Participants, winners, scores
  4. Tracking tennis players and their results? Tournaments may be independent nodes, one per tournament Property of Years Won can reside on the edge (as this is per player
  5. Tournaments can actually have the property of years won
  6. All of these have one major issue: walking the graph is computing intensive and results in many queries to traverse the graph
  7. One path list per relationship/unique path Indexing the path array leads to speedy results This will allow (with some post-processing): Transitive Closure Reachability becomes a trivial query query example
  8. As graphs get larger, performance becomes an issue RXNORM 204,000 SNOMED 311,000 ICD10 PCS 76000 Sharding on edge id + graph id Collection per graph id Extremely wide child models can break the document size Implementing pseudo subnodes can alleviate this pressure
  9. Apervita allows medical authors to code to common datasets Hospitals aren’t forced to conform their data, but can take advantage of our mapping tools to execute algorithms on their own data 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 e.g. Coding to Diabetes Mellitus (SNOMED ID 73211009) can capture all subnodes such as gestational diabetes, diabetes type II, diabetes type I
  10. Think about your data model What are your nodes? What are your edges? What should be a property vs a node? Use MongoDb’s indexing power to have quick access to your paths for graph calculations Think about your overall expected graph size Does the width imply faux nodes? Should you shard? If multiple subgraphs, should you separate into individual collections?