Темы

Основа реляционных БД

• Нормализация

• Индексы

Ключи

Ограничения

Отношения

• Транзакции

ACID

Производительность и масштабирование

• Масштабирование

Шардинг

Как БД реально работает “под капотом” (PostgreSQL-ориентировано)

PostgreSQL

Страницы, heap и TOAST

MVCC и снимки транзакций

WAL, Checkpoint и восстановление

VACUUM, Autovacuum и bloat

ANALYZE и статистика планировщика

Планировщик запросов и EXPLAIN

Join-алгоритмы и сортировки

Блокировки, уровни изоляции и дедлоки

Память, кэш и I/O

Мониторинг и диагностика PostgreSQL

Резервное копирование, PITR и репликация


Термины

  • Отношение — таблица.

  • Атрибут — столбец таблицы.

  • Домен — допустимые значения атрибута (тип + ограничения).

  • Значение — ячейка таблицы (значение атрибута в конкретной строке).

  • Кортеж (tuple) — строка/запись в таблице.

  • Ключ — атрибут(ы), обеспечивающие уникальность и/или связи между таблицами.

  • Первичный ключ (PK) — выбранный идентификатор строки.

  • Потенциальный ключ — любой кандидат в уникальный идентификатор (candidate key).

  • Внешний ключ (FK) — ссылка на PK/UK другой таблицы (обеспечивает ссылочную целостность).


Примеры

Pasted image 20240609234331.png

Последнее обновление