System Design Space

    Глава 106

    Обновлено: 9 февраля 2026 г. в 20:31

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

    Прогресс части0/12

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

    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, денормализация

    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 и восстановление

    Журналирование, checkpoint

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

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

    Репликация

    Master-Slave, Master-Master

    Шардинг

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

    CAP-теорема

    Consistency, Availability, Partition

    Консенсус

    Paxos, Raft, 2PC

    Часть V: NoSQL и Big Data

    Альтернативы реляционным СУБД: document stores, key-value, column-family, graph databases и экосистема больших данных.

    Document stores

    MongoDB, CouchDB

    Key-Value

    Redis, Memcached, DynamoDB

    Column-family

    Cassandra, HBase

    Graph databases

    Neo4j, JanusGraph

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

    Document Store

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

    Примеры

    MongoDBCouchDBFirestoreElasticsearch

    Use Cases

    КаталогиCMSUser profilesEvent logging

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

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

    Query Pattern

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

    Consistency

    tunable

    Транзакции

    ХарактеристикаKey-ValueDocument StoreColumn-FamilyGraph Database
    МасштабированиеHorizontalHorizontalHorizontalBoth
    Консистентностьeventualtunabletunablestrong
    Схемаschemalessflexibleflexibleflexible
    Транзакции
    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.