Skip to content

Databases

Learn to store and query data with SQL, design sound schemas and indexes, try document and key-value stores, and manage databases safely as they change.

Beginner 13 steps

Steps

First steps

  1. What a database is forSurvey the main kinds of databases, relational, document, key-value and wide-column, and what problem each one solves.
    • DB-Engines db-engines.comfree

      An authoritative knowledge base collecting information, architectural features, and popularity rankings of database management systems.

  2. Your first SQL databaseCreate tables and run SELECT, INSERT, UPDATE and DELETE on a zero-setup embedded database to learn SQL by doing.
    • SQLite sqlite.orgfree

      A small, fast, self-contained, high-reliability C-language library implementing a full SQL database engine.

  3. PostgreSQL and a client toolInstall a full relational server and a graphical client so you can explore schemas, run queries and inspect results.
    • PostgreSQL Documentation postgresql.orgfree

      Comprehensive official manual and reference guides on SQL standards, indexing, transaction management, and database operations.

    • DBeaver dbeaver.iofree

      A universal database tool supporting SQL and NoSQL databases for querying, exploring, and managing data science datasets.

    • pgAdmin pgadmin.orgfree

      Open-source administration and development platform designed specifically for PostgreSQL database management.

Designing and querying well

  1. Schema design and constraintsModel entities and relationships with keys and constraints so the database itself keeps your data consistent.
    • PostgreSQL Documentation postgresql.orgfree

      Comprehensive official manual and reference guides on SQL standards, indexing, transaction management, and database operations.

    • Designing Data-Intensive Applications dataintensive.netpaid

      An authoritative guide by Martin Kleppmann exploring principles of distributed databases, stream processing, and storage systems.

  2. Indexes and query performanceLearn how indexes work and how to read query plans, the single biggest lever for making slow queries fast.
    • Use The Index, Luke! use-the-index-luke.comfree

      A developer-oriented guide by Markus Winand explaining database indexing mechanics and SQL performance tuning.

  3. Transactions and concurrencyUnderstand ACID guarantees and isolation levels to avoid lost updates when many users write at the same time.
    • Designing Data-Intensive Applications dataintensive.netpaid

      An authoritative guide by Martin Kleppmann exploring principles of distributed databases, stream processing, and storage systems.

    • CMU Database Group db.cs.cmu.edufree

      A research lab portal led by Andy Pavlo covering modern database systems research, benchmarks, and lecture series.

  4. Users and privilegesGrant each application and person only the access it needs, an essential step before exposing any database.
    • PostgreSQL Privileges Documentation postgresql.orgfree

      Section of the official PostgreSQL manual explaining object ownership, the GRANT and REVOKE commands and the available privilege types for database administrators.

Beyond relational

  1. Document databasesStore flexible JSON-like documents and learn when that model fits better than tables, and when it does not.
    • MongoDB Manual mongodb.comfree

      Official documentation for the MongoDB document database, covering installation, data modelling, queries, indexing, replication and sharding for developers and administrators.

    • MongoDB mongodb.comfreemium

      Document-oriented NoSQL database designed for modern backend application development and flexible schema storage.

  2. Key-value stores and cachingUse an in-memory store for caching, sessions and counters to take load off your main database.
    • Redis redis.iofree

      An open-source, in-memory data structure store used as a distributed database, cache, message broker, and vector store.

  3. Distributed wide-column databases (optional)See how a database spreads data across many machines and what consistency trade-offs that brings.
    • Apache Cassandra cassandra.apache.orgfree

      An open-source distributed NoSQL database management system designed to handle large amounts of data across commodity servers.

Running databases

  1. Schema migrationsVersion schema changes as scripts that run in order, so every environment evolves the same way without manual edits.
    • Flyway flywaydb.orgfreemium

      Open-source database migration tool strongly favoring simplicity and convention over configuration in version control.

    • Liquibase liquibase.comfreemium

      Open-source database schema change management tool that automates database migrations within CI/CD pipelines.

  2. How storage engines work (optional)Look inside B-trees, logs and buffer pools to understand why databases behave the way they do under load.
    • Database Internals databass.devpaid

      Reference companion and guide exploring storage engines, B-trees, LSM trees, and distributed data systems architecture.

    • CMU Database Group db.cs.cmu.edufree

      A research lab portal led by Andy Pavlo covering modern database systems research, benchmarks, and lecture series.

  3. Following database research (optional)Read accessible summaries of influential papers to see where database systems are heading.
    • The Morning Paper blog.acolyer.orgfree

      An archival review blog by Adrian Colyer providing practitioner summaries of data systems and algorithmic research papers.

    • VLDB Conference vldb.orgpaid

      An annual international forum on very large data bases, scalable database management, and distributed data systems.

See also

External links, by their respective authors. This path is original IPL content.