NICOLÁS BOTTARINI
Back to the path

Computing foundations

Databases

220 pages of reading

Data modeling, SQL, transactions, indexes and NoSQL databases. Almost every application stores data, and understanding how it does so saves you from many performance and consistency problems.

Topics

  • Normalization

    The 3 Normal Forms, Denormalization

  • Basic Concepts and SQL

    Relational Model, OLTP vs OLAP, DDL, Constraints, Foreign Keys, Cascade, Referential Integrity, SELECT, INSERT, DELETE, UPDATE, Grouping, Subqueries, Aggregate Functions, Ordering, Joins, Unions, Views, Materialized Views, Indexes, Privileges, Object-Relational Impedance Mismatch, Physical Database Organization, Tablespaces

  • Transaction Management

    ACID, Logfile, Recovery, Concurrency Problems (lost update, dirty read, inconsistent analysis, unrepeatable read, phantom read), Schedules, Optimistic/Pessimistic Locks, 2-Phase Lock, Deadlocks, Isolation Levels

  • NoSQL Basics

    ACID vs BASE, CAP Theorem, Eventual Consistency, Key-Value Store, Column Family Databases, Document Stores, Graph Databases

  • Query Optimization

    Query Processing, Query Plan, Projection, Selection, Cartesian Product, Clustered/Unclustered Index, Dense/Sparse Index, Primary/Secondary Index, B+Tree, Hash Index, File Scan, Heap Scan, Nested-Loop Join, Sort-Merge Join, Hash Join, N+1

  • Distributed Databases

    CAP Theorem, Sharding, Replication

  • Redis

    Use Cases, Data Types, Strings, Lists, Sets, Sorted Sets, Hashes, Bit Arrays, HyperLogLogs, Streams

  • Graph Databases

    Neo4J, Use Cases, Cypher

  • Document Databases

    MongoDB, Aggregates, Queries, Views, Replica Sets, Sharding

Resources