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
-
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.
-
DB-Engines
db-engines.comfree
-
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.
-
SQLite
sqlite.orgfree
-
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.
-
PostgreSQL Documentation
postgresql.orgfree
Designing and querying well
-
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.
-
PostgreSQL Documentation
postgresql.orgfree
-
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.
-
Use The Index, Luke!
use-the-index-luke.comfree
-
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.
-
Designing Data-Intensive Applications
dataintensive.netpaid
-
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.
-
PostgreSQL Privileges Documentation
postgresql.orgfree
Beyond relational
-
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.
-
MongoDB Manual
mongodb.comfree
-
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.
-
Redis
redis.iofree
-
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.
-
Apache Cassandra
cassandra.apache.orgfree
Running databases
-
Schema migrationsVersion schema changes as scripts that run in order, so every environment evolves the same way without manual edits.
-
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.
-
Database Internals
databass.devpaid
-
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.
-
The Morning Paper
blog.acolyer.orgfree
See also
External links, by their respective authors. This path is original IPL content.