System Design Space
Граф знанийНастройки

Обновлено: 4 мая 2026 г. в 20:57

Путеводитель по базам данных (short summary)

средний

Хороший путеводитель по базам данных ценен не широтой охвата самой по себе, а тем, что собирает реляционную модель, SQL и распределённые компромиссы в один инженерный язык.

В реальной работе эта книга полезна как спокойный фундамент: по ней удобно выравнивать обсуждение модели данных, транзакций, репликации, шардирования и того, где именно заканчивается простая теория и начинается архитектурная цена решения.

На интервью и в архитектурных обсуждениях она помогает говорить о базах данных без скачков между жаргоном и абстракцией: от модели данных к запросам, гарантиям и последствиям выбора.

Практическая польза главы

Реляционная и NoSQL-практика

Переводите теорию в критерии выбора модели данных под конкретный продукт: транзакции, гибкость схемы и профиль доступа.

Язык компромиссов

Используйте единый словарь для обсуждения репликации, шардирования и консистентности между командами.

Чеклист внедрения

Сопровождайте архитектурный выбор планом наблюдаемости, резервного копирования, восстановления и деградационных сценариев.

Рассказ на интервью

Стройте ответ как инженерный разбор: контекст, варианты, компромиссы, финальное решение и последствия.

Официальный источник

Postgres Pro

Бесплатная электронная версия книги на сайте Postgres Professional: учебный материал можно читать без регистрации и покупки.

Скачать бесплатно

Путеводитель по базам данных

Авторы: В. И. Комаров
Издательство: ДМК Пресс, 2024
Объём: 520 страниц

Учебное пособие от Postgres Pro: реляционная модель, SQL-запросы, архитектура СУБД, индексы, транзакции, репликация, шардирование и NoSQL-подходы.

Оригинал

«Путеводитель по базам данных» удобен как первая системная карта: он связывает ,,,, и в один инженерный маршрут. Благодаря этому читатель быстрее понимает, где заканчивается учебная теория и начинаются реальные ограничения выбранного хранилища.

Зачем читать эту книгу

Книга помогает выстроить цельную картину баз данных: от модели данных и SQL до распределённых решений, которые всплывают в системном дизайне.

  • Разобраться в фундаменте: понять реляционную алгебру, нормальные формы, транзакции и роль СУБД
  • Уверенно читать и писать SQL: пройти путь от базовых выборок до оконных функций, CTE и рекурсивных запросов
  • Понять внутреннее устройство: увидеть, как индексы, транзакции, журнал предзаписи и блокировки влияют на поведение базы
  • Готовиться к системному дизайну: говорить о базах данных через свойства, ограничения и последствия выбора

Связанная глава

PostgreSQL изнутри

Глубокое погружение в MVCC, WAL, блокировки и индексы PostgreSQL от Егора Рогова.

Читать обзор

Что делает книгу полезной

Учебный формат

Материал подан как учебный курс: с заданиями, контрольными вопросами и лабораторными работами. Это снижает порог входа и помогает закреплять темы руками.

Актуальность

Помимо реляционной модели и SQL, книга доходит до NoSQL-баз данных, распределённых систем, обработки больших данных, теоремы CAP и итоговой консистентности.

Практический фокус

Теория подкрепляется примерами на PostgreSQL, поэтому понятия про схемы, индексы, транзакции и запросы сразу можно проверить в реальной СУБД.

Бесплатный доступ

Электронная версия доступна бесплатно на сайте Postgres Professional, поэтому книгу легко использовать как общий учебный источник для команды.

Связанная глава

Database Internals

Глубокое погружение в B-Tree, LSM-деревья и распределённые хранилища от Alex Petrov.

Читать обзор

Структура книги

Часть I: Введение в базы данных

Основы теории баз данных: путь от файловых систем к СУБД, реляционная модель, нормализация, ER-диаграммы и проектирование схемы.

Реляционная модель

Кодд, отношения, ключи

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

Нормальные формы, денормализация

ER-моделирование

Сущности, связи, атрибуты

Проектирование

Логическая и физическая модель

Часть II: Язык SQL

Полный курс SQL: от SELECT до аналитических запросов, DDL/DML, оконных функций, CTE и базовой оптимизации.

DML-операции

SELECT, INSERT, UPDATE, DELETE

JOIN и подзапросы

INNER, LEFT, RIGHT, FULL, CROSS

Оконные функции

ROW_NUMBER, RANK, LAG, LEAD

CTE и рекурсия

WITH, рекурсивные запросы

Часть III: Архитектура СУБД

Внутреннее устройство СУБД: хранение данных, индексы, буферный кеш, транзакции, блокировки и восстановление после сбоев.

Хранение данных

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

Индексы

B-Tree, Hash, GiST, GIN

Транзакции

ACID, уровни изоляции

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

Журналирование, контрольная точка

Часть IV: Распределённые системы

Репликация, шардирование, распределённые транзакции, теорема CAP, консенсус и современные подходы к масштабированию.

Репликация

Лидер-реплика, несколько лидеров

Шардирование

Горизонтальное партиционирование

Теорема CAP

Консистентность, доступность, разделение сети

Консенсус

Paxos, Raft, 2PC

Часть V: NoSQL и Big Data

Альтернативы реляционным СУБД: документные, ключ-значение, ширококолоночные и графовые базы данных, а также экосистема больших данных.

Документные БД

MongoDB, CouchDB

Ключ-значение

Redis, Memcached, DynamoDB

Ширококолонные

Cassandra, HBase

Графовые БД

Neo4j, JanusGraph

Сравнение типов NoSQL-баз данных

Документная БД

Документы (JSON/BSON) с вложенной структурой. Гибкая схема, богатые запросы по полям.

Примеры

MongoDBCouchDBFirestoreElasticsearch

Сценарии

КаталогиCMSПрофили пользователейЖурнал событий

Модель данных

JSON/BSON-документы

Шаблон запроса

Запросы по полям, индексы

Консистентность

Настраиваемая

Транзакции

ХарактеристикаКлюч-значениеДокументная БДШирококолонная БДГрафовая БД
МасштабированиеГоризонтальноеГоризонтальноеГоризонтальноеГоризонтальное и вертикальное
КонсистентностьИтоговаяНастраиваемаяНастраиваемаяСтрогая
СхемаБез жёсткой схемыГибкаяГибкаяГибкая
Транзакции
JOIN

💡 Когда выбирать NoSQL вместо SQL?

  • Ключ-значение: нужны максимальная скорость и простые операции по ключу
  • Документная БД: важны гибкая схема, вложенные структуры и эволюция модели
  • Ширококолонная БД: много записей, временные ряды и очень большие объёмы
  • Графовая БД: главная сложность в связях между сущностями и многоуровневых обходах

Ключевые концепции для системного дизайна

🔑Выбор типа СУБД

  • OLTP и OLAP обслуживают разные профили нагрузки
  • SQL и NoSQL дают разные компромиссы для разных задач
  • Архитектура с несколькими типами хранилищ помогает разделять контуры данных
  • NewSQL совмещает SQL-интерфейс с горизонтальным масштабированием

📊Индексирование

  • B-Tree для диапазонных запросов и поиска по равенству
  • Hash для точечного поиска
  • Составные индексы чувствительны к порядку колонок
  • Покрывающие индексы уменьшают обращения к основной таблице

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

  • Реплики для чтения помогают масштабировать нагрузку с преобладанием чтения
  • Шардирование даёт горизонтальное масштабирование записи и объёма
  • Партиционирование помогает управлять большими таблицами
  • Пул соединений снижает стоимость подключения: PgBouncer, ProxySQL

🔒Консистентность

  • ACID задаёт базовые гарантии транзакций
  • Уровни изоляции балансируют корректность и производительность
  • Итоговая консистентность появляется в распределённых системах
  • Паттерн Saga помогает разносить распределённые транзакции по шагам

Для кого эта книга

Начинающим

Студентам и разработчикам, которым нужна системная база по СУБД

Бэкенд-разработчикам

Для систематизации опыта и закрытия пробелов в SQL, индексах и транзакциях

Готовящимся к интервью

Для спокойного разговора о выборе хранилища, консистентности и масштабировании

Об авторах

Книга написана коллективом авторов из компании Postgres Professional, ведущего российского разработчика решений на базе PostgreSQL. Компания известна вкладом в развитие PostgreSQL, образовательными материалами и практическим опытом внедрения СУБД в производственных системах.

Что важно запомнить

«Путеводитель по базам данных» стоит читать как фундамент перед более узкими материалами. Он не заменяет DDIA или Database Internals, но даёт язык для разговора о моделях данных, SQL, индексах, транзакциях и распределённых компромиссах. После него проще выбирать СУБД осознанно, а не по привычке или популярности технологии.

Связанные главы

Где найти книгу

Чтобы отмечать прохождение, включи трекинг в Настройки