Get Hands On with AWS Databases!
Add 5 essential database projects to your portfolio in this beginner-friendly series!
Introduction
This project has been archived
We're no longer updating this project - we recommend checking out our active projects instead!
If you've already completed this project, don't worry! Your documentation is still available for you to check out and share.
If you have any questions, leave a question in our Discord and we'll get back to you ASAP!
Welcome to the AWS Databases Series! 🚀
Throughout this series, you'll build 5 database solutions on AWS, gaining practical cloud database skills that are in high demand across the tech industry.
By the end of this series, you'll have:
- Built and connected databases to applications
- Queried data to turn them into insights and visualizations
- Experience with different database types including relational and NoSQL
- Developed 5 portfolio-worthy documentation that showcases your skills!
What to Expect
This is a 100% hands-on series. You'll be working in the AWS console from the first project.
Don't worry if you're new to AWS or databases - we've designed this series to be beginner-friendly:
- 🤝 Step-by-step instructions guide you through each project.
- 🎥 Live demos of every project on YouTube.
- 📖 Clear explanations of database concepts as we go.
- 📝 Line-by-line explanations of any SQL or NoSQL queries (no prior experience required).
- 🔍 Troubleshooting tips to help you solve common errors.
- 🔥 A supportive community to answer your questions and help you out.
How Do I Start?
You'll explore AWS database services across 4 hands-on projects. Set up an AWS account before you start, which you can do here.
AWS has a generous free tier, and we've made sure this whole challenge stays well within those limits. You can complete this entire challenge without spending 👏 anything 👏 so you can focus on building awesome stuff!
When you're ready, begin this series by selecting the first project!
- 1️⃣ Aurora Database with EC2
- 2️⃣ Connect a Web App with Aurora
- 3️⃣ Load Data into DynamoDB
- 4️⃣ Query Data with DynamoDB
If you're up for a bit of a challenge, quiz yourself on the key concepts up ahead in this project.
What are databases and why are they important?
Great question! You've just unlocked a bonus section (and bonus documentation) on database fundamentals (ooooooooo).
Pick the explanation style that matches your style:
First things first
Why are you learning databases? Everyone has different reasons for learning, and remembering your personal why is a great source of motivation! Personal why's from your fellow students include...
- "I want to understand how companies actually store and manage important data in real-world scenarios."
- "I want to add AWS database experience to my resume - so many job descriptions ask for database knowledge."
- "I'm working on a project that needs a database, and I want to choose the right AWS service for my needs."
- Hear more from your fellow students in our community!
What are Databases?
Databases are essentially digital filing systems - they're where companies store all their important information in an organized way. Think customer info, product details, orders, inventory counts and user activity!
Why do databases exist?
Before modern databases, most companies were drowning in paperwork and disconnected computer files. The Marketing deparment would have their customer spreadsheets, Sales would have their own contact lists, and Warehouse would track inventory on completely separate systems.
This created some real headaches for everyone:
- Duplicated information everywhere: Customer "Jane Smith" might appear in 5 different systems with slightly different info in each
- Constant data conflicts: If Jane changed her address, it might get updated in one system but not the others
- Information silos: Teams couldn't easily share information with each other, so one team wouldn't know what the other team had done with the same customer
- Data integrity problems: Nobody knew which version of the data was the "correct" one
Database management systems (DBMS) came along to solve these problems. Instead of scattered files, we got centralized systems where data could be stored once, accessed by different teams, and kept consistent and secure.
Here are some real examples of how major companies rely on databases:
Amazon
Amazon is an e-commerce platform (how could we not include them)! During peak shopping events like Prime Day, Amazon's databases process tens of thousands of orders per second.
Their databases track every product, where it's located in which warehouse, inventory levels, and every customer order ever placed.
Banks
When you check your balance or make a transaction in your banking app, the bank's database must instantly update your balance, maintain perfect accuracy (imagine if it lost track of a few hundred dollars!), and keep a secure record of every transaction you've ever made.
Netflix
Netflix's recommendation system relies on databases that track every show you've watched, when you watched it, whether you finished it, and even when you paused or rewatched sections. This data helps them suggest content you'll likely enjoy.
Healthcare
Hospitals use databases to maintain your complete medical history, schedule appointments across hundreds of doctors, track medication administration, and ensure your insurance information is current.
Hot Tip
Highlight any part of this project guide, and select + Note > Give examples to get examples like this on the fly!
Wow! You've just learned how awesome databases are. So where does cloud fit in?
What are Cloud Database Services?
For decades, businesses had to run databases "on-premises" - meaning on their own physical servers. Here's what that meant:
- 💸 Companies had to buy expensive servers to run their database software
- 👩💻 They needed to hire specialized database administrators to manage backups, performance tuning, and security patches.
- 👩🔧 IT teams had to handle all database upgrades, monitor system health, and troubleshoot outages.
- 🤔 Businesses had to predict future growth and purchase enough database servers in advance.
- 💥 They had to develop their own disaster recovery plans - i.e. a plan B if a server gets destroyed.
The effort that came with having databases meant that as cool as they are, databases still came with a few drawbacks:
- ❌ High upfront costs - Servers and software licenses weren't cheap!
- ❌ Maintenance overhead - Updating a datbase to the latest version required planned downtime
- ❌ Scaling difficulties - Adding servers meant weeks of buying and configuring new hardware
- ❌ Limited flexibility - Changing database types meant starting from scratch
Enter... cloud database services 😎
AWS and other cloud providers changed how we work with databases by turning the heavy investments and maintenance into a pay-as-you-go service.
For companies, this meant:
- ✔️ No hardware to manage - AWS handles all the underlying infrastructure
- ✔️ Automatic updates - So security or software updates happen without taking the database down
- ✔️ Pay-as-you-go - Only pay for what you use
- ✔️ Easy scaling - Grow or shrink capacity with a few clicks
- ✔️ High availability - Automatic backups across multiple data centers
What do cloud database professionals do day-to-day?
As a database professional or cloud engineer working with databases, your typical responsibilities include:
(and get excited - we're practicisng ALL of these skills in the database series 🥳)
Setting Up Databases
You'll practice these skills in
- Project 2 on Aurora Database with EC2
- Project 3 on Connect a Web App with Aurora
- Create different types of databases tailored to specific needs
- Configure storage, performance settings, and security
- Connect databases to applications and visualization tools
Data Modeling
You'll practice these skills in
- Project 4 on Load Data into DynamoDB
- Design table structures and relationships
- Learn how data should be organized for different use cases
- Load and transform real data
Writing Queries
You'll practice these skills in
- Project 5 on Query Data with DynamoDB
- Retrieve data using both SQL and NoSQL approaches
- Learn patterns for efficient data access
Database Security
- Configure network security for your databases
- Manage access controls and authentication
- Implement encryption for sensitive data
Notice the difference in responsibilities - instead of spending lots of time maintaining hardware, you can focus on making the most out of your data!
Extra for Experts: Some other responsibilities include
- Designing database structures - like deciding what tables you need and how they connect
- Setting up automation - for routine tasks like backups and scaling
- Performance tuning - making sure queries run fast even as data grows
- Migrating and upgrading - moving data between systems and keeping database software current
Ready for the first project?
Ready for the first project?
Now that you understand the foundations, it's time for the exciting part - building real database solutions on AWS!
These hands-on projects will help you build confidence working with databases in AWS and give you valuable skills to showcase in your career.
Off we gooo! As a reminder, here are the four epic projects in this series:
- 1️⃣ Aurora Database with EC2
- 2️⃣ Connect a Web App with Aurora
- 3️⃣ Load Data into DynamoDB
- 4️⃣ Query Data with DynamoDB
Share Your Progress!
This challenge can help you build your AWS skills, your portfolio, and your personal brand! To make the most of it, share your progress on LinkedIn or GitHub.
It's so easy to share your documentation - all you have to do is:
- Select Mission Accomplished at the end of this page 👇
- Download your documentation as a PDF.
- Select the LinkedIn icon to open a pre-populated post, all ready to go!
- Select the X at the bottom of the post - it's blocking you from uploading documentation.
- Click on the plus icon at the bottom of the panel.
- Then select the page icon, which helps you Add a document.
- Voilà! Upload your document and give it a nice title like I'm challenging myself to get hands on with AWS databases!
- Select Done and Post to share your progress!
p.s. Does it say "Still tasks to complete!" at the bottom of the screen?
This means you still have screenshots left to upload, or questions left to answer!
- Press Ctrl+F (Windows) or Command+F (Mac) on your keyboard.
- Search for the text Return to later.
- Jump straight to your incomplete tasks!
- 🙋♀️ Still stuck? Ask the community!