MongoDB Associate Data Modeler Exam
Tags: mongodb, data, modeling, certification
Published: 2024-04-17 12:26:15

I am a fan of SQL and relational databases, but data modeling should begin with a platform-independent analysis, and the objectives of any database, SQL or NoSQL, are usually the same. As an AWS Data Hero, I was fortunate to receive a complimentary voucher for MongoDB certification exams, and decided to pass the MongoDB Associate Data Modeler Exam. I'm sharing my experience and feedback on the exam preparation and the exam itself. 

## The Preparation

The [MongoDB Data Modeling Path](https://learn.mongodb.com/learning-paths/data-modeling-for-mongodb) is the best place to start. It provides some courses, questions, and labs for free. 

Because I have a lot of experience in data modeling for SQL databases, I also watched [MongoDB for SQL Professionals](https://learn.mongodb.com/learning-paths/mongodb-for-sql-professionals)

If you have database experience, you can answer most exam questions using common sense and a basic knowledge of the differing syntax and naming conventions. If you understand how data structures work (documents, arrays, indexes), you know what is efficient and scalable and what is not. If you are a developer just starting with databases, you may spend more time understanding the reasons for the design patterns and anti-patterns.

## The topics
The [exam guide](https://learn.mongodb.com/learn/course/associate-data-modeler-exam-study-guide/main/associate-dba-exam-study-guide?client=customer) lists the topics. Let's give more precisions from my experience. Here is the breakdown of my results:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3qpfn7eehw6grinnoc1.png)

My low score on Workload/Usage is probably due to a misunderstanding of some long descriptions, which are not very clear for non-native English speakers. I remember some questions on this topic where I knew the answer, but the choices were unclear. Don't forget to read about the MongoDB [Write Concern](https://www.mongodb.com/docs/manual/reference/write-concern/), which, I think, goes into this category.

I came across two questions on Indexing that confused me. I believe there are no absolute answers to these questions as the answers depend on the cardinalities, which are not explained. Both questions were about queries that involved combining a range (e.g., 'greater than') and sorting the result into different columns. I may have missed a hint in the question that would help me decide whether to read a single range and sort it later or get a sorted result that needs to be filtered afterward.

Concerning Entities, I had an unclear query about domain ownership. Understanding the concepts of Weak and Strong entities is essential. I prefer the way UML differentiates them through Aggregates and Compositions. Some developers like to describe them with a generic association role, like "Has-a" or "Part-of". They also use "Is-a" to describe inheritance.

Data Model Design is about design patterns, and here is an excellent summary: https://www.mongodb.com/blog/post/building-with-patterns-a-summary. I don't know which ones I missed. They are widespread patterns for any databases not specific to MongoDB or NoSQL, but some names can be surprising.

In summary, some questions are expected to be missed, and it may not be a lack of knowledge but simply a misunderstanding of the questions or answers. There are 60 scored questions, about 10% for each topic except design pattern, which has more. I don't know precisely the passing score, but you don't have to be right on 100% of them.

## The exam

I have passed numerous proctored and online certification exams throughout my career and am comfortable with both formats. The online exams I took during the Covid lockdown period felt somewhat odd, with a webcam monitoring looking at you to ensure you are not cheating while scratching your nose. Before beginning, you must rotate the camera to verify that your desk is clear of any materials. You must have an ID with expiration date visible. This morning, I woke up in my hotel room before DevoxxFr when I realized it would be more convenient to take the exam there instead of at my cluttered home desk. Examity provides these exams, and indeed, you can sign up for one in the next five minutes! If this happens to you, taking the exam because you wake up earlier than expected, don't forget to stop the alarm clock ;)

My strategy for certification exams is to go fast. Answers that come to mind readily are likely correct, and you may do worse when returning later. For questions that cause hesitation, I spend no more than one or two minutes on them, provide an answer by eliminating those that look the worst, and flag the question for review later. This isn't because my knowledge or focus will increase after an hour, but rather because other questions might provide hints about a term or syntax, allowing me to confidently answer two or three flagged questions before ending the exam. I don't review the non-flagged ones.

Another tip: If you're uncertain between two answers, remember that the question's author often includes elements of the correct answer in various incorrect options. Therefore, if XYZ appears in three different answers, it is likely a component of the correct one.

If you take the exam, please give your feedback in the comments. We are all different and learn from others.