← Back

Overview of Database Management Systems

2 min read

Relational Databases

  • PostgreSQL — Open-source, feature-rich, ACID compliance, excellent for complex queries
  • MySQL/MariaDB — Lightweight, widely used, good for web applications
  • Oracle Database — Enterprise-grade, expensive, highly scalable
  • SQL Server — Microsoft’s enterprise database

Key Concepts

  • ACID Properties — Atomicity, Consistency, Isolation, Durability
  • Normalization — Database design principle to reduce redundancy
  • Indexing — Speeds up query performance through data structures (B-trees, hash tables)
  • Transactions — Logical units of work maintaining data integrity
  • Query Execution Plans — How the database processes queries

NoSQL Databases

  • Document Stores — MongoDB, CouchDB (JSON-like documents)
  • Key-Value Stores — Redis, DynamoDB (fast caching and sessions)
  • Graph Databases — Neo4j (relationships between data)
  • Time Series — InfluxDB, Prometheus (metrics, monitoring)
  • Wide-Column Stores — Cassandra, HBase (large distributed data)

Query Optimization

Concepts

  • Cost-based optimization — Evaluates execution plan efficiency
  • Index usage — Choosing appropriate indexes for queries
  • Join strategies — Hash joins, nested loop joins, merge joins
  • Cardinality estimation — Predicting result set sizes

University Courses

Database Design

  • Data Modeling — Conceptual, logical, physical schemas
  • Entity-Relationship Model — Designing database structure
  • Referential Integrity — Foreign keys and constraints
  • Denormalization — Intentional redundancy for performance

Additional Resources

  • Andy Pavlo’s lectures on databases
  • “Designing Data-Intensive Applications” by Martin Kleppmann
  • PostgreSQL and MySQL documentation
  • Database courses on platforms like Coursera, edX