SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
Asya Kamsky, MongoDB Maven
Measuring Transaction Performance
MongoDB Meets TPC-C
@asya999 #askAsya
Asya Kamsky, MongoDB Maven
Measuring Transaction Performance
MongoDB Meets TPC-C
@asya999 #askAsya
Or how I learned to stop worrying and love the benchmarks.
Motivation
Or why I never liked benchmarking
Benchmarks
SQL
Badly executed
Don't apply to me/you
Benchmarks
"Won't someone think about the customer!!!
Benchmarks
Methodology
State of NoSQL Standard Benchmarks
State of NoSQL Standard Benchmarks
State of NoSQL Standard Benchmarks
TPC-C
What the heck is it?
TPC-C
TPC-C
Data Model: Workload:
Transactions:
1. New Order
2. Delivery
3. Payment
4. Order Status Check
5. Stock Level Check
TPC-C
Data Schema: Workload:
Transactions:
1. New Order
2. Delivery
3. Payment
4. Order Status Check
5. Stock Level Check
TPC-C
Data Model. Workload.
CODE?
Measure="TpmC"
PY-TPCC
Evolution of TPC-C for
MongoDB
Evolution of TPC-C for
MongoDB
Wrap every “transaction” in 'transaction'
# before
def doPayment(self, params):
w_id = params["w_id"]
d_id = params["d_id"]
# before
def doPayment(self, params):
w_id = params["w_id"]
d_id = params["d_id"]
# after
def doPayment(self, params):
(value, retries) =
self.run_transaction_with_retries(
self.client,
self._doPaymentTxn,
"PAYMENT", params)
return (value, retries)
def _doPaymentTxn(self, params):
w_id = params["w_id"]
d_id = params["d_id"]
# before
def doPayment(self, params):
w_id = params["w_id"]
d_id = params["d_id"]
# after
def doPayment(self, params):
(value, retries) =
self.run_transaction_with_retries(
self.client,
self._doPaymentTxn,
"PAYMENT", params)
return (value, retries)
def _doPaymentTxn(self, params):
w_id = params["w_id"]
d_id = params["d_id"]
Evolution of TPC-C for
MongoDB
Add Standard MongoDB Options
TPC-C
Old:
host
port
dbname
normalized or not
New:
Full URI
Authentication support
Connect to replica set
Options for every A/B setting
Multiple Runtime Options
Evolution of TPC-C for
MongoDB
Fix Data Model (i.e. schema)
TPC-C
Data Schema RDBMS: Original py-tpcc
TWO MODES:
Normalized
Denormalized
TPC-C
Data Schema Old: Original py-tpcc
TWO MODES:
Normalized
Denormalized
TPC-C
Data Schema Old: Original py-tpcc
TWO MODES:
Normalized
Denormalized
TPC-C
Data Schema New: Modes:
Normalized
Denormalized (new)
OrderLines[
]
TPC-C
Data Schema New: Modes:
Normalized
Denormalized (new)
OrderLines[
]
TPC-C
Data Schema New: Modes:
Normalized
Denormalized (new)
OrderLines[
]
TPC-C
Data Schema New:
Normalized
Denormalized (new)
OrderLines[
]
Evolution of TPC-C for
MongoDB
FIX INDEXES
TPC-C
Old:
Suboptimal
New:
Optimal indexes
TPC-C
Old:
Suboptimal
ITEM: "I_ID"
WAREHOUSE: "W_ID"
DISTRICT: "D_ID"
"D_W_ID"
CUSTOMER: "C_ID"
"C_D_ID"
"C_W_ID"
STOCK: "S_W_ID"
"S_I_ID"
ORDERS: "O_ID"
"O_D_ID"
"O_W_ID"
"O_C_ID"
NEW_ORDER: "NO_O_ID"
"NO_D_ID"
"NO_W_ID"
New:
Optimal indexes
ITEM: "I_ID"
WAREHOUSE: "W_ID","W_TAX"
DISTRICT: "D_W_ID","D_ID","D_NEXT_O_ID","D_TAX"
CUSTOMER: "C_W_ID", "C_D_ID", "C_ID"
"C_W_ID","C_D_ID","C_LAST"
STOCK: "S_W_ID","S_I_ID","S_QUANTITY"
"S_I_ID"
ORDERS: "O_W_ID", "O_D_ID","O_ID","O_C_ID"
"O_W_ID","O_D_ID","O_C_ID","O_ID","O_CARRIER_ID"
NEW_ORDER: "NO_W_ID","NO_D_ID","NO_O_ID"
TPC-C
Old:
Suboptimal
ITEM: "I_ID"
WAREHOUSE: "W_ID"
DISTRICT: "D_ID"
"D_W_ID"
CUSTOMER: "C_ID"
"C_D_ID"
"C_W_ID"
STOCK: "S_W_ID"
"S_I_ID"
ORDERS: "O_ID"
"O_D_ID"
"O_W_ID"
"O_C_ID"
NEW_ORDER: "NO_O_ID"
"NO_D_ID"
"NO_W_ID"
New:
Optimal indexes
ITEM: "I_ID"
WAREHOUSE: "W_ID","W_TAX"
DISTRICT: "D_W_ID","D_ID","D_NEXT_O_ID","D_TAX"
CUSTOMER: "C_W_ID", "C_D_ID", "C_ID"
"C_W_ID","C_D_ID","C_LAST"
STOCK: "S_W_ID","S_I_ID","S_QUANTITY"
"S_I_ID"
ORDERS: "O_W_ID", "O_D_ID","O_ID","O_C_ID"
"O_W_ID","O_D_ID","O_C_ID","O_ID","O_CARRIER_ID"
NEW_ORDER: "NO_W_ID","NO_D_ID","NO_O_ID"
HARDWARE
SELECTION
EASY: Atlas, MongoDB DaaS
Replica Set (3 nodes)
GCE
M80 (also M50 & M60)
us-east1 (3 AZ)
Client:
GCE
n1-highcpu-16
No HW/OS configuration decisions
4.0.latest
Automatically updated/patched/etc
Monitoring!
EASY: Atlas, MongoDB DaaS
TPC-C Cost Per "T" in TpmC
Evolution of TPC-C for
MongoDB
Code Optimization
Evolution of TPC-C for
MongoDB
findAndModify instead of update_one + find_one
Old:
o = self.orders.find_one(
{"O_ID": o_id,
"O_D_ID": d_id,
"O_W_ID": w_id,
"$comment": c}, session=s)
self.orders.update_one(
{"_id": o['_id'], "$comment": c},
{"$set": {
"O_CARRIER_ID": o_carrier_id,
"ORDER_LINE.$[].OL_DELIVERY_D":
ol_delivery_d}},
session=s)
TPC-C
New:
o= self.orders.find_one_and_update(
{"O_ID": o_id,
"O_D_ID": d_id,
"O_W_ID": w_id,
"$comment": c},
{"$set": {
"O_CARRIER_ID": o_carrier_id,
"ORDER_LINE.$[].OL_DELIVERY_D":
ol_delivery_d}}, session=s)
TPC-C
New:
Evolution of TPC-C for
MongoDB
Secondary Reads
TPC-C
Evolution of TPC-C for
MongoDB
WriteConcern
TPC-C
Evolution of TPC-C for
MongoDB
Batch Writes
TPC-C
Old NEW_ORDER: New NEW_ORDER:
Old NEW_ORDER:
for i in range(ol_cnt):
self.stock.update_one(si,
{"$set": {"S_QUANTITY": ...},
session=s)
self.order_line.insert_one(
ol, session=s)
TPC-C
New NEW_ORDER:
stockWrites = []
orderLineWrites = []
for i in range(ol_cnt):
stockWrites.append(
pymongo.UpdateOne(si,
{"$set": {"S_QUANTITY": ...}}))
orderLineWrites.append(ol)
self.order_line.insert_many(
orderLineWrites, session=s)
self.stock.bulk_write(
stockWrites, session=s)
Evolution of TPC-C for
MongoDB
Batching Deliveries
TPC-C
Old Delivery :
Pick Warehouse:
start Transaction
for each of ten deliveries
do delivery
done
commit Transaction
done
TPC-C
New Delivery:
Pick Warehouse:
for each of ten deliveries
start Transaction
do delivery
commit Transaction
done
done
TPC-C
Measure and analyze everything*
* even the stuff you think you know
Analyzing Results
Easy! MongoDB Charts!
Results:
Throughput (Y) vs Scale (X) by Instance Type:
M50
M60
M80
Throughput (Y) vs Scale (X) by Instance Type:
M50
M60
M80
50 100 300 500 1000
55,000 -
50,000 -
45,000 -
40,000 -
35,000 -
30,000 -
25,000 -
20,000 -
15,000 -
10,000 -
5,000 -
0 -
WC: majority
threads:100
p50: 31-190ms
WC: majority
threads:100-600
p50: 37-775ms
TPC-C Cost Per "T" in TpmC
Throughput (Y) vs Scale (X) by Instance Type:
M50
M60
M80
50 100 300 500 1000
55,000 -
50,000 -
45,000 -
40,000 -
35,000 -
30,000 -
25,000 -
20,000 -
15,000 -
10,000 -
5,000 -
0 -
WC: majority
threads:100
p50: 31-190ms
What's next?
Publish paper
Publish paper VLDB 2019
What's next?
What's next?
Publish paper VLDB 2019
Make github repo public
Submit more changes upstream
Extend for sharded workload
Measure bigger scale
Adapt more traditional benchmarks?
MongoDB World 2019: Benchmarking Transactions: MongoDB Meets TPC-C

Más contenido relacionado

La actualidad más candente

Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
Open Source Lambda Architecture with Hadoop, Kafka, Samza and DruidOpen Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
DataWorks Summit
 
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
Databricks
 

La actualidad más candente (20)

MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop components
 
MyRocks introduction and production deployment
MyRocks introduction and production deploymentMyRocks introduction and production deployment
MyRocks introduction and production deployment
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Data Maturity - A Balanced Approach
Data Maturity - A Balanced ApproachData Maturity - A Balanced Approach
Data Maturity - A Balanced Approach
 
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
Introduction to the Hadoop Ecosystem with Hadoop 2.0 aka YARN (Java Serbia Ed...
 
MongoDB
MongoDBMongoDB
MongoDB
 
How Do I Know I Need a Ledger Database? An Introduction to Amazon QLDB
How Do I Know I Need a Ledger Database? An Introduction to Amazon QLDBHow Do I Know I Need a Ledger Database? An Introduction to Amazon QLDB
How Do I Know I Need a Ledger Database? An Introduction to Amazon QLDB
 
Azure Redis Cache
Azure Redis CacheAzure Redis Cache
Azure Redis Cache
 
In memory databases presentation
In memory databases presentationIn memory databases presentation
In memory databases presentation
 
RocksDB Performance and Reliability Practices
RocksDB Performance and Reliability PracticesRocksDB Performance and Reliability Practices
RocksDB Performance and Reliability Practices
 
AWS October Webinar Series - Introducing Amazon QuickSight
AWS October Webinar Series - Introducing Amazon QuickSightAWS October Webinar Series - Introducing Amazon QuickSight
AWS October Webinar Series - Introducing Amazon QuickSight
 
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
Open Source Lambda Architecture with Hadoop, Kafka, Samza and DruidOpen Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
Open Source Lambda Architecture with Hadoop, Kafka, Samza and Druid
 
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
Redis + Structured Streaming—A Perfect Combination to Scale-Out Your Continuo...
 
How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB How Insurance Companies Use MongoDB
How Insurance Companies Use MongoDB
 
MongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and ShardingMongoDB: Advance concepts - Replication and Sharding
MongoDB: Advance concepts - Replication and Sharding
 
Introducing MongoDB Atlas
Introducing MongoDB AtlasIntroducing MongoDB Atlas
Introducing MongoDB Atlas
 
SQL & NoSQL
SQL & NoSQLSQL & NoSQL
SQL & NoSQL
 
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
 

Similar a MongoDB World 2019: Benchmarking Transactions: MongoDB Meets TPC-C

SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptxSH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
MongoDB
 
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptxSH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
MongoDB
 
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptxSH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
MongoDB
 
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptxSH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
MongoDB
 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
MongoSF
 

Similar a MongoDB World 2019: Benchmarking Transactions: MongoDB Meets TPC-C (20)

SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptxSH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
 
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptxSH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
SH 1 - SES 2 part 2 - Tel Aviv MDBlocal - Eliot Keynote.pptx
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
GraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learnedGraphQL - when REST API is to less - lessons learned
GraphQL - when REST API is to less - lessons learned
 
MongoDB Stich Overview
MongoDB Stich OverviewMongoDB Stich Overview
MongoDB Stich Overview
 
Agile Database Development with JSON
Agile Database Development with JSONAgile Database Development with JSON
Agile Database Development with JSON
 
How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6How to leverage what's new in MongoDB 3.6
How to leverage what's new in MongoDB 3.6
 
[MongoDB.local Bengaluru 2018] Keynote
[MongoDB.local Bengaluru 2018] Keynote[MongoDB.local Bengaluru 2018] Keynote
[MongoDB.local Bengaluru 2018] Keynote
 
MongoDB World 2019: Building an Efficient and Performant Data Model: Real Wor...
MongoDB World 2019: Building an Efficient and Performant Data Model: Real Wor...MongoDB World 2019: Building an Efficient and Performant Data Model: Real Wor...
MongoDB World 2019: Building an Efficient and Performant Data Model: Real Wor...
 
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptxSH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
 
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptxSH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
SH 1 - SES 3 - 3.6-Overview-Tel-Aviv.pptx
 
MongoDB Aggregation
MongoDB Aggregation MongoDB Aggregation
MongoDB Aggregation
 
Effectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto LeiteEffectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto Leite
 
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbPractical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo Db
 
Webinar: Position and Trade Management with MongoDB
Webinar: Position and Trade Management with MongoDBWebinar: Position and Trade Management with MongoDB
Webinar: Position and Trade Management with MongoDB
 
SDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - JapanSDKs, the good the bad the ugly - Japan
SDKs, the good the bad the ugly - Japan
 
Super spike
Super spikeSuper spike
Super spike
 
1
11
1
 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
 
Practical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFPractical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSF
 

Más de MongoDB

Más 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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
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)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

MongoDB World 2019: Benchmarking Transactions: MongoDB Meets TPC-C