MongoDB: Atlas
DataBase as a Service
Who is MongoDB? (Clients)
● Founded in 2007
● By the team who created DoubleClick
○ Internet ad serving services
○ Google acquired DoubleClick for $3.1 billion
● Employees in 20 countries
● Clients:
○ SEGA
○ UPS
○ Verizon
○ GAP
○ Coinbase
2
What is MongoDB?
● Database Platform created by the company MongoDB
● NoSQL Database (Called MongoDB)
● Also provides:
○ Cloud based (MongoDB: Atlas) (Primary Focus)
■ Database as a service (DBaaS)
■ Stores data in JSON like objects
○ Serverless function platform (MongoDB: Stitch)
○ MongoDB Charts
■ Create, view, and share data visualizations
○ MongoDB Mobile
■ Create Databases for mobile devices
Why MongoDB?
● NoSQL database means more simple to interface
○ No Schemas
○ No Relational Algebra
○ More Automation
● JSON-like object store replaces complex SQL queries
● Cloud Solution
○ Horizontal scaling (Replication feature)
● High availability
● Free and open source
4
The Evolution of MongoDB
● 10 gen software company
● Started development in 2007
● Planned platform as a service (PaaS)
● 2009 - Shifted to open source development model
● 2013 - 10th-Gen becomes MongoDB
Teams
MongoDB Security Users
VPC
Alerts
(Cloud) Atlas Monitoring Logging
Live Monitoring
Provider Snapshots
Cluster Storage
Backups Continuous Backups
Query-able
Features - Roadmap 6
MongoDB: Atlas
- Database as a service (DBaaS)
- Hosted on cloud provider solutions
- Live Migration Service
- Managed Cloud Database
- User focuses on development
- Deploy, Manage, Restore with ease
MongoDB provides a free-tier (M0 Instances)
Atlas: Cluster Storage
● Distributed workload
● Replication
● Increase redundancy and availability
● Sharded Cluster Components
○ MongoDB free-tier defaults to a 3 node, replica set
■ Replica sets: MongoDB servers
■ Redundancy and Data Availability
8
Advantages of MongoDB Atlas
Atlas Security: VPC, Teams and Users
● Automated Security Features
○ MongoDB Atlas makes sure you know who’s got eyes on your data
● Authentication providers
○ Google Oauth
○ Facebook Oauth
○ API key
○ CLI Authentication through MongoDB credentials
● Access control
○ Create teams to allow for collaboration
○ Create Roles to restrict access
● Encryption
○ AWS Key Management Service
10
Atlas Monitoring: Alerts, Monitoring, Live Analysis
● Web GUI Interface
○ Monitor a cluster’s performance
○ Performance metrics:
■ Database and server performance for cluster
○ Alerts:
■ Notifies when database or server usages reaches thresholds.
● MongoDB compass
○ The os native GUI for MongoDB.
○ Visually explore your data
○ View and optimize your query performance
○ Available on Linux, Mac, or Windows.
11
Atlas Backups: Provider Driven and Continuous
● Built-in Replication
○ Their platform provides you with multiple servers for always-on availability, to make sure you’re
up, even when your primary master is down.
● Backups and Point-In-Time Recovery
○ MongoDB Atlas’ system makes strong efforts to protect against data corruption, intentional or
not.
● Fine-Grained Monitoring
○ You’ll have a ton of info, organized in many ways, to help you recognize when it’s time to take
things to the next level (additional instances can be provisioned with the push of a button).
12
Atlas Backups: Provider Driven and Continuous
Query-able Continuous Snapshots
(Restricted to non-free tier)
- Optional automation
- Restore whole clusters
- Restore only a subset of data
- Cloud Provider Snapshots
- Atlas uses the native backup system in
which your cluster is hosted.
13
MongoDB Disadvantages
● Data consumption is generally high due to de-normalization.
● Joins on data are not supported.
● There is no default transaction support; you need to handle this yourself.
● Map/Reduce is somewhat slow; other offerings are faster.
14
What MongoDB features does MongoDB Atlas not
support?
● Security cannot be disabled
● Specialized replica set members: arbiters, hidden members, delayed
secondaries
● Reconfiguration of replica set member priority
● Custom database roles
15
Example Use Case
16
Cost Example
For example, if you deploy on AWS a 3-node replica set of M40s and run it 24/7 for one month using the included 80GB of
standard block storage, and you have exactly 80GB, your costs would be:
● Per server hourly cost1: ~$0.34
● Total servers: 3
● Total hours: 720
● Backup data: 80GB @ $2.50/GB/month
● Total monthly fees paid to MongoDB: $946.79
17
Usability
We found it incredibly easy to use.
Account set-up and initial walkthrough is best we have seen.
18
Demo Time!
What will we need:
- 1 Cluster (Premade, due to the 7 min. Creation time)
- 1 Database within that cluster
- 1 Stitch App
What we will be doing:
-Writing a Stitch app that retrieves the data.
-Accessed through an HTTP Endpoint.
19