AWS Database Specialty
I’ve decided to acquire an AWS Database specialty certification. This is a relatively new certification type, released in early 2020 and it’s a specialty-level exam covering practically all database offerings of AWS.
I’ve passed the exam today - yaay 🎉!
So, to let out my post-exam adrenaline by typing furiously, I’ll share my thoughts here.
I used a lot of sources for studying, with a varying degree of success and usefulness. The sheer amount of documentation, numerous cheatsheets, videos and tutorials can make you feel dizzy. Here, I will try to summarise my experience about preparing for this exam and suggest an approach that I think is effective.
Aside: my goal and my background
My goal was similar to when I did my first AWS certification exam: to set an external motivating factor to force myself to learn about the topic in a structured manner. It might also improve the chances of a future job hunt by showing a proof of some baseline knowledge, although that aspect is secondary.
To put my background into context: I'm a backend developer mostly comfortable with writing code in Python for microservices, APIs and automation. I have some experience with cloud-based services, databases (SQL and NoSQL) and message queues, but I'm by no means an expert (and I want to dramatically improve my knowledge of these areas in the coming months).
# Core resources
AWS docs - The AWS documentation is by far the best, most exhaustive and most up-to-date resource you can have. However, the previous statement doesn’t help much, as the docs are just too vast and too detailed to be consumed and retained for an exam. Still, when it doubt about a particular topic, this is the best, most authentic place to look for confirmation. Eg.: if you’re looking for the single source of truth about DynamoDB’s capacity units, you might put
dynamodb read capacity site:aws.amazon.cominto Google to only show official AWS docs.
AWS FAQs - Similar to the above, the FAQ of each database services offers great overviews. They are easy to read and are a good start to getting to know a service.
Udemy - As a core resource, I suggest purchasing this Udemy course - fantastic work by Riyaz Sayyad and Stephane Maarek. I have one small note: I think the usefulness of this course resides mostly in the slides, which are put together with great care. However, the videos basically read out loud the slides’ contents - not worth the time watching them end-to-end, in my opinion. Fair enough, as this practically means that it’s mostly enough to read the slides. I have read (and re-read) the slides, and watched all the hands-on videos, did the quizzes and watched some of the course videos. My approach was that when I got tired of reading and staring at the screen, I would go for a long walk in a park, and listen to the course through the Udemy app (you can download the course on Wifi for offline use so it doesn’t consume your mobile data).
AWS:Reinvent videos - For entertainment and to mix things up a bit, this is a really good presentation to put all the DBs into perspective: AWS re:Invent 2018: Building with AWS Databases: Match Your Workload to the Right Database - Rick Houlihan is a fantastic presenter who gives a great overview of the different database offerings of AWS.
AWS training (free) - I recommend at least scanning through the official Exam Readiness E-learning resource from the AWS training and certification site. While it might seem tedious and a bit too high-level, it does contain some useful practical hints for the exam, and each section contains a practice question with a detailed explanation. It also contains a quiz with 15 questions and their answers, including explanations - this quiz might be the closest thing to the real exam. And it’s FREE.
Cloud Academy - Their exam prep course (currently in “preview” mode, so it’s not exhaustive and subject to change), is really good. They operate on a subscription basis but you can have a 7-day free trial (which might just be enough to get the most out of this course… 🙊 They do have lots of other, extremely useful resources though!). And the practice exam and the end of the course is very useful, and it is not available in the free trial period. So I recommend paying that £29 for that purpose and for a months worth of subscription (after which I’ve canceled it, I admit).
Official AWS sample questions - Do the official sample exam questions (currently available here) and read the explanations carefully. The answers contain links to the relevant parts of the AWS docs - I took that as a hint, and have read those extra carefully.
Official practice exam - I highly recommend taking an official practice exam a few days before taking the actual exam (the cost is 40 USD at the moment, but if you have taken a previous certification, you are entitled to a free practice exam❗️).
AWS Trusted Advisor docs - The Trusted Advisor best practice checklist contains information about some database services. Search for keywords like “RDS” and “Dynamo” on this page.
# Additional sources
I recommend taking this practice exam, neatly put together by Stephane Maarek
This practice test from TutorialsDojo is quite high-quality, with good explanations (there are 1 or 2 questions in this set which I don’t consider correct, though)
Scaling your application with AWS relational databases with a corresponding talk here is a good resource (but it might just be enough to read the slides, in all honesty)
Jayendra Patil’s website is a good resource with lots of cheet sheets for quick refreshers
Read a bunch of blog posts from AWS about databases. They are often more real-life focused than the exam prep materials and are slightly less dense are more fun to read
A remarkably in-depth article about provisioning DynamoDB
…and this one too which might be really too granular and detailed, it’s almost like a developer guide
I also recommend this partice test at Whizlabs. The quality perhaps falls short of the practice test of Stephane, but it’s still a good additional resource. I think that these practice exams give you the right sense of urgency to apply your knowledge on the spot and make you think more actively/creatively than just reading and rote memorisation
Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases - a really detailed technical paper about Aurora. This level of granularity is not required for the exam, but it’s very interesting to see why they opted for certain implementation details, eg. how they managed to make scaling of I/O operations embarrassingly parallel by making a purpose-built storage service
# Assorted practical tips
- Overall I studied for the exam for about a month, averaging at around 3 hours a day, so I would say around 70 hours of scheduled studying (including videos, practice exams, walks while listening to content, etc). I had scheduled the exam on the 15th October and, after postponing it once (which is free), I took it on the 14th November. I’m sure it’s feasible in a much shorter time period but this is what worked for me.
- At one point during the study period, I switched to the Pomodoro technique and it resulted in a flow-like experience and I was much less distracted. Highly recommended! I think, had I started with Pomodoro, I would have been able to reduce the study period significantly, because I was more focused
- Some of the exam questions were very similar to the official practice exam and the official sample questions.
- If you already have an AWS certification, you are entitled to certain benefits (❗️) which I highly recommend taking advantage of, namely:
- taking the free practice exam
- taking the exam at half price
- In the exam I took, there were no questions about Neptune or Timestream at all (do read a bit about them though, just in case)
- Know how to write an IAM policy that has fine-grained access control to a DynamoDB table, including denying reads of certain attributes (handy doc here)
- I scheduled the exam with PSI using online proctoring. It went like this:
- an hour before the exam, I de-cluttered the room I was using. There were no objects visible apart from the desk and the bed. My desk was empty apart from the laptop. The room was well-lit.
- the PSI website was a bit buggy and was timing out several times before I could start the exam - in the end, I managed to start the exam via Firefox and not Chrome. From the PSI page I was redirected to their browser and the experience was seamless from then on
- the exam starts in their PSI Bridge Secure Browser. You have a live exam proctor with whom you talk via a chat window. You are asked to carry out certain tasks to prevent you from cheating and getting outside help:
- show the whole room to the webcam, slowly scanning all walls, doors closed, your desk clean
- show your phone and put it behind your seat where you can’t reach it
- show your ears (to check for earbuds), wrists, and eyeglasses
- during the whole proctored exam, the webcam is live and is recording you.
- there is ample time - you have 180 minutes but it’s unlikely you will use even half of that
# Conclusion and thanks
Overall, it was a very challenging exam and I was not sure I was going to pass it, given the sheer breadth of the material. I’m thankful for all the content creators out there - Stephane and Riyyad with their Udemy course, Jon Bonso from TutorialsDojo, Cloud Academy, and many tech bloggers.
I think it was worth the time, effort and money put into it - I learned a lot, there is a sense of achievement, and it actually might be useful for a future job application.