Skip to content

Database Systems Overview

What is a Database System

A database system studies how to efficiently, reliably, and securely store and retrieve large amounts of data. Modern database systems solve core problems: fast lookups (indexing), concurrent operations (transactions and locks), and crash recovery (durability).

Why Learn Database Systems

Foundation of backend development. Data access is inescapable in web development, microservices, and AI applications.

Understand data storage. Vector databases are essentially databases with vector search instead of B+ trees.

Interview essentials. Transaction ACID, indexing, SQL optimization — guaranteed backend interview questions.

Core subject in CS entrance exams. ~25 points.

Core Knowledge Modules

Relational Model and SQL

  • Relational model, relational algebra, SQL

Storage and Indexing

  • B+ tree indexes, hash indexes, clustered indexes

Query Processing and Optimization

  • Execution plans, join algorithms, query optimizer

Transaction Processing

  • ACID, concurrency control, isolation levels, MVCC

Crash Recovery

  • WAL, ARIES algorithm, checkpointing

How to Learn

Balance theory and practice. Reading without writing SQL means concepts stay on paper.

Start with a specific database. Recommended: MySQL.

Do the CMU 15-445 labs. Implement a complete database system.

Resources in This Module

Resource Type Description
CMU 15-445 Course CMU database systems, implement a complete database
Berkeley CS186 Course Berkeley database course
DDIA Textbook Designing Data-Intensive Applications