SlideShare a Scribd company logo
@
#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 and other advanced features coming later
#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': ‘NY'}
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
• AWS KMS
• Azure Key Vault
• GCP KMS
• Backup Policies
• On-demand snapshots (quicksave)
• Takes a snapshot immediately if there’s not already one in progress
• API for pipeline integrations
• NEW! - M2/M5 Backups
Announcing Point in Time Restore on Cloud
Provider Snapshots!
#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
● Direct attach restore
● Build a new cluster from a backup
● Optimized path for queryable use cases
● Selective restore
THANK YOU
#MDBlocal
Modern Data Backup and
Recovery from On-
premises to the
Public Cloud
Ben Cefalo
https://www.surveymonkey.com/r/KQC8PSN
MongoDB .local London 2019: Modern Data Backup and Recovery from On-premises to the Public Cloud

More Related Content

What's hot (20)

PDF
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
PPTX
Simplify Microservices with the NGINX Application Platform
NGINX, Inc.
 
PDF
Day in the life event-driven workshop
Christina Lin
 
PPTX
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Inc.
 
PDF
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
HostedbyConfluent
 
PPTX
Analyzing NGINX Logs with Datadog
NGINX, Inc.
 
PPTX
Kafka at Scale: Multi-Tier Architectures
Todd Palino
 
PDF
Jax london - Battle-tested event-driven patterns for your microservices archi...
Natan Silnitsky
 
PDF
Digital Forensics and Incident Response in The Cloud Part 3
Velocidex Enterprises
 
PDF
KrakenD API Gateway
Albert Lombarte
 
PPTX
NGINX Microservices Reference Architecture: Ask Me Anything
NGINX, Inc.
 
PPSX
MongoDB seminar
mahdi dousti
 
PDF
Build Robust Blockchain Services with Hyperledger and Containers
LinuxCon ContainerCon CloudOpen China
 
PPTX
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Redis Labs
 
PDF
.NET Fest 2017. Anton Moldovan. How do we cook highload microservices at SBTech?
NETFest
 
PPTX
Standardizing Microservice Management With a Service Mesh
Aspen Mesh
 
PDF
Achieve Full API Lifecycle Management Using NGINX Controller – EMEA
NGINX, Inc.
 
PDF
NGINX Plus R19 : EMEA
NGINX, Inc.
 
PPTX
What's new in NGINX Plus R19
NGINX, Inc.
 
PPTX
Introducing the Microservices Reference Architecture Version 1.2
NGINX, Inc.
 
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
Simplify Microservices with the NGINX Application Platform
NGINX, Inc.
 
Day in the life event-driven workshop
Christina Lin
 
NGINX, Istio, and the Move to Microservices and Service Mesh
NGINX, Inc.
 
Distributed Enterprise Monitoring and Management of Apache Kafka (William McL...
HostedbyConfluent
 
Analyzing NGINX Logs with Datadog
NGINX, Inc.
 
Kafka at Scale: Multi-Tier Architectures
Todd Palino
 
Jax london - Battle-tested event-driven patterns for your microservices archi...
Natan Silnitsky
 
Digital Forensics and Incident Response in The Cloud Part 3
Velocidex Enterprises
 
KrakenD API Gateway
Albert Lombarte
 
NGINX Microservices Reference Architecture: Ask Me Anything
NGINX, Inc.
 
MongoDB seminar
mahdi dousti
 
Build Robust Blockchain Services with Hyperledger and Containers
LinuxCon ContainerCon CloudOpen China
 
SQL, Redis and Kubernetes by Paul Stanton of Windocks - Redis Day Seattle 2020
Redis Labs
 
.NET Fest 2017. Anton Moldovan. How do we cook highload microservices at SBTech?
NETFest
 
Standardizing Microservice Management With a Service Mesh
Aspen Mesh
 
Achieve Full API Lifecycle Management Using NGINX Controller – EMEA
NGINX, Inc.
 
NGINX Plus R19 : EMEA
NGINX, Inc.
 
What's new in NGINX Plus R19
NGINX, Inc.
 
Introducing the Microservices Reference Architecture Version 1.2
NGINX, Inc.
 

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

PDF
MongoDB .local Chicago 2019: Modern Data Backup and Recovery from On-premises...
MongoDB
 
PDF
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB
 
PPTX
MongoDB.local Atlanta: Modern Data Backup and Recovery from On-Premises to th...
MongoDB
 
PDF
Modern Data Backup and Recovery from On-Premises to the Public Cloud
MongoDB
 
PPTX
Addressing Your Backup Needs Using Ops Manager and Atlas
MongoDB
 
PPTX
Solving Your Backup Needs Using Ops Manager, Cloud Manager and Atlas
MongoDB
 
PDF
Solving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and Atlas
MongoDB
 
PDF
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB
 
PDF
MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...
MongoDB
 
PDF
MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...
MongoDB
 
PDF
Solving your Backup Needs - Ben Cefalo mdbe18
MongoDB
 
PDF
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Severalnines
 
PPTX
MongoDB Management Service: Getting Started with MMS
MongoDB
 
PPTX
Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...
Eduserv
 
PDF
Oracle Storage a ochrana dat
MarketingArrowECS_CZ
 
PPTX
Webinar: Backups + Disaster Recovery
MongoDB
 
PPTX
Webinar: Backups and Disaster Recovery
MongoDB
 
PPTX
Exadata Backup
Fran Navarro
 
PPTX
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
MongoDB
 
PPTX
Run MongoDB with Confidence Using MongoDB Management Service (MMS)
MongoDB
 
MongoDB .local Chicago 2019: Modern Data Backup and Recovery from On-premises...
MongoDB
 
MongoDB World 2019: Modern Data Backup and Recovery from On-premises to the P...
MongoDB
 
MongoDB.local Atlanta: Modern Data Backup and Recovery from On-Premises to th...
MongoDB
 
Modern Data Backup and Recovery from On-Premises to the Public Cloud
MongoDB
 
Addressing Your Backup Needs Using Ops Manager and Atlas
MongoDB
 
Solving Your Backup Needs Using Ops Manager, Cloud Manager and Atlas
MongoDB
 
Solving Your Backup Needs Using MongoDB Ops Manager, Cloud Manager and Atlas
MongoDB
 
MongoDB World 2018: Solving Your Backup Needs Using MongoDB Ops Manager, Clou...
MongoDB
 
MongoDB.local Austin 2018: Solving Your Backup Needs Using MongoDB Ops Manage...
MongoDB
 
MongoDB.local DC 2018: Solving Your Backup Needs Using MongoDB Ops Manager, C...
MongoDB
 
Solving your Backup Needs - Ben Cefalo mdbe18
MongoDB
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Severalnines
 
MongoDB Management Service: Getting Started with MMS
MongoDB
 
Backing up the virtual datacentre. Charlie Llewellyn and Andy Powell from Edu...
Eduserv
 
Oracle Storage a ochrana dat
MarketingArrowECS_CZ
 
Webinar: Backups + Disaster Recovery
MongoDB
 
Webinar: Backups and Disaster Recovery
MongoDB
 
Exadata Backup
Fran Navarro
 
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
MongoDB
 
Run MongoDB with Confidence Using MongoDB Management Service (MMS)
MongoDB
 
Ad

More from MongoDB (20)

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

Recently uploaded (20)

PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 

MongoDB .local London 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 and other advanced features coming later
  • 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': ‘NY'} 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 • AWS KMS • Azure Key Vault • GCP KMS • Backup Policies • On-demand snapshots (quicksave) • Takes a snapshot immediately if there’s not already one in progress • API for pipeline integrations • NEW! - M2/M5 Backups
  • 41. Announcing Point in Time Restore on Cloud Provider Snapshots!
  • 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 ● Direct attach restore ● Build a new cluster from a backup ● Optimized path for queryable use cases ● Selective restore
  • 47. #MDBlocal Modern Data Backup and Recovery from On- premises to the Public Cloud Ben Cefalo https://www.surveymonkey.com/r/KQC8PSN