@
#MDBlocal
Benjamin Cefalo
Lead Product Manager, Cloud
bencefalo
Modern Data Backup and Recovery from
On Premises to the Public Cloud
#MDBLocal
Safe Harbor Statement
This presentation contains “forward-looking statements” within the meaning of Section 27A of the Securities Act
of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Such forward-looking
statements are subject to a number of risks, uncertainties, assumptions and other factors that could cause
actual results and the timing of certain events to differ materially from future results expressed or implied by the
forward-looking statements. Factors that could cause or contribute to such differences include, but are not
limited to, those identified our filings with the Securities and Exchange Commission. You should not rely upon
forward-looking statements as predictions of future events. Furthermore, such forward-looking statements
speak only as of the date of this presentation.
In particular, the development, release, and timing of any features or functionality described for MongoDB
products remains at MongoDB’s sole discretion. This information is merely intended to outline our general
product direction and it should not be relied on in making a purchasing decision nor is this a commitment,
promise or legal obligation to deliver any material, code, or functionality. Except as required by law, we
undertake no obligation to update any forward-looking statements to reflect events or circumstances after the
date of such statements.
Quick level set — We’re not going to talk
about disaster recovery
#MDBLocal
Application
Driver
Primary
Secondary
Secondary
Replication
#MDBLocal
Application
Driver
Primary
Secondary
Secondary
Replication
But what happens when you have
data corruption in your primary or
someone accidentally does
something they shouldn’t have... ?
#MDBLocal
Application
Driver
Primary
Secondary
Secondary
Replication
#MDBLocal
Application
Driver
Primary
Secondary
Secondary
Replication
Data Recovery - That’s what we’re going to
focus on today
The Future of Backup for Self
Managing or On-Premises
#MDBLocal
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
#MDBLocal
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
#MDBLocal
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
App Server for
Backup
#MDBLocal
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
App Server for
Backup
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
#MDBLocal
...
...
Blockstore06
Blockstore04
Blockstore02
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
App Server for
Backup
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Blockstore01
Blockstore03
Blockstore05
#MDBLocal
...
...
...
...
Oplog04
Oplog02
Blockstore06
Blockstore04
Blockstore02
Oplog06
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
App Server for
Backup
Oplog01
Oplog03
Oplog05
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Blockstore01
Blockstore03
Blockstore05
#MDBLocal
Backup Strategy
● Reduce the footprint and architectural complexities needed for backup
● Reduce cost
● Improve performance
WiredTiger Checkpoints
#MDBLocal
What is it?
● Enhanced WiredTiger to take checkpoints of itself
● Checkpoints are then moved to long term storage
● HeadDB’s are completely eliminated — no more initial syncs!
○ Reduced storage requirements
○ Reduces architectural complexities
○ Reduces infrastructure required
● Consolidated agents, from three agents to one
#MDBLocal
...
...
...
...
Oplog04
Oplog02
Blockstore06
Blockstore04
Blockstore02
Oplog06
On-Premises Backup Architecture Today
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
Backup Agent
Monitoring Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
App Server for
Backup
Oplog01
Oplog03
Oplog05
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Backup
Daemon
HeadDB
Blockstore01
Blockstore03
Blockstore05
#MDBLocal
Oplog02
Blockstore
New Backup Architecture
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
OM Group
BackupLoadBalancer
App
Server/Backup
Daemon
App
Server/Backup
Daemon
Oplog01
S3 Snapshot Store
#MDBLocal
Backup Node Selection Order
1. Hidden Secondaries
2. A secondary we have already taken a snapshot from
3. Secondary closet to the time of the time of the snapshot
4. Any available secondary
5. Primary
#MDBLocal
Phase 1 Details
• Backup agent required to exist on every node
• OM 4.2 required for backing up 4.2
• Backwards compatible for 4.0 and below
• Daemons are used for background tasks
• Replica sets only
• Sharded clusters coming later this year
#MDBLocal
S3 Oplog
Blockstore
New Backup Architecture — Future
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
OM Group
BackupLoadBalancer
App Server for
Backup
App Server for
Backup
Oplog01
S3 Snapshot Store
#MDBLocal
Future Improvements
● Agents read/write directly to OpLog and snapshots store
#MDBLocal
S3 Oplog
New Backup Architecture — Future
Ops Manager
OM01
OM02
OM03
OM04
OM05
OM06
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
MongoDB Agent
OM Group
S3 Snapshot Store
#MDBLocal
Future Improvements
● Agents read/write directly to OpLog and snapshots store
● Leave a checkpoint behind
● Incremental Checkpoints
● Data copy optimizations
Atlas
#MDBLocal
Multi-AZ Disaster Recovery by Default
AZ IIAZ I AZ III
#MDBLocal
...with Optional Multi-Region Fault Tolerance
AZ IIAZ I AZ III
Preferred Region
AZ I AZ II AZ I AZ II
Failover Region Failover Region
#MDBLocal
Atlas Backups: Data Recovery
Roll back the clock when you
run into issues triggered by
user or application errors that
are replicated from the
primary to the rest of your
cluster.
#MDBLocal
Point-in-Time Data Recovery
• Lets you select a restore time based on your PIT window
• Restores the closest snapshot and rolls ahead
• Reduces the possibility of data loss
#MDBLocal
What About Small Disasters?
• The application is working fine
• But there is data missing or has
been altered
• No time to do a full restore
#MDBLocal
Queryable Backups
• Ability to query your snapshots
and restore data at the
document level in minutes.
• Reduces the operational
overhead associated with:
• Identifying whether data of
interest has been altered
• Pinpointing the best point in
time to restore a database
db = source.locations
db2 = destination.locations
zips = db.zipcodes
zips2 = db2.zipcodes
def restore():
print "Finding Missing Data"
query = {'state’: ‘IL'}
try:
cursor = zips.find(query)
except Exception as e:
print "Unexpected error:", type(e), e
for doc in cursor:
zips2.insert(doc)
Sample Script
Script is available on my Github - https://github.com/bencefalo
DEMO
Queryable Backup
#MDBLocal
Continuous Backup Regions
#MDBLocal
Cloud Provider Snapshots (CPS)
• Utilizes each providers native snapshot
capabilities
• Granular backup region selection
• Satisfy data sovereignty requirements
• Supports replica sets and sharded clusters
• Pricing is based on snapshot size, not data size
• Less expensive, starting at $0.08 per GB of
snapshot size (varies per provider and region)
• Now available on all cloud providers!
• AWS and GCP snapshots are incremental
Incremental snapshots for Atlas
customers deploying on AWS
10 GB 15 GB (5 new) 20 GB (5 new)
#MDBLocal
Continuous Backup Regions
#MDBLocal
Snapshot Backup Regions
#MDBLocal
Cloud Provider Snapshots (CPS) Updates
• Bring your own keys
• Backup Policies
• On-demand snapshots (quicksave)
• Takes a snapshot immediately if there’s not already one in progress
• API for pipeline integrations
• M2/M5 Backups
• NEW! - Point in Time Restore on AWS
• Restore to a point in time within the window, down to the minute granularity
• Configurable Point in Time Window (Continuous only has 24 hours)
• Available first on AWS, GCP and Azure are coming soon!
Announcing Direct Attach Restores
#MDBLocal
Cloud Provider Snapshots – Point in Time Restore
• Restore to a point in time within the window, down to the minute
granularity
• Customizable Point in Time Window (Continuous only had 24 hours)
• Available first on AWS, GCP and Azure are coming soon!
DEMO
Cloud Provider Snapshots
Whats Next?
#MDBLocal
Cloud Provider Snapshots – Coming Soon
● Bring point in time restores to GCP and Azure clusters
● Build a new cluster from a backup
● Optimized path for queryable use cases
● Selective restore
● Snapshot Distribution
THANK YOU
#MDBlocal
Modern Day Backup and
Recovery from On-
Premises to Public Cloud
https://www.surveymonkey.com/r/PS8S5V2
Every session you rate enters you into a drawing for a $250
Visa gift card, sponsored by
MongoDB .local Chicago 2019: Modern Data Backup and Recovery from On-premises to the Public Cloud

More Related Content

PDF
MongoDB .local Chicago 2019: MongoDB – Powering the new age data demands
PDF
MongoDB .local Toronto 2019: Keep your Business Safe and Scaling Holistically...
PDF
MongoDB .local Chicago 2019: A MongoDB Journey: Moving from a relational data...
PPTX
Power Real Estate Property Analytics with MongoDB + Spark
PDF
MongoDB .local Toronto 2019: MongoDB Atlas Jumpstart
PDF
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
PDF
MongoDB .local Munich 2019: Mastering MongoDB on Kubernetes – MongoDB Enterpr...
PDF
MongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Chicago 2019: MongoDB – Powering the new age data demands
MongoDB .local Toronto 2019: Keep your Business Safe and Scaling Holistically...
MongoDB .local Chicago 2019: A MongoDB Journey: Moving from a relational data...
Power Real Estate Property Analytics with MongoDB + Spark
MongoDB .local Toronto 2019: MongoDB Atlas Jumpstart
MongoDB .local Toronto 2019: MongoDB – Powering the new age data demands
MongoDB .local Munich 2019: Mastering MongoDB on Kubernetes – MongoDB Enterpr...
MongoDB .local Chicago 2019: MongoDB Atlas Data Lake Technical Deep Dive

What's hot (20)

PPTX
MongoDB Atlas
PPTX
Replacing Traditional Technologies with MongoDB: A Single Platform for All Fi...
PPTX
Bye Bye Legacy: Simplifying the Journey
PPTX
Webinar: Simplifying the Database Experience with MongoDB Atlas
PPTX
Accelerating a Path to Digital with a Cloud Data Strategy
PDF
MongoDB: Agile Combustion Engine
PPTX
Secure, Low Latency with MongoDB
PDF
Mongodb Spring
PDF
Building a Microservices-based ERP System
PDF
Overcoming Today's Data Challenges with MongoDB
PPTX
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
PPTX
Introducing Stitch
PPTX
MongoDB 3.4 webinar
PPTX
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
PDF
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
PDF
MongoDB SoCal 2020: MongoDB Atlas Jump Start
PDF
MongoDB World 2019: Ticketek: Scaling to Global Ticket Sales with MongoDB Atlas
PPTX
Introducing MongoDB Atlas
PPTX
Managing Multi-Tenant SaaS Applications at Scale
PPTX
Managing Cloud Security Design and Implementation in a Ransomware World
MongoDB Atlas
Replacing Traditional Technologies with MongoDB: A Single Platform for All Fi...
Bye Bye Legacy: Simplifying the Journey
Webinar: Simplifying the Database Experience with MongoDB Atlas
Accelerating a Path to Digital with a Cloud Data Strategy
MongoDB: Agile Combustion Engine
Secure, Low Latency with MongoDB
Mongodb Spring
Building a Microservices-based ERP System
Overcoming Today's Data Challenges with MongoDB
Powering Microservices with MongoDB, Docker, Kubernetes & Kafka – MongoDB Eur...
Introducing Stitch
MongoDB 3.4 webinar
MongoDB Evenings DC: Get MEAN and Lean with Docker and Kubernetes
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB World 2019: Ticketek: Scaling to Global Ticket Sales with MongoDB Atlas
Introducing MongoDB Atlas
Managing Multi-Tenant SaaS Applications at Scale
Managing Cloud Security Design and Implementation in a Ransomware World
Ad

Similar to MongoDB .local Chicago 2019: Modern Data Backup and Recovery from On-premises to the Public Cloud (20)

PDF
MongoDB .local London 2019: Modern Data Backup and Recovery from On-premises ...
PDF
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
PPTX
MongoDB.local Atlanta: Modern Data Backup and Recovery from On-Premises to th...
PDF
Modern Data Backup and Recovery from On-Premises to the Public Cloud
PDF
MongoDB .local London 2019: Using MongoDB Services in Kubernetes: Any Platfor...
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
PPTX
Addressing Your Backup Needs Using Ops Manager and Atlas
PPT
Agentless System Crawler - InterConnect 2016
PPTX
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
PDF
MongoDB OpsManager and Kubernetes
PDF
The OMR GC talk - Ruby Kaigi 2015
PPT
20160221 va interconnect_pub
PDF
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
PDF
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
PDF
Running MongoDB Enterprise on Kubernetes
PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
PPTX
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
PDF
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
PDF
A Deep Dive into the Liberty Buildpack on IBM BlueMix
PDF
Installing Cognos 10.2.1: Tips and Tricks from the Trenches
MongoDB .local London 2019: Modern Data Backup and Recovery from On-premises ...
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB.local Atlanta: Modern Data Backup and Recovery from On-Premises to th...
Modern Data Backup and Recovery from On-Premises to the Public Cloud
MongoDB .local London 2019: Using MongoDB Services in Kubernetes: Any Platfor...
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
Addressing Your Backup Needs Using Ops Manager and Atlas
Agentless System Crawler - InterConnect 2016
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB OpsManager and Kubernetes
The OMR GC talk - Ruby Kaigi 2015
20160221 va interconnect_pub
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
Taking the Next Hot Mobile Game Live with Docker and IBM SoftLayer
Running MongoDB Enterprise on Kubernetes
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
A Deep Dive into the Liberty Buildpack on IBM BlueMix
Installing Cognos 10.2.1: Tips and Tricks from the Trenches
Ad

More from MongoDB (20)

PDF
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
PDF
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
PDF
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
PDF
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
PDF
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
PDF
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
PDF
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
PDF
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
PDF
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
PDF
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
PDF
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
PDF
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
PDF
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
PDF
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
PDF
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
PDF
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
PDF
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
PDF
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
PDF
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
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: A Complete Methodology of Data Modeling for MongoDB
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 .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 MongoDB Services in Kubernetes: any ...
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: Tips and Tricks++ for Querying and Indexin...
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: MongoDB Atlas Data Lake Technical Deep Dive
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: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Tout savoir sur le moteur de recherche Full Text S...
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...

Recently uploaded (20)

PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPT
What is a Computer? Input Devices /output devices
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Modernising the Digital Integration Hub
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Architecture types and enterprise applications.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Five Habits of High-Impact Board Members
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Getting started with AI Agents and Multi-Agent Systems
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
What is a Computer? Input Devices /output devices
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Getting Started with Data Integration: FME Form 101
DP Operators-handbook-extract for the Mautical Institute
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Modernising the Digital Integration Hub
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
CloudStack 4.21: First Look Webinar slides
A review of recent deep learning applications in wood surface defect identifi...
Hindi spoken digit analysis for native and non-native speakers
1 - Historical Antecedents, Social Consideration.pdf
sustainability-14-14877-v2.pddhzftheheeeee
Architecture types and enterprise applications.pdf
Zenith AI: Advanced Artificial Intelligence
Final SEM Unit 1 for mit wpu at pune .pptx
Five Habits of High-Impact Board Members
A novel scalable deep ensemble learning framework for big data classification...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...

MongoDB .local Chicago 2019: Modern Data Backup and Recovery from On-premises to the Public Cloud

  • 1. @ #MDBlocal Benjamin Cefalo Lead Product Manager, Cloud bencefalo Modern Data Backup and Recovery from On Premises to the Public Cloud
  • 2. #MDBLocal Safe Harbor Statement This presentation contains “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Such forward-looking statements are subject to a number of risks, uncertainties, assumptions and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by the forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those identified our filings with the Securities and Exchange Commission. You should not rely upon forward-looking statements as predictions of future events. Furthermore, such forward-looking statements speak only as of the date of this presentation. In particular, the development, release, and timing of any features or functionality described for MongoDB products remains at MongoDB’s sole discretion. This information is merely intended to outline our general product direction and it should not be relied on in making a purchasing decision nor is this a commitment, promise or legal obligation to deliver any material, code, or functionality. Except as required by law, we undertake no obligation to update any forward-looking statements to reflect events or circumstances after the date of such statements.
  • 3. Quick level set — We’re not going to talk about disaster recovery
  • 5. #MDBLocal Application Driver Primary Secondary Secondary Replication But what happens when you have data corruption in your primary or someone accidentally does something they shouldn’t have... ?
  • 8. Data Recovery - That’s what we’re going to focus on today
  • 9. The Future of Backup for Self Managing or On-Premises
  • 10. #MDBLocal On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06
  • 11. #MDBLocal On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group
  • 12. #MDBLocal On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup App Server for Backup
  • 13. #MDBLocal On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup App Server for Backup Backup Daemon HeadDB Backup Daemon HeadDB Backup Daemon HeadDB
  • 14. #MDBLocal ... ... Blockstore06 Blockstore04 Blockstore02 On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup App Server for Backup Backup Daemon HeadDB Backup Daemon HeadDB Backup Daemon HeadDB Blockstore01 Blockstore03 Blockstore05
  • 15. #MDBLocal ... ... ... ... Oplog04 Oplog02 Blockstore06 Blockstore04 Blockstore02 Oplog06 On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup App Server for Backup Oplog01 Oplog03 Oplog05 Backup Daemon HeadDB Backup Daemon HeadDB Backup Daemon HeadDB Blockstore01 Blockstore03 Blockstore05
  • 16. #MDBLocal Backup Strategy ● Reduce the footprint and architectural complexities needed for backup ● Reduce cost ● Improve performance
  • 18. #MDBLocal What is it? ● Enhanced WiredTiger to take checkpoints of itself ● Checkpoints are then moved to long term storage ● HeadDB’s are completely eliminated — no more initial syncs! ○ Reduced storage requirements ○ Reduces architectural complexities ○ Reduces infrastructure required ● Consolidated agents, from three agents to one
  • 19. #MDBLocal ... ... ... ... Oplog04 Oplog02 Blockstore06 Blockstore04 Blockstore02 Oplog06 On-Premises Backup Architecture Today Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent Backup Agent Monitoring Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup App Server for Backup Oplog01 Oplog03 Oplog05 Backup Daemon HeadDB Backup Daemon HeadDB Backup Daemon HeadDB Blockstore01 Blockstore03 Blockstore05
  • 20. #MDBLocal Oplog02 Blockstore New Backup Architecture Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent OM Group BackupLoadBalancer App Server/Backup Daemon App Server/Backup Daemon Oplog01 S3 Snapshot Store
  • 21. #MDBLocal Backup Node Selection Order 1. Hidden Secondaries 2. A secondary we have already taken a snapshot from 3. Secondary closet to the time of the time of the snapshot 4. Any available secondary 5. Primary
  • 22. #MDBLocal Phase 1 Details • Backup agent required to exist on every node • OM 4.2 required for backing up 4.2 • Backwards compatible for 4.0 and below • Daemons are used for background tasks • Replica sets only • Sharded clusters coming later this year
  • 23. #MDBLocal S3 Oplog Blockstore New Backup Architecture — Future Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent OM Group BackupLoadBalancer App Server for Backup App Server for Backup Oplog01 S3 Snapshot Store
  • 24. #MDBLocal Future Improvements ● Agents read/write directly to OpLog and snapshots store
  • 25. #MDBLocal S3 Oplog New Backup Architecture — Future Ops Manager OM01 OM02 OM03 OM04 OM05 OM06 MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent MongoDB Agent OM Group S3 Snapshot Store
  • 26. #MDBLocal Future Improvements ● Agents read/write directly to OpLog and snapshots store ● Leave a checkpoint behind ● Incremental Checkpoints ● Data copy optimizations
  • 27. Atlas
  • 28. #MDBLocal Multi-AZ Disaster Recovery by Default AZ IIAZ I AZ III
  • 29. #MDBLocal ...with Optional Multi-Region Fault Tolerance AZ IIAZ I AZ III Preferred Region AZ I AZ II AZ I AZ II Failover Region Failover Region
  • 30. #MDBLocal Atlas Backups: Data Recovery Roll back the clock when you run into issues triggered by user or application errors that are replicated from the primary to the rest of your cluster.
  • 31. #MDBLocal Point-in-Time Data Recovery • Lets you select a restore time based on your PIT window • Restores the closest snapshot and rolls ahead • Reduces the possibility of data loss
  • 32. #MDBLocal What About Small Disasters? • The application is working fine • But there is data missing or has been altered • No time to do a full restore
  • 33. #MDBLocal Queryable Backups • Ability to query your snapshots and restore data at the document level in minutes. • Reduces the operational overhead associated with: • Identifying whether data of interest has been altered • Pinpointing the best point in time to restore a database
  • 34. db = source.locations db2 = destination.locations zips = db.zipcodes zips2 = db2.zipcodes def restore(): print "Finding Missing Data" query = {'state’: ‘IL'} try: cursor = zips.find(query) except Exception as e: print "Unexpected error:", type(e), e for doc in cursor: zips2.insert(doc) Sample Script Script is available on my Github - https://github.com/bencefalo
  • 37. #MDBLocal Cloud Provider Snapshots (CPS) • Utilizes each providers native snapshot capabilities • Granular backup region selection • Satisfy data sovereignty requirements • Supports replica sets and sharded clusters • Pricing is based on snapshot size, not data size • Less expensive, starting at $0.08 per GB of snapshot size (varies per provider and region) • Now available on all cloud providers! • AWS and GCP snapshots are incremental Incremental snapshots for Atlas customers deploying on AWS 10 GB 15 GB (5 new) 20 GB (5 new)
  • 40. #MDBLocal Cloud Provider Snapshots (CPS) Updates • Bring your own keys • Backup Policies • On-demand snapshots (quicksave) • Takes a snapshot immediately if there’s not already one in progress • API for pipeline integrations • M2/M5 Backups • NEW! - Point in Time Restore on AWS • Restore to a point in time within the window, down to the minute granularity • Configurable Point in Time Window (Continuous only has 24 hours) • Available first on AWS, GCP and Azure are coming soon!
  • 42. #MDBLocal Cloud Provider Snapshots – Point in Time Restore • Restore to a point in time within the window, down to the minute granularity • Customizable Point in Time Window (Continuous only had 24 hours) • Available first on AWS, GCP and Azure are coming soon!
  • 45. #MDBLocal Cloud Provider Snapshots – Coming Soon ● Bring point in time restores to GCP and Azure clusters ● Build a new cluster from a backup ● Optimized path for queryable use cases ● Selective restore ● Snapshot Distribution
  • 47. #MDBlocal Modern Day Backup and Recovery from On- Premises to Public Cloud https://www.surveymonkey.com/r/PS8S5V2 Every session you rate enters you into a drawing for a $250 Visa gift card, sponsored by