MongoDB Q&A: What's the deal with non-relational databases and Agile software development?
If you are new to MongoDB, you probably have a lot of questions. I know, because I'm new as well. I'm lucky enough to have direct access to the experts at MongoDB, and I've been asking them a LOT of questions. In this series, I'll share answers to my questions.
Throughout my career as a software engineer, I’ve been interested in how Agile principles can improve software development. I first became interested in Agile software development in undergrad and then focused on distributed pair programming for my master’s thesis. This led to my career at IBM as a software engineer where I worked as a web developer, tester, and automation specialist while applying Agile principles. I shared my expertise while serving on the IBM Agile Leadership Team.
The Top 6 Questions From AWS re:Invent 2018
Hey there, MongoDB Community!
I'm Lauren Schaefer (@Lauren_Schaefer, linkedin.com/in/laurenjanece), MongoDB's newest developer advocate. I've only been on the job a couple of weeks, but I had the opportunity to travel to fabulous Las Vegas, Nevada, last week to speak with many of you at the MongoDB Atlas booth at AWS re:Invent 2018.
The people I chatted with complimented MongoDB over and over again. I heard things like, "The performance is great!" and "When I get to choose what database I use, I choose MongoDB" and "I love Mongo!"
People also asked me a lot of questions. I’ve compiled those questions into a list of the top 6 most frequently asked questions at AWS re:Invent 2018.
6. Are the socks different sizes?
My primary job at the booth was to give out socks. And I gave out a LOT of socks. Several people told me that they wear the MongoDB socks they received at last year's conference all the time. I even had people show me the MongoDB socks they were wearing.
Since I was giving out so many socks, one of the most common questions I received was, "Are the socks different sizes?" The socks were all one size, but they seemed to stretch to fit a variety of sizes--they’re built to scale!
5. What is Atlas?
To be fair, this question probably came up so frequently because I asked people, "Are you familiar with Atlas?" as I was handing them socks to which they commonly replied, "No. What is Atlas?"
You can think of MongoDB Atlas as MongoDB-as-a-service. Atlas is a fully managed, global cloud database. Atlas takes care of all the operations related to running a MongoDB database in production -- security, availability, upgrades, and patches -- so you can focus on your data and your app. You can get more details in the video below.
4. Can I see a demo of Atlas?
As you can probably imagine, people were pretty excited about Atlas when they heard about it, so they wanted to see a demo. We had experts on-hand ready to give demos. For those of you who weren't able to get a demo in-person, below is a demo of how to get started with Atlas.
3. Is Atlas new?
People were very excited about Atlas and many were surprised they hadn't heard of it before. A common question was, "Is Atlas new?"
No, Atlas is actually a little over two years old. It was officially announced at MongoDB World on June 28, 2016.
2. What is the Atlas pricing model?
Before people started to get too excited about Atlas, they wanted to know if there was a catch. They'd ask, "What's the pricing model?"
Atlas has a free tier so you can tinker and begin early development without paying a thing. You don’t even need to provide credit card information to get started. Once you exceed the free tier, Atlas is billed hourly based on how much you use. Check out the Atlas Pricing page for more details on the pricing model. The Atlas Pricing page also has a pricing calculator so you can estimate how much Atlas would cost for your particular use case.
1. Why would I choose MongoDB over Amazon DynamoDB?
Since we were at an Amazon conference, many people were curious about the differences between MongoDB and Amazon's DynamoDB.
You can get a detailed comparison of the two on the Comparing DynamoDB and MongoDB page. Some of the key points that resonated with people at the conference were:
- MongoDB provides built-in document validation. Users can enforce checks on document structure, data types, data ranges, and the presence of mandatory fields. DynamoDB has limited support for different data types. As a result, developers must preserve data types on the client, which adds complexity and reduces data re-use across different applications. DynamoDB does not have native data validation capabilities.
- MongoDB documents can be up to 16 MB in size whereas DynamoDB items or records can be up to 400 KB in size.
- MongoDB provides for more flexible indexing and querying. For example, MongoDB indexes are consistent with data whereas DynamoDB indexes are sized and provisioned separately from data. Also, MongoDB allows for querying and analyzing data in multiple ways including single keys, ranges, faceted search, graph traversals, and geospatial queries. DynamoDB allows for key-value queries.
- MongoDB can be deployed anywhere or as a service with MongoDB Atlas on Amazon Web Services (AWS), Google Cloud Platform (GCP), or Microsoft Azure, so you are not locked into a particular vendor. DynamoDB is available as a service on AWS.