Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Database & Backend Engineering: PostgreSQL, Python & FastAPI

Database & Backend Engineering: PostgreSQL, Python & FastAPI

Build secure APIs and reliable databases with PostgreSQL, FastAPI, Redis, transactions, migrations and recovery.
Last updated 11/2026
English

What you'll learn

  • Understand the responsibilities of database and backend engineers and how they build reliable applications.
  • Set up a practical PostgreSQL and FastAPI development environment using the Kitewell Platform lab.
  • Design PostgreSQL databases with constraints to enforce data integrity and prevent duplicate bookings.
  • Manage database schema changes using migrations and understand the risks of locked tables.
  • Optimise PostgreSQL query performance using indexes, execution plans and query analysis.
  • Manage database transactions, locks and concurrency to prevent race conditions.
  • Implement PostgreSQL roles, least-privilege access and row-level security to protect sensitive data.
  • Perform database backups and understand point-in-time recovery for restoring lost or corrupted data.
  • Understand PostgreSQL replication, failover and database high-availability concepts.
  • Manage database connections, connection pooling and PostgreSQL vacuum operations.
  • Build and validate backend APIs using Python, FastAPI and automated tests.
  • Implement retries and idempotency to prevent duplicate operations and accidental double charges.
  • Use Redis caching to improve backend performance and investigate stale-data problems.
  • Understand background jobs and message queues for processing asynchronous application tasks.
  • Implement application observability and rate limiting to monitor and protect backend services.
  • Investigate database locking, failed transactions and other production-style reliability problems.
  • Apply database security, performance and recovery techniques to realistic engineering scenarios.
  • Understand how PostgreSQL, FastAPI and Redis work together in a modern backend architecture.
  • Complete the Kitewell On-Sale Day capstone by applying database and backend engineering concepts.
  • Develop practical troubleshooting and problem-solving skills for database and backend engineering.
  • Find and fix bad data, then add constraints so it can never happen again
  • Change a live schema safely with Alembic migrations and lock timeouts
  • Read EXPLAIN ANALYZE plans and add the right index without blocking sales
  • Reproduce a race condition and fix it with row locking
  • Give each application the least privilege it needs, and isolate tenants with row-level security
  • Recover deleted data with a base backup, WAL archives and point-in-time recovery
  • Build a streaming replica and run a failover drill
  • Diagnose "too many clients" errors and fix them with PgBouncer, and spot table bloat from disabled autovacuum
  • Validate API input and prove the fix with pytest
  • Stop double charges with idempotency keys
  • Cache hot pages in Redis, and invalidate them when data changes
  • Move slow work to a job queue with retries, and recover failed jobs
  • Add JSON request logs, Prometheus metrics and rate limiting to stop a scraper
  • Lead a P1 incident from symptom to root cause, fix it live, and write the postmortem

Course content

4 sections • 19 lectures • 1h 49m total length
  • Welcome to the platform team2:23
  • Set up your Kitewell lab7:02
  • Download Course Files0:01

Requirements

  • A 64-bit computer with at least 8 GB of memory and 5 GB of free disk space, running Docker Desktop (Windows, Mac) or Docker (Linux)
  • Basic SQL (SELECT, WHERE, JOIN) and some Python. Everything else is explained as you go
  • No cloud account and no paid software
  • No previous professional database or backend engineering experience is required. The course introduces essential concepts through practical demonstrations and real-world engineering scenarios.
  • Basic Python programming knowledge is recommended. Familiarity with variables, functions, and basic programming concepts will help learners follow the FastAPI backend development lessons
  • Basic SQL knowledge is helpful but not essential. Understanding simple SQL queries, tables, and database records will make the PostgreSQL lessons easier to follow.
  • A Windows, macOS, or Linux computer is required. A minimum of 8 GB RAM is recommended, with 16 GB preferred for a smoother experience when running multiple development services.
  • A computer capable of running Docker or the course's required development environment. Learners should be able to install and run the tools needed for the Kitewell Platform lab.
  • An internet connection is required to download course resources, development tools, and any necessary software dependencies.
  • No previous experience with PostgreSQL, FastAPI, Redis, database replication, or backend security is required. These technologies and concepts are introduced through guided lessons and practical exercises.
  • No expensive software or paid subscriptions are required. The course focuses on freely available development tools. All learners need is curiosity, patience, and a willingness to practise and troubleshoot.

Description

Want to Become a Database or Backend Engineer? Start Here!

Have you ever wondered what happens behind the scenes when thousands of customers try to purchase tickets for the same event?

How does an application prevent two customers from booking the same seat?

What happens when a customer clicks the payment button twice, a database table becomes locked, or an API receives more requests than it can handle?

And how do professional database and backend engineers build systems that remain reliable when things go wrong?

Welcome to Database & Backend Engineering: PostgreSQL, Python & FastAPI!

This practical, project-based course introduces you to the essential skills involved in building, securing, optimising, and maintaining modern database-driven backend applications.

Rather than simply learning SQL commands or building basic CRUD APIs, you'll explore the engineering challenges that arise when databases and backend services must work together reliably.

At the centre of the course is the Kitewell Platform, a simulated ticketing application that provides a realistic environment for learning database and backend engineering.

You'll investigate practical scenarios involving duplicate bookings, database locks, race conditions, double charges, stale cached data, and application reliability.

By the end of this course, you'll have developed practical PostgreSQL and backend engineering skills and applied them through a connected, real-world-style capstone project.


You join the platform team at Kitewell, a live-events ticketing company, and run its database and API the way real teams do. You work from tickets, on a running platform, while simulated customers browse and buy. Every output you see is real: the lab runs PostgreSQL 16, PgBouncer, Redis, a FastAPI service, a job worker and a fake payment provider on your own computer, in Docker.

Part 1 is the database engineer's job: data integrity, migrations, query performance, locking, security, backups, point-in-time recovery, replication, failover and connection pooling. Part 2 is the backend engineer's: input validation and tests, idempotent payments, caching, background jobs, observability, rate limiting and a P1 on-call incident. Each fix ends in a git commit and a closed ticket, so you finish with a portfolio repository that shows employers what you can do.

All companies, people and data in the lab are made up.

What you'll learn

  • Find and fix bad data, then add constraints so it can never happen again

  • Change a live schema safely with Alembic migrations and lock timeouts

  • Read EXPLAIN ANALYZE plans and add the right index without blocking sales

  • Reproduce a race condition and fix it with row locking

  • Give each application the least privilege it needs, and isolate tenants with row-level security

  • Recover deleted data with a base backup, WAL archives and point-in-time recovery

  • Build a streaming replica and run a failover drill

  • Diagnose "too many clients" errors and fix them with PgBouncer, and spot table bloat from disabled autovacuum

  • Validate API input and prove the fix with pytest

  • Stop double charges with idempotency keys

  • Cache hot pages in Redis, and invalidate them when data changes

  • Move slow work to a job queue with retries, and recover failed jobs

  • Add JSON request logs, Prometheus metrics and rate limiting to stop a scraper

  • Lead a P1 incident from symptom to root cause, fix it live, and write the postmortem

Requirements

  • A 64-bit computer with at least 8 GB of memory and 5 GB of free disk space, running Docker Desktop (Windows, Mac) or Docker (Linux)

  • Basic SQL (SELECT, WHERE, JOIN) and some Python. Everything else is explained as you go

  • No cloud account and no paid software

Who this course is for

  • Developers and analysts moving into database engineering, backend engineering or DBA roles

  • Junior engineers who want production experience before their first on-call shift

  • Bootcamp and degree graduates who need real incident work for their portfolio and interviews

  • Data engineers who want to understand the operational databases they read from

Who this course is for:

  • Developers and analysts moving into database engineering, backend engineering or DBA roles
  • Junior engineers who want production experience before their first on-call shift
  • Bootcamp and degree graduates who need real incident work for their portfolio and interviews
  • Data engineers who want to understand the operational databases they read from
  • Aspiring Database Engineers: Individuals who want to develop practical PostgreSQL skills in database design, constraints, indexing, transactions, security, backups, replication, and performance optimisation.
  • Aspiring Backend Developers: Learners interested in building secure, reliable backend applications using Python, FastAPI, PostgreSQL, and Redis, while understanding how APIs interact with databases.
  • Python Developers: Programmers who want to expand beyond basic Python applications and learn backend API development, database integration, caching, background processing, and application reliability.
  • SQL Developers and Database Administrators: Professionals who want to strengthen their PostgreSQL engineering skills, including query optimisation, migrations, concurrency, row-level security, backup and recovery, and database availability.
  • Computer Science, IT, and Software Engineering Students: Students seeking hands-on experience with database and backend engineering concepts through practical exercises and the Kitewell Platform project.
  • Junior Software Engineers: Developers who want to understand how real-world backend systems handle database transactions, API validation, retries, idempotency, caching, security, and performance challenges.
  • IT Professionals and Career Changers: Motivated learners with basic programming knowledge who want to explore careers in database engineering, backend development, or software engineering through practical, project-based learning.
  • Hands-On, Project-Based Learners: Anyone who prefers learning by solving realistic engineering problems, including database locking, duplicate transactions, stale Redis caches, system reliability challenges, and the Kitewell On-Sale Day capstone project.