Хороший путеводитель по базам данных ценен не широтой охвата самой по себе, а тем, что собирает реляционную модель, SQL и распределённые компромиссы в один инженерный язык.
В реальной работе эта книга полезна как спокойный фундамент: по ней удобно выравнивать обсуждение модели данных, транзакций, репликации, шардирования и того, где именно заканчивается простая теория и начинается архитектурная цена решения.
На интервью и в архитектурных обсуждениях она помогает говорить о базах данных без скачков между жаргоном и абстракцией: от модели данных к запросам, гарантиям и последствиям выбора.
Практическая польза главы
Реляционная и NoSQL-практика
Переводите теорию в критерии выбора модели данных под конкретный продукт: транзакции, гибкость схемы и профиль доступа.
Язык компромиссов
Используйте единый словарь для обсуждения репликации, шардирования и консистентности между командами.
Чеклист внедрения
Сопровождайте архитектурный выбор планом наблюдаемости, резервного копирования, восстановления и деградационных сценариев.
Рассказ на интервью
Стройте ответ как инженерный разбор: контекст, варианты, компромиссы, финальное решение и последствия.
Рамка выбора и редакторский фокус
Фокус главы
системном обзоре реляционных и NoSQL-подходов к хранению данных
Профиль нагрузки
Начинайте с профиля данных: что является источником истины, где нужна транзакционная обработка OLTP, где аналитика, поиск, кэш или поток событий.
Когда выбирать
Глава нужна как входная рамка: она помогает выбрать порядок изучения и не прыгать сразу к любимой СУБД.
Граница и риск
Главный риск — смешать классификацию, выбор технологии и эксплуатационные гарантии в одну неявную рекомендацию.
Связать дальше
Связывайте выводы с фреймворком выбора СУБД, DDIA и практическими обзорами конкретных движков.
Официальный источник
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-диаграммы и проектирование схемы.
Кодд, отношения, ключи
Нормальные формы, денормализация
Сущности, связи, атрибуты
Логическая и физическая модель
Часть II: Язык SQL
Полный курс SQL: от SELECT до аналитических запросов, DDL/DML, оконных функций, CTE и базовой оптимизации.
SELECT, INSERT, UPDATE, DELETE
INNER, LEFT, RIGHT, FULL, CROSS
ROW_NUMBER, RANK, LAG, LEAD
WITH, рекурсивные запросы
Часть III: Архитектура СУБД
Внутреннее устройство СУБД: хранение данных, индексы, буферный кеш, транзакции, блокировки и восстановление после сбоев.
Страницы, heap, TOAST
B-Tree, Hash, GiST, GIN
, уровни изоляции
Журналирование, контрольная точка
Часть IV: Распределённые системы
Репликация, шардирование, распределённые транзакции, теорема CAP, консенсус и современные подходы к масштабированию.
Лидер-реплика, несколько лидеров
Горизонтальное партиционирование
Консистентность, доступность, разделение сети
Paxos, Raft, 2PC
Часть V: NoSQL и Big Data
Альтернативы реляционным СУБД: документные, ключ-значение, ширококолоночные и графовые базы данных, а также экосистема больших данных.
MongoDB, CouchDB
Redis, Memcached, DynamoDB
Cassandra, HBase
Neo4j, JanusGraph
Сравнение типов NoSQL-баз данных
Документная БД
Документы (JSON/BSON) с вложенной структурой. Гибкая схема, богатые запросы по полям.
Примеры
Сценарии
Модель данных
JSON/BSON-документы
Шаблон запроса
Запросы по полям, индексы
Консистентность
Настраиваемая
Транзакции
| Характеристика | Ключ-значение | Документная БД | Ширококолонная БД | Графовая БД |
|---|---|---|---|---|
| Масштабирование | Горизонтальное | Горизонтальное | Горизонтальное | Горизонтальное и вертикальное |
| Консистентность | Итоговая | Настраиваемая | Настраиваемая | Строгая |
| Схема | Без жёсткой схемы | Гибкая | Гибкая | Гибкая |
| Транзакции | ||||
| JOIN |
💡 Когда выбирать NoSQL вместо SQL?
- Ключ-значение: нужны максимальная скорость и простые операции по ключу
- Документная БД: важны гибкая схема, вложенные структуры и эволюция модели
- Ширококолонная БД: много записей, временные ряды и очень большие объёмы
- Графовая БД: главная сложность в связях между сущностями и многоуровневых обходах
Ключевые концепции для системного дизайна
🔑Выбор типа СУБД
- короткие транзакции () и аналитика () требуют разной схемы и разного железа
- выбор между SQL и NoSQL — это выбор компромисса, а не моды
- несколько типов хранилищ разносят контуры данных, но добавляют точки отказа в эксплуатации
- даёт SQL-интерфейс с горизонтальным масштабированием — ценой зрелости экосистемы
📊Индексирование
- закрывает диапазонные запросы и поиск по равенству
- хеш-индекс выигрывает на точечном поиске, но бесполезен на диапазонах
- в составном индексе порядок колонок решает, сработает он или нет
- покрывающий индекс убирает обращение к основной таблице — за счёт размера индекса
⚡Масштабирование
- реплики для чтения снимают нагрузку чтения, но добавляют задержку репликации
- шардирование масштабирует запись и объём по горизонтали — и усложняет запросы между шардами
- партиционирование удерживает большие таблицы управляемыми
- пул соединений снижает стоимость подключения: PgBouncer, ProxySQL
🔒Консистентность
- модель задаёт базовые гарантии транзакций
- уровень изоляции — это явный размен корректности на производительность
- в распределённой системе строгая консистентность сменяется итоговой
- паттерн Saga разносит распределённую транзакцию по шагам с компенсациями вместо отката
Для кого эта книга
Начинающим
Студентам и разработчикам, которым нужна системная база по СУБД
Бэкенд-разработчикам
Для систематизации опыта и закрытия пробелов в SQL, индексах и транзакциях
Готовящимся к интервью
Чтобы на System Design-раунде уверенно обсуждать выбор хранилища, консистентность и масштабирование
Об авторах
Книга написана коллективом авторов из компании Postgres Professional, ведущего российского разработчика решений на базе PostgreSQL. Компания известна вкладом в развитие PostgreSQL, образовательными материалами и практическим опытом внедрения СУБД в производственных системах.
Что важно запомнить
«Путеводитель по базам данных» — это фундамент, который читают перед более узкими материалами. Он не заменяет DDIA или Database Internals, но даёт язык для разговора о моделях данных, SQL, индексах, транзакциях и распределённых компромиссах. С этим языком СУБД выбирают по ограничениям задачи, а не по привычке или популярности технологии.
Связанные главы
- Фреймворк выбора СУБД - Переход от фундаментальных знаний к практическому выбору СУБД под профиль нагрузки и ограничения системы.
- Зачем разбираться в системах хранения - Обзорная карта типов хранилищ и места реляционных/NoSQL систем в архитектуре.
- Введение в хранение данных - Связь storage-решений с API-контрактами, консистентностью и интеграцией между сервисами.
- Designing Data-Intensive Applications, 2nd Edition (short summary) - Теоретический фундамент по репликации, шардированию и консистентности для проектирования систем данных.
- PostgreSQL: история, архитектура и отличия - Практический ориентир по транзакционной обработке OLTP с сильной моделью транзакций и зрелой экосистемой.
- MySQL: история, движки хранения и масштабирование - Альтернативный путь для и сравнительные компромиссы эксплуатации и масштабирования.
- Репликация и шардинг - Операционные решения для роста нагрузки: стратегии репликации, ключ шардирования и перебалансировка.
- CAP теорема - Теорема CAP объясняет, почему при разделении сети приходится жертвовать либо доступностью, либо консистентностью — и где этот выбор всплывает в распределённых базах данных.
- PostgreSQL изнутри (краткий обзор) - Глубокий разбор , , блокировок и индексов в PostgreSQL.
- Database Internals (short summary) - Устройство движков хранения и структур данных, от которого зависят задержка и пропускная способность СУБД под реальной нагрузкой.
