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

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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?