SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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: "###"
} ],
}

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von MongoDB

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

Mehr von MongoDB (20)

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

Kürzlich hochgeladen

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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: "###" } ], }