Официальный источник
Postgres Pro
Бесплатная электронная версия книги на сайте Postgres Professional.
Путеводитель по базам данных
Авторы: В. И. Комаров
Издательство: ДМК Пресс, 2024
Объём: 520 страниц
Учебное пособие от Postgres Pro: реляционная модель, SQL, архитектура СУБД, распределённые системы и NoSQL.
ОригиналЗачем читать эту книгу?
Книга идеально подходит для тех, кто хочет:
- Получить фундаментальные знания — понять теоретические основы СУБД, от реляционной алгебры до транзакционной обработки
- Освоить SQL на профессиональном уровне — от базовых запросов до сложных оконных функций и рекурсивных CTE
- Разобраться в архитектуре СУБД — как устроены индексы, транзакции, репликация и распределённые системы
- Подготовиться к интервью — книга охватывает все темы баз данных, которые спрашивают на System Design
Связанная глава
PostgreSQL изнутри
Глубокое погружение в MVCC, WAL, блокировки и индексы PostgreSQL от Егора Рогова.
Особенности книги
Учебный формат
Книга написана как учебное пособие с практическими заданиями, контрольными вопросами и лабораторными работами. Идеально подходит для самостоятельного изучения.
Актуальность
Охватывает современные темы: NoSQL базы данных, распределённые системы, обработка больших данных, CAP-теорема и eventual consistency.
Практический фокус
Теория подкрепляется примерами на PostgreSQL. Все концепции можно сразу применить на практике с реальной СУБД.
Бесплатный доступ
Книга доступна бесплатно в электронном формате на сайте Postgres Professional — качественный ресурс без барьеров.
Связанная глава
Database Internals
Глубокое погружение в B-Trees, LSM-Trees и распределённые системы от Alex Petrov.
Структура книги
Часть I: Введение в базы данных
Основы теории баз данных: от файловых систем к СУБД, реляционная модель, нормализация, ER-диаграммы и проектирование схемы.
Кодд, отношения, ключи
1NF → BCNF, денормализация
Сущности, связи, атрибуты
Логическая и физическая модель
Часть 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
ACID, уровни изоляции
Журналирование, checkpoint
Часть IV: Распределённые системы
Репликация, шардинг, распределённые транзакции, CAP-теорема, консенсус и современные подходы к масштабированию.
Master-Slave, Master-Master
Горизонтальное партиционирование
Consistency, Availability, Partition
Paxos, Raft, 2PC
Часть V: NoSQL и Big Data
Альтернативы реляционным СУБД: document stores, key-value, column-family, graph databases и экосистема больших данных.
MongoDB, CouchDB
Redis, Memcached, DynamoDB
Cassandra, HBase
Neo4j, JanusGraph
Сравнение типов NoSQL баз данных
Document Store
Документы (JSON/BSON) с вложенной структурой. Гибкая схема, богатые запросы по полям.
Примеры
Use Cases
Модель данных
JSON/BSON документы
Query Pattern
Запросы по полям, индексы
Consistency
tunable
Транзакции
| Характеристика | Key-Value | Document Store | Column-Family | Graph Database |
|---|---|---|---|---|
| Масштабирование | Horizontal | Horizontal | Horizontal | Both |
| Консистентность | eventual | tunable | tunable | strong |
| Схема | schemaless | flexible | flexible | flexible |
| Транзакции | ||||
| JOINs |
💡 Когда выбирать NoSQL вместо SQL?
- Key-Value: нужна максимальная скорость и простые lookup-операции
- Document: гибкая схема, nested data, эволюция структуры
- Column-Family: write-heavy workloads, time-series, огромные объёмы
- Graph: сложные связи между сущностями, многоуровневые обходы
Ключевые концепции для System Design
🔑Выбор типа БД
- OLTP vs OLAP — разные паттерны нагрузки
- SQL vs NoSQL — trade-offs для разных задач
- Polyglot persistence — разные БД для разных данных
- NewSQL — лучшее из двух миров
📊Индексирование
- B-Tree для range queries и equality
- Hash для point lookups
- Composite indexes — порядок колонок важен
- Covering indexes — избегаем heap lookup
⚡Масштабирование
- Read replicas — масштабирование чтения
- Sharding — горизонтальное масштабирование
- Партиционирование — управление большими таблицами
- Connection pooling — PgBouncer, ProxySQL
🔒Консистентность
- ACID — гарантии транзакций
- Уровни изоляции — trade-off с производительностью
- Eventual consistency в распределённых системах
- Saga pattern для распределённых транзакций
Для кого эта книга
Начинающим
Студентам и разработчикам без опыта работы с БД
Backend-разработчикам
Для систематизации знаний и заполнения пробелов
Готовящимся к интервью
Комплексное покрытие тем по базам данных
Об авторах
Книга написана коллективом авторов из компании Postgres Professional — ведущего российского разработчика решений на базе PostgreSQL. Компания известна своим вкладом в развитие PostgreSQL и созданием образовательных материалов высочайшего качества.
Где найти книгу
Вердикт
«Путеводитель по базам данных» — отличный бесплатный ресурс для тех, кто хочет получить фундаментальные знания о базах данных на русском языке. Книга особенно ценна как учебное пособие: структурированная подача, практические задания и актуальное содержание делают её идеальным выбором для самостоятельного изучения. Рекомендуется как первый шаг перед погружением в более специализированные книги вроде DDIA или Database Internals.
