Posted on

MongoDB Certified DBA Associate Exam

MongoDB Inc. Most of the questions were use cases and right indexes for the use case. Sharding
Sharding is one of the features in which MongoDB has a lot to offer. Aggregation Framework
Aggregation framework itself being an advanced concept in MongoDB, the questions were quite comprehensive. It was a single use case for 3 subsequent questions. There was lack of certification in the MongoDB ecosystem and after having worked with MongoDB for few years now, the news about MongoDB certification got me excited. Questions would be scenario based, where given the output of particular command, one would have to infer details about the health of the database.

I would be posting few sample questions for each section soon. The questions were mainly of multiple choice with single and multiple correct answers. System requirements are:

1. Philosophy & Features
This section is to test the basic understanding of NoSQL and MongoDB concepts. Questions included philosophy of sharding, when to shard a collection, configuration of shards, processes involved in a sharded cluster and role of balancer. Server Administration
This section was the most difficult section in terms of specificity. Indexing
Questions here would test the in-depth knowledge of indexes. Replication
This section had questions about availability concepts of mongodb and replication. MongoDB website has very sparse information, so I am hoping information here will help fellow exam takers.

Why get MongoDB certified now?
According to MongoDB – “Certification helps you establish technical credibility and facility with MongoDB and contributes to your organization’s proficiency in running applications on the platform.”

MongoDB is growing to be one of the preferred NoSQL databases in the market. Main focus would be on updating partial documents, which would need knowledge of update operators on MongoDB. From this section, more emphasis was on comprehending the importance of correct indexes for a given scenario rather than the syntax for creating indexes. Windows or Mac OS – Currently Linux is not supported by Software Secure.

2. For now, MongoDB has released Associate level exam for both the certifications and has the other levels on the road map. Complete knowledge of profiler, collection stats, explaining a query were the main focus. this section should not be that difficult to answer.

2. Most of the questions would definitely need some hands-on experience with MongoDB.

The questions were quite comprehensive and were divided into sections with each section having around 7 to 10 questions. If you have good understanding of NoSQL concepts, difference between RDBMS and NoSQL, difference between Document Store vs. An in depth understanding of data migration between shards in a sharded cluster would be crucial to answer all the questions of the section.

7. There would be a practice exam to guide you through the login process and give you an idea about the type of questions.

There would be an initial system check for the above. MongoDB would calculate the results based on the difficulty level of the questions for each test taker. This section deals with various CRUD operations on MongoDB. has recently released certification program. Here, I would be talking in depth about the DBA certification and will discuss the developer certification in the future blog.

What does DBA Certification consist of?
According to MongoDB Inc., “A MongoDB database administrator has in-depth knowledge of run-time configuration, processes, scaling, backup and recovery, monitoring, and performance tuning for production MongoDB instances.”

My views about the exam is that it is designed to test the hands-on knowledge on MongoDB setup, administration and monitoring skills of the test takers. There are no pre-requisites to register for the exam and also registration is free. But working with mongodb journal would be a must as there were questions specific to the location and its importance.

8. CRUD Operations
CRUD stands for Create, Read, Update and Delete. Its flexibility in terms of the supported amount of data and ease of horizontal scalability and administration, both on-premise and cloud, is making corporates opt for MongoDB as the preferred next generation database.

With growing users of mongodb, this certificate would definitely make you stand out from the crowd. I had many questions about the exam until the last minute. MongoDB replica sets, priorities of nodes in replicaset, primary elections, arbiter’s role in election and respective configuration were the main focus.

6. The questions deal with replica set configuration techniques and best practices. Most of them were direct questions about JSON structure, collections and documents, fundamentals of replication and sharding. On successful completion, you would be receiving a badge like the one below. On successful system configuration check, you would be prompted to pay $150 for the certification and take up the exam.

Exam Results
The result for the exam would be available 2-3 weeks following the close of the exam period. There were also questions where one has to type in the answer in the simulated MongoDB prompt.

The test lasts 90 mins, and can have variable number of questions. Though the section is quite straightforward, with options having a slight difference in the syntax, it turns out to be quite difficult to get them right without hands-on experience.

3. Working Microphone

4. There is no negative marking, and each question is weighted equally.

The sections covered are as follows:

1. So, I was not surprised to see the number of questions being more than other sections. Good Internet Bandwidth

You can register for the exam at https://education.mongodb.com/. Working webcam – You will be required to take clear a picture of a photo ID, your self and quick scan of the surroundings.

3. You will have to find a quiet location where you would not be disturbed during the span of the exam. I recently appeared for the MongoDB Certified DBA Associate Exam and am going to share a few details about the exam and my experience. Understanding of the admin database would provide a kick start for this section as most questions where about user administration. Watch out for updates to the blog.

How to register for the Exam?
The information on MongoDB website about how to register and take the exam was really confusing. is currently offering certifications

C100DBA: MongoDB Certified DBA Associate
C100DEV: MongoDB Certified Developer Associate
For both the certifications, MongoDB has 3 levels – Associate, Professional & Master. Emphasis on compound indexes can be expected. Hence, it is time to leverage the opportunity and become one of the few professionals certified for MongoDB.

Certifications offered by MongoDB
MongoDB Inc. General experience in database and query performance tuning would be helpful for the section.

4. Clear understanding of various reducers like $match, $project, $group in aggregation framework and the syntax would be a necessity to answer the questions.

5. Key Value Store, MongoDB etc. You will be able to take the exam anytime during that window.

The exam is a web-proctored exam conducted by Software Secure Inc. A question about framing an aggregation pipeline for a given scenario stands out. The first step to give the certification exam is to register for a one week long test window on the website. Application Administration
The questions here were about journaling, authentication and authorization on MongoDB. As the certification is available for a few weeks in a year, the number of certified DBAs would also be accordingly less. A clear understanding of outputs from various administration commands like mongostat is expected. I have been working with production MongoDB sharded and replicated clusters on AWS for few years now, which helped me to take up the certification confidently.

Posted on

Reasons why DynamoDB is better than MongoDB

Which option will you choose?

Reason 4: Have you checked out the DynamoDB features lately?
DynamoDB, in the classical AWS style, was released with just bare-bone features. Add 3 config servers to it, and you are looking at a 12 node cluster. At 4 AM the conversation between a systems engineer and me is like following:

Engineer: Hey, got woken up by the pager, seems like CPU utilization is spiking, but requests are running fine. Many issues and bugs are only manifested when you test on the real deal. You still need monitoring for performance issues, but the things that need to be monitored are really few in numbers compared to MongoDB.

Reason 2: People don’t like to spend money on hardware (if they don’t have to)
I was in a meeting with a customer trying to understand their requirements to design the MongoDB cluster for them. Compare that to the two big upgrades DynamoDB did in last 12 months. They had about 1TB of data, and at peak they did about 1000 reads/second and 50 writes/second. Thus, if you looked at DynamoDB a year ago, and found it severely limiting in features, its time to look again. Can I just resolve this issue and look at it tomorrow?

Me: You woke me up to just ask this?

Why will you want your staff (or yourself) to have to go through this kind of conversation anytime during the day, let alone 4 in the morning? With DynamoDB, AWS engineers take care of such issues, not you. The phrase “But it worked in test cluster”, can be safely rejected.

If you are evaluating NoSQL databases, I suggest you give DynamoDB a sincere try. So either you need to fork out more money and get a test cluster that looks like production cluster in size and number of servers, or be ready for such bugs to slip though.

DynamoDB allows you to create the same cluster as prod but with lower throughput. The cost was about $3000 per month (this was before the recent price reductions).

If the DynamoDB was used, the starting capacity would have cost around $500, which is a huge reduction in cost. And as always, no upgrade is really as simple as the documentation states. You get calls from all your clients asking for when you can upgrade their existing MongoDB clusters to this latest and greatest version. Below I give five reasons to choose DynamoDB over MongoDB.

Reason 1: People don’t like being woken up in the middle of the night
One sure-shot way to motivate someone to rethink their priorities in life, and reconsider their choice in becoming an IT professional, is to hand them pager-duty for a MongoDB cluster. Thanks!!. Also, unlike MongoDB, one does not need to preprovision a lot of capacity, as DynamoDB allows rapid scaling up (and down), so unlike MongoDB, we would not have to preprovision a lot of extra capacity (and thus cost).

Also in case you get official MongoDB support, it costs extra and costs are relatively high, based on the number of hosts. If you have further questions about DynamoDB vs MongoDB, feel free to send me a comment below or at my email bhavesh at cloudthat.in.

If you liked the article please share it. I looked around but found nothing. In the MongoDB vs DynamoDB matchup, DynamoDB has a lot of brilliant features that help ease the pain of running NoSQL clusters. And as a seasoned professional you don’t want to make any changes to production during business hours, you know things can go wrong. Maintaining a MongoDB cluster requires keeping the servers up and running, keeping the MongoDB processes up and running, and performance monitoring for the cluster. Access controls to the tables and rows can now be controlled via IAM accounts which opens up so many usecases that are not possible in MongoDB.

The latest set of features improve querying by allowing to set filters. Check this image for example (time there are in UTC).

Screen Shot 2014-04-29 at 12.11.09 pm

In the middle of the night, a client’s MongoDB Cluster generated few automated CloudWatch alarms. This is also true for MongoDB, where for big production clusters with many shards and replicasets, most likely the QA cluster is just one machine. Thus even with lesser costs, you can test the real deal. You could not even have arbitrary indexing, the only index was the primary key. But since then DynamoDB has evolved rapidly with new feature like Local Secondary Indexes and recently Global Secondary Indexes that allow arbitrary keys to be indexed. With DynamoDB the AWS support that works for all other AWS services works for DynamoDB without having to buy additional support, which in comparison usually ends up being much lower.

Reason 3: Updating MongoDB version on a production system is not a good way to spend a Sunday
MongoDB releases version 2.6, and calls it their “best version yet”. They also wanted to avoid any downtime if and when they had to scale up, so preferred we pre-provisioned the capacity and started with capacity they would need at the end of the year when they had grown 3x. Your team will thank you when they can enjoy their sleep and weekends. Thus, you sacrifice your precious weekends to the altar of MongoDB upgrades. It was all seamless, and I was just notified that new features and better performance is available without me doing any real work. It was not that much better than a glorified hosted Memcache cluster. We designed a MongoDB cluster with three shards, and each shard having three replica-set thus 9 machines. If you are considering MongoDB or any other NoSQL databases, its a must that you consider DynamoDB. The reason why you decided to not use DynamoDB then, might have been fixed now.

Reason 5: Finally QA can test the real deal.
You have heard this before from QA personals, “But it worked in the Test cluster”. They were growing like crazy and expecting 3 times traffic growth in next one year.