SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Nic Cottrell, MongoDB France
MongoDB cluster design:
from Redundancy to GDPR
@niccottrell
nic-cottrell
niccottrell
Who am I?
§ I am currently a Technical Services Engineer.
§ I was recently a Consul;ng Engineer.
§ Before that I was a So>ware Engineer.
§ However, I also completed an MBA.
§ It’s complicated. ! " # $
Why are you here?
You know about databases and growth but need to be sure
MongoDB can scale while maintaining data locality and secure
flows.
Your organization has specific requirements that data be on-prem,
encrypted, controlled and backed up with zero-tolerance for
downtime.
What will you learn?
By the end of this talk, you will know about:
• Data at scale in multiple physical locations.
• Best (and worst) practices for topology design.
• How to take control of your data geographically.
• Controlling sensitive data in distributed databases.
• Avoiding any single point of failure.
• How to compare on-prem with MongoDB Atlas.
Core Principle There should be no single point
of failure in the system.According to me
European
Odyssey
1
2
3
4
5
✈
✈
Replication and
Sharding
There are two important ways to
scale a MongoDB database:
1. Replicate the same data.
2. Shard (or “partition”) the
data into subsets.
Not the same thing!
Replication
London
Paris Frankfurt
PRIMARY
SECONDARY
SECONDARY
PRIMARY
DOWN
Each node stores:
• Data, Indexes
(Encrypted on Enterprise)
• MongoDB logs
New connecJons
AuthenJcaJon aKempts
• Audit logs (Enterprise only)
• FTDC metrics
• System logs
Sharding
PRI
SEC SEC
PR I
SEC SEC
PRI
SEC SEC
Shard 1 Shard 2 Shard 3
Application
server
mongos
Config
servers
France Spain Italy
Datacenters
and
Geographic
Distribu3on
Let’s talk more about why you
need multiple datacenters
Replication and Sharding
London
Paris Frankfurt
PRIMARY
SECONDARY
SECONDARY
Virginia
Ohio California
PRIMARY
SECONDARY
SECONDARY
Sydney
Hong Kong Mumbai
PR IM A RY
SECONDARY
SECONDARY
European Union Data North America Data Asia-Pacific Data
mongos mongos
mongos
Features
Defend
Some key features:
• Access Control
• Firewalls, bindIp
• Passwords / x509
• Pseudonymization
• Encryption
• Connections with TLS
• At rest with rotated keys
Detect
• Monitoring and Reporting
redactClientLogData
• Auditing
See more on the blog series: GDPR: Impact to Your Data Management Landscape
New encryption capabilities in MongoDB 4.2:
A deep dive into protecting sensitive workloads
Kenn White, MongoDB - Tuesday, 3pm
Discover
• Compass to explore data
• Automatic data retention with TTL
indexes
Regulation (EU)
2016/679
The three Ps:
• permission
• privacy
• protec3on
aka GDPR
The two Ts:
• transfer
• transit
SEEK LEGAL ADVICE
Also HIPAA, PCI-DSS, CCPA
(California),
PIPEDA (Canada) etc.
Use cases !
Don’t do any of these!
“Mobile data”
the wrong way
!
“Mobile” Sharding
PRIMARY
SECONDARY
SECONDARY
PRIMARY
SECONDARY
SEC O N D A RY
PRIMARY
SECONDARY
SECONDARY
North Atlantic Data Mediterranean Data Central Atlantic Data
mongos
❌
Config
How’d it do?
• Fast recovery !
• Data has redundant copies
"
• Robust, performant #
• GDPR $
PRIMARY
SECONDARY
SEC O N D A RY
North Atlantic Data
What did we learn in the Netherlands?
In order for data to be available and secure:
• Data needs to be in data centers (preferably 3+)
• Large oplogs can be used to let nodes that _do_ go offline to catch
up without a initial sync.
For more details about Mobile databases, check out
§ Hands-on with Realm Mobile Database
Today 1:00pm - 2:45pm
!
High Availability
the wrong way
!
The setup
• Each node has its own auto-
scaling group, each with a fixed IP
• A Lambda function checks health
and trigger failover
• When a host was considered
failed, it was rebuilt from scratch
• All packages and config were
rebuilt with CloudFormation
• Requires a initial sync each time
The setup
How’d it do?
!
• Easy to perform post-
mortem
• Fast recovery !
• Data has redundant copies
"
• Robust, performant "
• GDPR #
What did we learn in Germany?
• MongoDB is already fault-tolerant.
• With standard topology we can always take down a node for
maintenance, upgrades or debugging.
• The mongodb.log and FTDC data are invaluable to diagnose
crashes or slowdowns.
• We want to avoid initial syncs where ever possible by leaving the
dbPath intact.
• Monitoring and alerting tools are still recommended.
!
Multiple NICs
More network cards = Less
points of failure ?
No!
!
What did we learn in Italy?
MongoDB is designed for commodity hardware
• Designed to add redundancy and automatic failure for simple,
standard hardware.
• Adding extra complexity from the DevOps side can interfere with
MongoDB health and failover.
• Our documentation addresses many edge cases.
• Reach out to MongoDB Support before you try something
“advanced” in production.
!
Best cases !
Please remember this bit!
Minimum (viable) topology
eu-west-2a
PR IM A RY
SECONDARY SECONDARY
London
!
eu-west-2b eu-west-2c
2-datacenter topology (on-prem)
Data center 1
PRIMARY
SECONDARY ARBITER
Data center 2 Cloud
Write concern:
Majority
SECONDARY
SECO N D A RY
Geo-
Sharding
!
Let’s put it all together:
• Scalability
• Redundancy
• High availability
• Data sovereignty
Region-level redundancy
London
Paris Frankfurt
PR IM A RY
SECONDARY
SECONDARY
Virginia
Ohio California
PRIMARY
SECONDARY
SEC O N D A RY
Sydney
Hong Kong Mumbai
PRIMARY
SECONDARY
SECONDARY
European Union North America Asia-Pacific
mongos mongos mongos
Example topology
Config servers contain metadata
and shard key values
Each shard contains data for
countries in that region.
With the balancer disabled, no
data is transferred from that
region.
Each web applica>on limits
which country codes it can
process
Atlas
! • AWS, Azure, GCP
• Secures your data with individual
VPCs
• Data encrypted with your key
• Best practices for high availability,
fault tolerance
• Automates security upgrades
• MongoDB SOC 2 Security Type II
report available
• Backups all in one region
Fully automated MongoDB
in the Cloud
Atlas Global Clusters
• Atlas can automate
regional clusters for
you.
• Focus on
performance (low
latency) not really
compliance right
now.
What did we learn?
By now I hope you all agree:
§ For high-availability, we need data in at least three copies of the data,
preferably in separate physical loca>ons.
§ MongoDB provides a good solu>ons to distribute terabytes of data sharded
by workload or geopoli>cal requirements.
§ You can s>ll have a single database, but keep customer data separated.
What’s next?
Here’s some other talks that might be interesting:
Tutorial: Hands-on with Realm Mobile Database
§ Alexander Stigsen, Realm/MongoDB
§ Today, 1:00pm - 2:45pm
§ https://sched.co/PULz
Using the New Security Features in MongoDB 4.2
§ Tuesday • 12:45pm - 1:30pm
§ Kevin Albertson, MongoDB
§ https://sched.co/PwAP
New Encryption Capabilities in MongoDB 4.2:
A Deep Dive into Protecting Sensitive Workloads
§ Kenn White, MongoDB
§ Tuesday • 3:00pm - 3:45pm
§ https://sched.co/OJqV
Questions?
Reach me at nic.c@mongodb.com
or @niccottrell
GDPR Resources
GDPR: Frequently Asked Questions
Website
§ How does MongoDB help my organizaAon comply with the GDPR?
§ How does MongoDB Atlas help me comply with the GDPR?
§ What commitments does MongoDB make with respect to the GDPR?
§ hEps://www.mongodb.com/cloud/trust/compliance/gdpr
GDPR: Impact to Your Data Management Landscape
Whitepaper
How MongoDB Can Help Meet GDPR Requirements
§ Discover
§ Defend
§ Detect
§ https://webassets.mongodb.com/mongodb_gdpr.pdf
GDPR and « The right to be forgotten ».
Checklist
Some key issues to keep in mind:
§ MongoDB Atlas backups can be deleted and re-synced at any time
§ Reference users in a consistent manner to make it easier to find
and delete any historical/log documents by user ID
Pseudonymization with MongoDB Views
Blog post
About using Views for access control and auditing
§ https://www.mongodb.com/blog/post/pseudonymization-with-mongodb-
views-the-solution-for-gdpr-and-game-of-thrones-spoilers
Extras
Audit log examples
Failed authentication
{"atype":"authenticate","ts":{"$date":"2017-02-
14T14:11:29.975+0100"},"local":{"ip":"127.0.1.1","port":27017},"remote":{"ip":"
127.0.0.1","port":42634},"users":[],"roles":[],"param":{"user":"root","db":"adm
in","mechanism":"SCRAM-SHA-1"},"result":18}
Failed insert (due to auth)
{"atype":"authCheck","ts":{"$date":"2017-02-
14T14:15:49.161+0100"},"local":{"ip":"127.0.1.1","port":27017},"remote":{"ip":"
127.0.0.1","port":42636},"users":[{"user":"antun","db":"admin"}],"roles":[{"rol
e":"read","db":"admin"}],"param":{"command":"insert","ns":"test.orders","args":
{"insert":"orders","documents":[{"_id":{"$oid":"58a3030507bd5e3486b1220d"},"id"
:1.0,"item":"paper clips"}],"ordered":true}},"result":13}
Redacted log examples
Original log
2017-06-09T13:35:23.446-0400 I COMMAND [conn1] command internal.clients
command: insert {
documents: [ {
_id: ObjectId('593adc5b99001b7d119d0c97'),
name: "Joe", PII: " Sensitive Information"
} ],
...
Redacted log
2017-06-09T13:45:18.599-0400 I COMMAND [conn1] command internal.clients
command: insert {
insert: "###", documents: [ {
_id: "###", name: "###", PII: "###"
} ],
}

Contenu connexe

Tendances

Converging Big Data and Application Infrastructure by Steven Poutsy
Converging Big Data and Application Infrastructure by Steven PoutsyConverging Big Data and Application Infrastructure by Steven Poutsy
Converging Big Data and Application Infrastructure by Steven PoutsyBig Data Spain
 
DEEPSEC 2013: Malware Datamining And Attribution
DEEPSEC 2013: Malware Datamining And AttributionDEEPSEC 2013: Malware Datamining And Attribution
DEEPSEC 2013: Malware Datamining And AttributionMichael Boman
 
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...DataStax
 
Performing Network & Security Analytics with Hadoop
Performing Network & Security Analytics with HadoopPerforming Network & Security Analytics with Hadoop
Performing Network & Security Analytics with HadoopDataWorks Summit
 
Hadoop / Spark on Malware Expression
Hadoop / Spark on Malware ExpressionHadoop / Spark on Malware Expression
Hadoop / Spark on Malware ExpressionMapR Technologies
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and PythonTravis Oliphant
 
Apache Spark Introduction
Apache Spark IntroductionApache Spark Introduction
Apache Spark Introductionbigdata trunk
 
Accelerate Pharmaceutical R&D with Big Data and MongoDB
Accelerate Pharmaceutical R&D with Big Data and MongoDBAccelerate Pharmaceutical R&D with Big Data and MongoDB
Accelerate Pharmaceutical R&D with Big Data and MongoDBMongoDB
 
GraphTour - Neo4j Database Overview
GraphTour - Neo4j Database OverviewGraphTour - Neo4j Database Overview
GraphTour - Neo4j Database OverviewNeo4j
 
Performing network security analytics
Performing network security analyticsPerforming network security analytics
Performing network security analyticsDataWorks Summit
 

Tendances (10)

Converging Big Data and Application Infrastructure by Steven Poutsy
Converging Big Data and Application Infrastructure by Steven PoutsyConverging Big Data and Application Infrastructure by Steven Poutsy
Converging Big Data and Application Infrastructure by Steven Poutsy
 
DEEPSEC 2013: Malware Datamining And Attribution
DEEPSEC 2013: Malware Datamining And AttributionDEEPSEC 2013: Malware Datamining And Attribution
DEEPSEC 2013: Malware Datamining And Attribution
 
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...
Spectator to Participant. Contributing to Cassandra (Patrick McFadin, DataSta...
 
Performing Network & Security Analytics with Hadoop
Performing Network & Security Analytics with HadoopPerforming Network & Security Analytics with Hadoop
Performing Network & Security Analytics with Hadoop
 
Hadoop / Spark on Malware Expression
Hadoop / Spark on Malware ExpressionHadoop / Spark on Malware Expression
Hadoop / Spark on Malware Expression
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Apache Spark Introduction
Apache Spark IntroductionApache Spark Introduction
Apache Spark Introduction
 
Accelerate Pharmaceutical R&D with Big Data and MongoDB
Accelerate Pharmaceutical R&D with Big Data and MongoDBAccelerate Pharmaceutical R&D with Big Data and MongoDB
Accelerate Pharmaceutical R&D with Big Data and MongoDB
 
GraphTour - Neo4j Database Overview
GraphTour - Neo4j Database OverviewGraphTour - Neo4j Database Overview
GraphTour - Neo4j Database Overview
 
Performing network security analytics
Performing network security analyticsPerforming network security analytics
Performing network security analytics
 

Similaire à MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR

Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Hejwowski Piotr
 
The Last Frontier- Virtualization, Hybrid Management and the Cloud
The Last Frontier-  Virtualization, Hybrid Management and the CloudThe Last Frontier-  Virtualization, Hybrid Management and the Cloud
The Last Frontier- Virtualization, Hybrid Management and the CloudKellyn Pot'Vin-Gorman
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionBrian Enochson
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriDemi Ben-Ari
 
Relational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesRelational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesElvis Saravia
 
Lessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at CraigslistLessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at CraigslistJeremy Zawodny
 
Accra MongoDB User Group
Accra MongoDB User GroupAccra MongoDB User Group
Accra MongoDB User GroupMongoDB
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityPaul Morse
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed DatabasesNuoDB
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionDaniel Coupal
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist SoftServe
 
Augmenting Mongo DB with Treasure Data
Augmenting Mongo DB with Treasure DataAugmenting Mongo DB with Treasure Data
Augmenting Mongo DB with Treasure DataTreasure Data, Inc.
 
Augmenting Mongo DB with treasure data
Augmenting Mongo DB with treasure dataAugmenting Mongo DB with treasure data
Augmenting Mongo DB with treasure dataTreasure Data, Inc.
 
Processing Drone data @Scale
Processing Drone data @ScaleProcessing Drone data @Scale
Processing Drone data @ScaleDr Hajji Hicham
 
MongoDB: What, why, when
MongoDB: What, why, whenMongoDB: What, why, when
MongoDB: What, why, whenEugenio Minardi
 
Solving the Database Problem
Solving the Database ProblemSolving the Database Problem
Solving the Database ProblemJay Gordon
 
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLPerformance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLTriNimbus
 

Similaire à MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR (20)

Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
Google Developer Group Lublin 8 - Modern Lambda architecture in Big Data
 
The Last Frontier- Virtualization, Hybrid Management and the Cloud
The Last Frontier-  Virtualization, Hybrid Management and the CloudThe Last Frontier-  Virtualization, Hybrid Management and the Cloud
The Last Frontier- Virtualization, Hybrid Management and the Cloud
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-Ari
 
Relational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesRelational Databases - Benefits and Challenges
Relational Databases - Benefits and Challenges
 
Lessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at CraigslistLessons Learned Migrating 2+ Billion Documents at Craigslist
Lessons Learned Migrating 2+ Billion Documents at Craigslist
 
Tech view on Regulatory Compliance
Tech view on Regulatory ComplianceTech view on Regulatory Compliance
Tech view on Regulatory Compliance
 
Accra MongoDB User Group
Accra MongoDB User GroupAccra MongoDB User Group
Accra MongoDB User Group
 
Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed Databases
 
Silicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in productionSilicon Valley Code Camp 2016 - MongoDB in production
Silicon Valley Code Camp 2016 - MongoDB in production
 
Big data business case
Big data   business caseBig data   business case
Big data business case
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist
 
BIG DATA
BIG DATABIG DATA
BIG DATA
 
Augmenting Mongo DB with Treasure Data
Augmenting Mongo DB with Treasure DataAugmenting Mongo DB with Treasure Data
Augmenting Mongo DB with Treasure Data
 
Augmenting Mongo DB with treasure data
Augmenting Mongo DB with treasure dataAugmenting Mongo DB with treasure data
Augmenting Mongo DB with treasure data
 
Processing Drone data @Scale
Processing Drone data @ScaleProcessing Drone data @Scale
Processing Drone data @Scale
 
MongoDB: What, why, when
MongoDB: What, why, whenMongoDB: What, why, when
MongoDB: What, why, when
 
Solving the Database Problem
Solving the Database ProblemSolving the Database Problem
Solving the Database Problem
 
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACLPerformance Optimization of Cloud Based Applications by Peter Smith, ACL
Performance Optimization of Cloud Based Applications by Peter Smith, ACL
 

Plus de MongoDB

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

Plus 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...
 

Dernier

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
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...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR

  • 1. Nic Cottrell, MongoDB France MongoDB cluster design: from Redundancy to GDPR @niccottrell nic-cottrell niccottrell
  • 2. Who am I? § I am currently a Technical Services Engineer. § I was recently a Consul;ng Engineer. § Before that I was a So>ware Engineer. § However, I also completed an MBA. § It’s complicated. ! " # $
  • 3. Why are you here? You know about databases and growth but need to be sure MongoDB can scale while maintaining data locality and secure flows. Your organization has specific requirements that data be on-prem, encrypted, controlled and backed up with zero-tolerance for downtime.
  • 4. What will you learn? By the end of this talk, you will know about: • Data at scale in multiple physical locations. • Best (and worst) practices for topology design. • How to take control of your data geographically. • Controlling sensitive data in distributed databases. • Avoiding any single point of failure. • How to compare on-prem with MongoDB Atlas.
  • 5. Core Principle There should be no single point of failure in the system.According to me
  • 7. Replication and Sharding There are two important ways to scale a MongoDB database: 1. Replicate the same data. 2. Shard (or “partition”) the data into subsets. Not the same thing!
  • 8. Replication London Paris Frankfurt PRIMARY SECONDARY SECONDARY PRIMARY DOWN Each node stores: • Data, Indexes (Encrypted on Enterprise) • MongoDB logs New connecJons AuthenJcaJon aKempts • Audit logs (Enterprise only) • FTDC metrics • System logs
  • 9. Sharding PRI SEC SEC PR I SEC SEC PRI SEC SEC Shard 1 Shard 2 Shard 3 Application server mongos Config servers France Spain Italy
  • 10. Datacenters and Geographic Distribu3on Let’s talk more about why you need multiple datacenters
  • 11. Replication and Sharding London Paris Frankfurt PRIMARY SECONDARY SECONDARY Virginia Ohio California PRIMARY SECONDARY SECONDARY Sydney Hong Kong Mumbai PR IM A RY SECONDARY SECONDARY European Union Data North America Data Asia-Pacific Data mongos mongos mongos
  • 12. Features Defend Some key features: • Access Control • Firewalls, bindIp • Passwords / x509 • Pseudonymization • Encryption • Connections with TLS • At rest with rotated keys Detect • Monitoring and Reporting redactClientLogData • Auditing See more on the blog series: GDPR: Impact to Your Data Management Landscape New encryption capabilities in MongoDB 4.2: A deep dive into protecting sensitive workloads Kenn White, MongoDB - Tuesday, 3pm Discover • Compass to explore data • Automatic data retention with TTL indexes
  • 13. Regulation (EU) 2016/679 The three Ps: • permission • privacy • protec3on aka GDPR The two Ts: • transfer • transit SEEK LEGAL ADVICE Also HIPAA, PCI-DSS, CCPA (California), PIPEDA (Canada) etc.
  • 14. Use cases ! Don’t do any of these!
  • 16. “Mobile” Sharding PRIMARY SECONDARY SECONDARY PRIMARY SECONDARY SEC O N D A RY PRIMARY SECONDARY SECONDARY North Atlantic Data Mediterranean Data Central Atlantic Data mongos ❌ Config
  • 17. How’d it do? • Fast recovery ! • Data has redundant copies " • Robust, performant # • GDPR $ PRIMARY SECONDARY SEC O N D A RY North Atlantic Data
  • 18. What did we learn in the Netherlands? In order for data to be available and secure: • Data needs to be in data centers (preferably 3+) • Large oplogs can be used to let nodes that _do_ go offline to catch up without a initial sync. For more details about Mobile databases, check out § Hands-on with Realm Mobile Database Today 1:00pm - 2:45pm !
  • 20. The setup • Each node has its own auto- scaling group, each with a fixed IP • A Lambda function checks health and trigger failover • When a host was considered failed, it was rebuilt from scratch • All packages and config were rebuilt with CloudFormation • Requires a initial sync each time
  • 22. How’d it do? ! • Easy to perform post- mortem • Fast recovery ! • Data has redundant copies " • Robust, performant " • GDPR #
  • 23. What did we learn in Germany? • MongoDB is already fault-tolerant. • With standard topology we can always take down a node for maintenance, upgrades or debugging. • The mongodb.log and FTDC data are invaluable to diagnose crashes or slowdowns. • We want to avoid initial syncs where ever possible by leaving the dbPath intact. • Monitoring and alerting tools are still recommended. !
  • 24. Multiple NICs More network cards = Less points of failure ? No! !
  • 25. What did we learn in Italy? MongoDB is designed for commodity hardware • Designed to add redundancy and automatic failure for simple, standard hardware. • Adding extra complexity from the DevOps side can interfere with MongoDB health and failover. • Our documentation addresses many edge cases. • Reach out to MongoDB Support before you try something “advanced” in production. !
  • 26. Best cases ! Please remember this bit!
  • 27. Minimum (viable) topology eu-west-2a PR IM A RY SECONDARY SECONDARY London ! eu-west-2b eu-west-2c
  • 28. 2-datacenter topology (on-prem) Data center 1 PRIMARY SECONDARY ARBITER Data center 2 Cloud Write concern: Majority SECONDARY SECO N D A RY
  • 29. Geo- Sharding ! Let’s put it all together: • Scalability • Redundancy • High availability • Data sovereignty
  • 30. Region-level redundancy London Paris Frankfurt PR IM A RY SECONDARY SECONDARY Virginia Ohio California PRIMARY SECONDARY SEC O N D A RY Sydney Hong Kong Mumbai PRIMARY SECONDARY SECONDARY European Union North America Asia-Pacific mongos mongos mongos
  • 31. Example topology Config servers contain metadata and shard key values Each shard contains data for countries in that region. With the balancer disabled, no data is transferred from that region. Each web applica>on limits which country codes it can process
  • 32. Atlas ! • AWS, Azure, GCP • Secures your data with individual VPCs • Data encrypted with your key • Best practices for high availability, fault tolerance • Automates security upgrades • MongoDB SOC 2 Security Type II report available • Backups all in one region Fully automated MongoDB in the Cloud
  • 33. Atlas Global Clusters • Atlas can automate regional clusters for you. • Focus on performance (low latency) not really compliance right now.
  • 34. What did we learn? By now I hope you all agree: § For high-availability, we need data in at least three copies of the data, preferably in separate physical loca>ons. § MongoDB provides a good solu>ons to distribute terabytes of data sharded by workload or geopoli>cal requirements. § You can s>ll have a single database, but keep customer data separated.
  • 35. What’s next? Here’s some other talks that might be interesting: Tutorial: Hands-on with Realm Mobile Database § Alexander Stigsen, Realm/MongoDB § Today, 1:00pm - 2:45pm § https://sched.co/PULz Using the New Security Features in MongoDB 4.2 § Tuesday • 12:45pm - 1:30pm § Kevin Albertson, MongoDB § https://sched.co/PwAP New Encryption Capabilities in MongoDB 4.2: A Deep Dive into Protecting Sensitive Workloads § Kenn White, MongoDB § Tuesday • 3:00pm - 3:45pm § https://sched.co/OJqV
  • 36. Questions? Reach me at nic.c@mongodb.com or @niccottrell
  • 38. GDPR: Frequently Asked Questions Website § How does MongoDB help my organizaAon comply with the GDPR? § How does MongoDB Atlas help me comply with the GDPR? § What commitments does MongoDB make with respect to the GDPR? § hEps://www.mongodb.com/cloud/trust/compliance/gdpr
  • 39. GDPR: Impact to Your Data Management Landscape Whitepaper How MongoDB Can Help Meet GDPR Requirements § Discover § Defend § Detect § https://webassets.mongodb.com/mongodb_gdpr.pdf
  • 40. GDPR and « The right to be forgotten ». Checklist Some key issues to keep in mind: § MongoDB Atlas backups can be deleted and re-synced at any time § Reference users in a consistent manner to make it easier to find and delete any historical/log documents by user ID
  • 41. Pseudonymization with MongoDB Views Blog post About using Views for access control and auditing § https://www.mongodb.com/blog/post/pseudonymization-with-mongodb- views-the-solution-for-gdpr-and-game-of-thrones-spoilers
  • 43. Audit log examples Failed authentication {"atype":"authenticate","ts":{"$date":"2017-02- 14T14:11:29.975+0100"},"local":{"ip":"127.0.1.1","port":27017},"remote":{"ip":" 127.0.0.1","port":42634},"users":[],"roles":[],"param":{"user":"root","db":"adm in","mechanism":"SCRAM-SHA-1"},"result":18} Failed insert (due to auth) {"atype":"authCheck","ts":{"$date":"2017-02- 14T14:15:49.161+0100"},"local":{"ip":"127.0.1.1","port":27017},"remote":{"ip":" 127.0.0.1","port":42636},"users":[{"user":"antun","db":"admin"}],"roles":[{"rol e":"read","db":"admin"}],"param":{"command":"insert","ns":"test.orders","args": {"insert":"orders","documents":[{"_id":{"$oid":"58a3030507bd5e3486b1220d"},"id" :1.0,"item":"paper clips"}],"ordered":true}},"result":13}
  • 44. Redacted log examples Original log 2017-06-09T13:35:23.446-0400 I COMMAND [conn1] command internal.clients command: insert { documents: [ { _id: ObjectId('593adc5b99001b7d119d0c97'), name: "Joe", PII: " Sensitive Information" } ], ... Redacted log 2017-06-09T13:45:18.599-0400 I COMMAND [conn1] command internal.clients command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], }