SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Building an efficient and a performant data
model
Real world challenges faced and how we solved them
Navigating your next with Infosys
200,000+
Employees
globally
$10.9
Billion in
revenues
1,204
Clients in over
45 countries
168,000+
Employees
trained in
Design Thinking
World’s largest
Corporate
University
Open Source COE
Legacy / Mainframe
Modernization
Public Cloud
(Applications)
DevOps
Innovation, Cost
Efficiency
ROI on current
technology investment
alignment to modern
architectures
Scale and Savings on the
infrastructure with Cloud
Native architecture
Infra as Code
Build the technology
foundation of the
Digital Platform
Reduce dependency on
the existing legacy
estate
Building a Cloud Native
digital platform
Digital tools adopting
DevOps & Agile
principles
Modernization Practice to drive Transformation
Infosys Open Source – At a Glance
Technology Platforms
Solutions Themes
Mainframe
offload
Monolith
to
Microservices
RDBMS
to
ODBMS
Application
Modernization on
NoSQL
EVENTS & STREAMING
API MANAGEMENT RDBMS
SEARCH & INSIGHTS
IN-MEMORY
PaaS CONTAINERSUXINTEGRATION
&
BPM
NOSQL
IaaS
Advisory
Plan, accelerate open
source adoption and
manage associated risk
Architecture
Consulting
Implementation Operations & Support
Make the right
technological choices and
establish the springboard
for success
Deliver measurable
benefits faster through
agile & lean methods
Embed technology into
mainstream with
continuous improvement
Big Data
Analytics
Service Offerings
Considerations for Relational Data Models
5
Integrity
Structure of Data &
Entities
Concurrency ControlConsistency
Schema Validations
Need of Databases for non-transactional use cases and applications
6
Use Case Preferred Type of Database
§ Caching Data
§ User Session and Preferences
§ Shopping Cart Data
Key Value
§ IOT Sensor Data
§ Logs
§ Huge Data set
Columnar
§ Social and other networks
§ Real time Routing
§ Fraud Detection
Graph
§ Web App
§ Product Catalog
§ Operational Data stores
§ Performant Reference Data Store
Document
That support Variety, Velocity and Volume of Data in the Digital world
Features of No SQL Databases Alternatives
7
Denormalized data -
Higher speed of retrieval
Schema-free and
unstructured data formats
Flexibility to
accommodate changes
and various data types
Denormalized data
Higher speed of retrieval
Higher performance
Horizontal scaling on
commodity servers
Low cost
Low Complexity
Features of Modern Databases
1 0 1 1 0 1 0 0 1 1 0 1 0 1
Built in Replication, High
Availability and Automated
Failover
No Add-on's
Low Complexity
Consistent Multi platform
experience
Avoids platform lock-in
Aligns to Next Gen Architecture
Open Source
Low License & Storage Cost
Lower Cost
NoSQL Data Modelling Patterns followed at our
customers
9
Client Context: A Multinational e-Commerce Company that provides order management, payment processing, order
routing, fulfillment, and analytics services to its clients. The company was out to re-architect its order management
system to a micro services based architecture
Identified 3 business
areas for Modernization
- Order Capture,
Supply Chain, Billing
Deep Dive on
understanding
Business Processes
and data flows
Identified
Dependencies that
impact the data entities
and attributes
Impacted ERD’s
mapped to 200 Tables
Pattern #1 –
Reference by key or
Embedding the
document.
Guidance - Typically never
embed more than few 100
documents
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Reference by key was recommended
1
10
Pattern #2 –
Reference by key or
Embedded Reference.
Guidance – Denormalize with a
date for sync of data duplication.
Order
{
“_id” : ObjectId(“…”),
“Order_ID” : ” “,
“Customer_ID” : “ “,
“ordered_item_info” : [
{ “item_id”: ObjectId(“..”), “item_qty”:1, “item_prc” : “XX”},
{ “item_id”: ObjectId(“..”), “item_qty”: 3, “item_prc” : “XX”}
…],
“Customer_Ship_Addr”: {“fl”: “123 XXX”, “st”:”TX”,”zc”:”75013 }
}
Customer
{
“_id” : ObjectId(“…”),
“customer_id” : ” “,
“customer_nm” : “ “,
“customer_address”: [
{“fl”: “123 XXX”, “st”: “TX”, “zc”:”75013”},
{“fl”: “233 XXX”, “st”: “TX”, “zc”:”75014”},
…]
}
Pattern #3 –
Partial Embedding
Guidance - Typically meant for
performant data access of
frequently needed data
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Embedding was recommended
Based on Application Access
11
11
Pattern #4 –
Supplementary
Collection for Tuning
and Optimization.
Guidance - Typically meant for
differential access pattern,
sharding and performant access
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Pattern #5 –
Avoid Deep Nesting
Guidance – Not recommended
beyond 3-4 level of nesting
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Supplementary Collection of Order Status was recommended
Nesting was limited to 3 levels only
12
Client Context: A French multinational corporation specializing in energy management and automation . The
company was in the process of implementing an IOT use case for recording sensor readings from multiple devices
Sds Dsds Sds sds
Pattern #1 –
Bucket Pattern –
Optimized Index size and
Optimized Read
operations
Guidance - Optimized as per
the application access and
aggregation needs
Old Model
{ “_id” : ObjectId(“…”),
"s" : BinData ( xx),
"t" : ISODate ( xxx ),
"v" : 15,
"a" :
{
"Name" : "Quality",
"SemanticRef" : "com.ref",
"Value" : "Good"
}
}
New Model
{ “_id” : ObjectId(“…”),
"s" : BinData ( xx),
"t" : ISODate ( xxx ),
"v" : [ "0" : { # Increment from bucket start
"a" : { # Only exists if there are attributes
"Quality": { "v" : “Good",
"s" : "XXX" # SemanticRef },
}},
“1" : {Increment from beginning of bucket
},
Bucket the observations
2
13
13
Pattern #4 –
Supplementary
Collection for Tuning
and Optimization.
Guidance - Typically meant for
differential access pattern,
sharding and performant access
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Pattern #5 –
Avoid Deep Nesting
Guidance – Not recommended
beyond 3-4 level of nesting
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Supplementary Collection of Order Status was recommended
Nesting was limited to 3 levels only
14
Client Context: A US financial services company provides nationwide domestic debit acceptance at retail POS,
ATM, and Online outlets for most of the U.S. credit and debit cards.
Sds Dsds Sds sds
Pattern #1 –
Old Model
{ “_id” : ObjectId(“…”),
"s" : BinData ( xx),
"t" : ISODate ( xxx ),
"v" : 15,
"a" :
{
"Name" : "Quality",
"SemanticRef" : "com.ref",
"Value" : "Good"
}
}
Inventory Audit
{ “_id” : ObjectId(“…”),
"s" : BinData ( xx),
"t" : ISODate ( xxx ),
"v" : [ "0" : { # Increment from bucket start
"a" : { # Only exists if there are attributes
"Quality": { "v" : “Good",
"s" : "XXX" # SemanticRef },
}},
“1" : {Increment from beginning of bucket
},
Reference by key was recommended
3
15
15
Pattern #4 –
Supplementary
Collection for Tuning
and Optimization.
Guidance - Typically meant for
differential access pattern,
sharding and performant access
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Pattern #5 –
Avoid Deep Nesting
Guidance – Not recommended
beyond 3-4 level of nesting
Inventory
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“item_desc” : “XXXX”,
…
}
Inventory Audit
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“inventory_chng”: [
{“dts”: DTS#1},
{“dts”: DTS#2},
…]
}
Inventory Audit Detail
{
“_id” : ObjectId(“…”),
“item_zone” : ” “,
“item_id” : “ “,
“item_sku” : “ “,
“item_qty” : 500,
“dts” : DTS#1,
from_qty : X,
to_qty : Y,
ord_id : “XXX”
}
Supplementary Collection of Order Status was recommended
Nesting was limited to 3 levels only
Important Modelling Considerations
16
How to provide Predictability and get a head start to
NoSQL Model when migrating from a RDBMS?
IDMC - Infosys Data Model Converter
18
EXTRACTION ANALYSIS PERSISTENCE PROCESSING DEPLOYMENT
Source
RDBMS
Table Design
Query Pattern
Data Pattern
Entity and
Relationship
Read and Write
Query
Data Volatility
and Cardinality
Rules
Drools
SQL Lite
Target
Data-Model
Generation
Deployment
Scripts
Target
NoSQL
Process Rules
© 2018 Infosys Limited, Bengaluru, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such
information is subject to change without notice. Infosys acknowledges the proprietary rights of other companies to the trademarks, product names and
such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this documentation nor any part of it may be
reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording or
otherwise, without the prior permission of Infosys Limited and/ or any named intellectual property rights holders under this document.
THANK YOU

Weitere ähnliche Inhalte

Ähnlich wie MongoDB World 2019: Building an Efficient and Performant Data Model: Real World Challenges Faced and How We Solved Them

MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...
MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...
MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...MongoDB
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchMongoDB
 
Real-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case studyReal-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case studydeep.bi
 
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)Amazon Web Services
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsSriskandarajah Suhothayan
 
Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsSriskandarajah Suhothayan
 
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017Amazon Web Services
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015eddiebaggott
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorialrustd
 
MongoDB and the Internet of Things
MongoDB and the Internet of ThingsMongoDB and the Internet of Things
MongoDB and the Internet of ThingsMongoDB
 
Big Data Expo 2015 - Gigaspaces Making Sense of it all
Big Data Expo 2015 - Gigaspaces Making Sense of it allBig Data Expo 2015 - Gigaspaces Making Sense of it all
Big Data Expo 2015 - Gigaspaces Making Sense of it allBigDataExpo
 
Streaming Solr - Activate 2018 talk
Streaming Solr - Activate 2018 talkStreaming Solr - Activate 2018 talk
Streaming Solr - Activate 2018 talkAmrit Sarkar
 
Building Analytics Applications with Streaming Expressions in Apache Solr - A...
Building Analytics Applications with Streaming Expressions in Apache Solr - A...Building Analytics Applications with Streaming Expressions in Apache Solr - A...
Building Analytics Applications with Streaming Expressions in Apache Solr - A...Lucidworks
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Paulo Gandra de Sousa
 
Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Chris Grabosky
 
MongoDB at Giant Eagle by David Williams
MongoDB at Giant Eagle by David WilliamsMongoDB at Giant Eagle by David Williams
MongoDB at Giant Eagle by David WilliamsMongoDB
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhentranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhenDavid Peyruc
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revisedMongoDB
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessMongoDB
 

Ähnlich wie MongoDB World 2019: Building an Efficient and Performant Data Model: Real World Challenges Faced and How We Solved Them (20)

MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...
MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...
MongoDB .local London 2019: Best Practices for Working with IoT and Time-seri...
 
Evolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB StitchEvolving your Data Access with MongoDB Stitch
Evolving your Data Access with MongoDB Stitch
 
Real-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case studyReal-time big data analytics based on product recommendations case study
Real-time big data analytics based on product recommendations case study
 
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)
AWS re:Invent 2016: Building IoT Applications with AWS and Amazon Alexa (HLC304)
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needs
 
Discover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 AnalyticsDiscover Data That Matters- Deep dive into WSO2 Analytics
Discover Data That Matters- Deep dive into WSO2 Analytics
 
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017
Cloud Adoption in Regulated Financial Services - SID328 - re:Invent 2017
 
Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015Dublin Ireland Spark Meetup October 15, 2015
Dublin Ireland Spark Meetup October 15, 2015
 
Big Data on Azure Tutorial
Big Data on Azure TutorialBig Data on Azure Tutorial
Big Data on Azure Tutorial
 
MongoDB and the Internet of Things
MongoDB and the Internet of ThingsMongoDB and the Internet of Things
MongoDB and the Internet of Things
 
Big Data Expo 2015 - Gigaspaces Making Sense of it all
Big Data Expo 2015 - Gigaspaces Making Sense of it allBig Data Expo 2015 - Gigaspaces Making Sense of it all
Big Data Expo 2015 - Gigaspaces Making Sense of it all
 
Streaming Solr - Activate 2018 talk
Streaming Solr - Activate 2018 talkStreaming Solr - Activate 2018 talk
Streaming Solr - Activate 2018 talk
 
Building Analytics Applications with Streaming Expressions in Apache Solr - A...
Building Analytics Applications with Streaming Expressions in Apache Solr - A...Building Analytics Applications with Streaming Expressions in Apache Solr - A...
Building Analytics Applications with Streaming Expressions in Apache Solr - A...
 
PoEAA by Example
PoEAA by ExamplePoEAA by Example
PoEAA by Example
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 
Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization Docker Summit MongoDB - Data Democratization
Docker Summit MongoDB - Data Democratization
 
MongoDB at Giant Eagle by David Williams
MongoDB at Giant Eagle by David WilliamsMongoDB at Giant Eagle by David Williams
MongoDB at Giant Eagle by David Williams
 
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And WhentranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
tranSMART Community Meeting 5-7 Nov 13 - Session 2: MongoDB: What, Why And When
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 

Mehr von 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
 

Mehr von 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...
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 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
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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)
 
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...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

MongoDB World 2019: Building an Efficient and Performant Data Model: Real World Challenges Faced and How We Solved Them

  • 1. Building an efficient and a performant data model Real world challenges faced and how we solved them
  • 2. Navigating your next with Infosys 200,000+ Employees globally $10.9 Billion in revenues 1,204 Clients in over 45 countries 168,000+ Employees trained in Design Thinking World’s largest Corporate University
  • 3. Open Source COE Legacy / Mainframe Modernization Public Cloud (Applications) DevOps Innovation, Cost Efficiency ROI on current technology investment alignment to modern architectures Scale and Savings on the infrastructure with Cloud Native architecture Infra as Code Build the technology foundation of the Digital Platform Reduce dependency on the existing legacy estate Building a Cloud Native digital platform Digital tools adopting DevOps & Agile principles Modernization Practice to drive Transformation
  • 4. Infosys Open Source – At a Glance Technology Platforms Solutions Themes Mainframe offload Monolith to Microservices RDBMS to ODBMS Application Modernization on NoSQL EVENTS & STREAMING API MANAGEMENT RDBMS SEARCH & INSIGHTS IN-MEMORY PaaS CONTAINERSUXINTEGRATION & BPM NOSQL IaaS Advisory Plan, accelerate open source adoption and manage associated risk Architecture Consulting Implementation Operations & Support Make the right technological choices and establish the springboard for success Deliver measurable benefits faster through agile & lean methods Embed technology into mainstream with continuous improvement Big Data Analytics Service Offerings
  • 5. Considerations for Relational Data Models 5 Integrity Structure of Data & Entities Concurrency ControlConsistency Schema Validations
  • 6. Need of Databases for non-transactional use cases and applications 6 Use Case Preferred Type of Database § Caching Data § User Session and Preferences § Shopping Cart Data Key Value § IOT Sensor Data § Logs § Huge Data set Columnar § Social and other networks § Real time Routing § Fraud Detection Graph § Web App § Product Catalog § Operational Data stores § Performant Reference Data Store Document That support Variety, Velocity and Volume of Data in the Digital world
  • 7. Features of No SQL Databases Alternatives 7 Denormalized data - Higher speed of retrieval Schema-free and unstructured data formats Flexibility to accommodate changes and various data types Denormalized data Higher speed of retrieval Higher performance Horizontal scaling on commodity servers Low cost Low Complexity Features of Modern Databases 1 0 1 1 0 1 0 0 1 1 0 1 0 1 Built in Replication, High Availability and Automated Failover No Add-on's Low Complexity Consistent Multi platform experience Avoids platform lock-in Aligns to Next Gen Architecture Open Source Low License & Storage Cost Lower Cost
  • 8. NoSQL Data Modelling Patterns followed at our customers
  • 9. 9 Client Context: A Multinational e-Commerce Company that provides order management, payment processing, order routing, fulfillment, and analytics services to its clients. The company was out to re-architect its order management system to a micro services based architecture Identified 3 business areas for Modernization - Order Capture, Supply Chain, Billing Deep Dive on understanding Business Processes and data flows Identified Dependencies that impact the data entities and attributes Impacted ERD’s mapped to 200 Tables Pattern #1 – Reference by key or Embedding the document. Guidance - Typically never embed more than few 100 documents Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Reference by key was recommended 1
  • 10. 10 Pattern #2 – Reference by key or Embedded Reference. Guidance – Denormalize with a date for sync of data duplication. Order { “_id” : ObjectId(“…”), “Order_ID” : ” “, “Customer_ID” : “ “, “ordered_item_info” : [ { “item_id”: ObjectId(“..”), “item_qty”:1, “item_prc” : “XX”}, { “item_id”: ObjectId(“..”), “item_qty”: 3, “item_prc” : “XX”} …], “Customer_Ship_Addr”: {“fl”: “123 XXX”, “st”:”TX”,”zc”:”75013 } } Customer { “_id” : ObjectId(“…”), “customer_id” : ” “, “customer_nm” : “ “, “customer_address”: [ {“fl”: “123 XXX”, “st”: “TX”, “zc”:”75013”}, {“fl”: “233 XXX”, “st”: “TX”, “zc”:”75014”}, …] } Pattern #3 – Partial Embedding Guidance - Typically meant for performant data access of frequently needed data Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Embedding was recommended Based on Application Access
  • 11. 11 11 Pattern #4 – Supplementary Collection for Tuning and Optimization. Guidance - Typically meant for differential access pattern, sharding and performant access Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Pattern #5 – Avoid Deep Nesting Guidance – Not recommended beyond 3-4 level of nesting Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Supplementary Collection of Order Status was recommended Nesting was limited to 3 levels only
  • 12. 12 Client Context: A French multinational corporation specializing in energy management and automation . The company was in the process of implementing an IOT use case for recording sensor readings from multiple devices Sds Dsds Sds sds Pattern #1 – Bucket Pattern – Optimized Index size and Optimized Read operations Guidance - Optimized as per the application access and aggregation needs Old Model { “_id” : ObjectId(“…”), "s" : BinData ( xx), "t" : ISODate ( xxx ), "v" : 15, "a" : { "Name" : "Quality", "SemanticRef" : "com.ref", "Value" : "Good" } } New Model { “_id” : ObjectId(“…”), "s" : BinData ( xx), "t" : ISODate ( xxx ), "v" : [ "0" : { # Increment from bucket start "a" : { # Only exists if there are attributes "Quality": { "v" : “Good", "s" : "XXX" # SemanticRef }, }}, “1" : {Increment from beginning of bucket }, Bucket the observations 2
  • 13. 13 13 Pattern #4 – Supplementary Collection for Tuning and Optimization. Guidance - Typically meant for differential access pattern, sharding and performant access Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Pattern #5 – Avoid Deep Nesting Guidance – Not recommended beyond 3-4 level of nesting Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Supplementary Collection of Order Status was recommended Nesting was limited to 3 levels only
  • 14. 14 Client Context: A US financial services company provides nationwide domestic debit acceptance at retail POS, ATM, and Online outlets for most of the U.S. credit and debit cards. Sds Dsds Sds sds Pattern #1 – Old Model { “_id” : ObjectId(“…”), "s" : BinData ( xx), "t" : ISODate ( xxx ), "v" : 15, "a" : { "Name" : "Quality", "SemanticRef" : "com.ref", "Value" : "Good" } } Inventory Audit { “_id” : ObjectId(“…”), "s" : BinData ( xx), "t" : ISODate ( xxx ), "v" : [ "0" : { # Increment from bucket start "a" : { # Only exists if there are attributes "Quality": { "v" : “Good", "s" : "XXX" # SemanticRef }, }}, “1" : {Increment from beginning of bucket }, Reference by key was recommended 3
  • 15. 15 15 Pattern #4 – Supplementary Collection for Tuning and Optimization. Guidance - Typically meant for differential access pattern, sharding and performant access Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Pattern #5 – Avoid Deep Nesting Guidance – Not recommended beyond 3-4 level of nesting Inventory { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “item_desc” : “XXXX”, … } Inventory Audit { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “inventory_chng”: [ {“dts”: DTS#1}, {“dts”: DTS#2}, …] } Inventory Audit Detail { “_id” : ObjectId(“…”), “item_zone” : ” “, “item_id” : “ “, “item_sku” : “ “, “item_qty” : 500, “dts” : DTS#1, from_qty : X, to_qty : Y, ord_id : “XXX” } Supplementary Collection of Order Status was recommended Nesting was limited to 3 levels only
  • 17. How to provide Predictability and get a head start to NoSQL Model when migrating from a RDBMS?
  • 18. IDMC - Infosys Data Model Converter 18 EXTRACTION ANALYSIS PERSISTENCE PROCESSING DEPLOYMENT Source RDBMS Table Design Query Pattern Data Pattern Entity and Relationship Read and Write Query Data Volatility and Cardinality Rules Drools SQL Lite Target Data-Model Generation Deployment Scripts Target NoSQL Process Rules
  • 19. © 2018 Infosys Limited, Bengaluru, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such information is subject to change without notice. Infosys acknowledges the proprietary rights of other companies to the trademarks, product names and such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording or otherwise, without the prior permission of Infosys Limited and/ or any named intellectual property rights holders under this document. THANK YOU