Интернет-магазин shop@dmkpress.com +7 (499) 322-19-38
Оптовая продажа baranova@dmkpress.com +7 (499) 948-04-55
Издание книг editor@dmkpress.com Пишите на почту
Подпишитесь на наш Telegram-канал ДМК Пресс

Восстанавливаем работу сайта после непредвиденного технического инцидента. Спасибо за ваше терпение! Книги уже доступны для покупки. При входе в личный кабинет, возможно, потребуется повторная регистрация. Приносим извинения за неудобства.

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

Фундаментальное различие

Реляционные СУБД (SQL) хранят данные в таблицах со строгой схемой, используют декларативный язык SQL и обеспечивают свойства ACID: атомарность, согласованность, изолированность, долговечность. Это делает их эталонным выбором там, где ошибка в данных недопустима: финансовые операции, учетные системы, ERP, биллинг, CRM.

NoSQL-хранилища отказываются от единой табличной модели в пользу документной, ключ-значение, графовой или колоночной. Они проектировались под горизонтальное масштабирование и высокие нагрузки, где классическая строгость мешает, а не помогает. Компромисс здесь описан теоремой CAP: в распределенной системе приходится выбирать между согласованностью (Consistency) и доступностью (Availability), когда сетевые разделения (Partition tolerance) неизбежны.

Сравнительная таблица

КритерийSQL (реляционные СУБД)NoSQL
Модель данныхТаблицы, строки, внешние ключиДокументы, ключ-значение, графы, колонки
СхемаЖесткая, задается заранееГибкая, эволюционирует вместе с кодом
Язык запросовSQL, декларативный, стандартныйСвой для каждой СУБД, часто API или подмножество SQL
ТранзакцииПолноценные ACIDЧасто BASE, в некоторых СУБД есть ACID на уровне документа
МасштабированиеВертикальное (наращивание мощности сервера)Горизонтальное (добавление узлов)
ЦелостностьОбеспечивается движком (ключи, ограничения)Лежит на приложении
Типовые сценарииБухгалтерия, заказы, склад, биллингКаталоги, логи, сессии, IoT, социальные графы
ПримерыPostgreSQL, MySQL, SQL Server, DuckDBMongoDB, Cassandra, Redis, Neo4j

Классические сценарии для SQL

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

  • PostgreSQL де-факто стал универсальным движком: расширения вроде PostGIS дают геоданные, оконные функции и CTE упрощают аналитику, а богатая экосистема инструментов мониторинга и оптимизации делает его пригодным и для OLAP-подобных задач.
  • SQL Server традиционно силен в корпоративной среде Windows, с развитым T-SQL и интеграцией в Microsoft-стек.
  • DuckDB открывает отдельное направление: аналитическая in-process СУБД, которая работает прямо внутри приложения и обрабатывает большие объемы данных без отдельного сервера. Для встраиваемой аналитики и ад-хок запросов по файлам это решение стало откровением последних лет.

Типовые сценарии для NoSQL

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

  • Документные СУБД (MongoDB) удобны, когда объект имеет переменную структуру: профили пользователей, товарные карточки, контент. Данные хранятся в виде JSON-подобных документов, что упрощает маппинг на объекты в коде.
  • Колоночные и распределенные хранилища (Cassandra) созданы для задач, где важна постоянная доступность и линейная масштабируемость: телеметрия, метрики, логи с тысяч источников, IoT-потоки. Архитектура без единой точки отказа позволяет пережить выход из строя целого дата-центра без потери данных.
  • Ключ-значение хранилища (Redis) дают минимальную задержку за счет хранения данных в памяти. Классические применения: кэширование, сессии пользователей, очереди сообщений, рейтинги и лидерборды.
  • Графовые СУБД незаменимы, когда важно быстро обходить связи: социальные сети, системы рекомендаций, выявление мошенничества, анализ зависимостей в инфраструктуре.
  • Распределенные SQL-движки (Presto) занимают промежуточную нишу: позволяют выполнять SQL-запросы поверх разнородных источников данных, будь то HDFS, S3 или классические СУБД, без предварительной загрузки в единое хранилище.

Матрица выбора под задачу

ЗадачаТип данныхРекомендуемая СУБДКраткое обоснование
Интернет-магазин, заказы и платежиСтруктурированные, связанныеPostgreSQL, SQL ServerACID-транзакции, целостность через внешние ключи
Каталог товаров с разными характеристикамиСлабоструктурированныеMongoDBГибкая документная схема
Аналитика поверх файлов и озера данныхТабличные, большие объемыDuckDB, PrestoВстраиваемая OLTP/OLAP, federation
Сессии пользователей, кэшМелкие, быстрыеRedisДанные в памяти, микросекундная задержка
Логи, метрики, IoT-телеметрияПотоковые, append-onlyCassandraГоризонтальное масштабирование, высокая доступность
Социальный граф, рекомендацииСвязи между сущностямиNeo4j, графовые алгоритмыБыстрый обход связей
Геоданные, картыКоординаты, полигоныPostgreSQL + PostGISСпециализированные типы и индексы
Биллинг, финансовые операцииСтрогая структураPostgreSQL, SQL ServerМаксимальные гарантии консистентности
Кросс-источниковая аналитикаРазнородныеPrestoЗапросы без перемещения данных

Что важно понимать при выборе

Между SQL и NoSQL нет победителя, есть осознанный компромисс. Современные реляционные СУБД научились масштабироваться лучше, а документные хранилища добавили ACID на уровне одного документа, поэтому границы постоянно размываются. Если бы нужно было сформулировать три вопроса, которые стоит задать перед стартом проекта, они звучали бы так:

  1. Могут ли данные испортиться? Если да (деньги, склад, учет), ACID не обсуждается, нужен SQL.
  2. Будет ли нагрузка расти непредсказуемо? Если горизонтальное масштабирование критично, стоит рассматривать NoSQL или новые распределенные SQL-системы.
  3. Насколько стабильна схема данных? Если структура меняется каждую неделю, жесткая схема реляционной СУБД будет мешать.

Часто ответ не «SQL или NoSQL», а «и то и другое вместе»: PostgreSQL под бизнес-данные, Redis под кэш, MongoDB под контент. Такой polyglot persistence подход стал нормой в зрелых проектах.

Подборка книг от ДМК Пресс

Издательство выпускает литературу по обоим направлениям: здесь есть и глубокие руководства по PostgreSQL, и практические книги по MongoDB, Cassandra, Redis-подобным решениям, и общие обзоры архитектур СУБД.

Реляционные СУБД и SQL

КнигаАвторЧем полезна
PostgreSQL 18 изнутриРогов Е.Свежайшее руководство по устройству ядра актуальной версии
PostgreSQL 17 изнутриРогов Е.Детальное погружение в архитектуру сервера, буферы, планировщик
PostgreSQL. Профессиональный SQLМоргунов Евгений ПавловичХит продаж; глубокая работа с языком SQL в PostgreSQL
Оптимизация запросов PostgreSQLДомбровская Г.Р., Новиков Б.А., Бейликова А.Хит продаж; как заставить планировщик выбирать правильные планы
Мониторинг PostgreSQLЛесовский АлексейПрактика наблюдаемости: метрики, алерты, производительность
Оконные функции в T-SQLБен-Ган И.Классика по аналитическим функциям в SQL Server от признанного автора
Инновации SQL Server 2019Уорд Б.Обзор новых возможностей корпоративной СУБД Microsoft
PostGIS в действииОбе Р., Хсу Л.Практика работы с геопространственными данными в PostgreSQL
DuckDB в действииНидхем М., Хунгер М., Саймонс М.Встраиваемая аналитическая СУБД, актуальное направление 2025 года
Изучаем и используем PrestoЛо Дука А., Михан Т., Бхатаран В., Су И.Распределенные SQL-запросы к разнородным источникам

NoSQL и смежные направления

КнигаАвторЧем полезна
Осваиваем MongoDB 7.0Алексендрич М., Боруцки А., Домингес Л.Актуальное практическое руководство по документной СУБД
MongoDB. Полное руководствоБрэдшоу Ш., Брэзил Й., Ходоров К.Фундаментальный справочник по MongoDB
Cassandra. Полное руководство (2-е изд.)Карпентер Дж., Хьюитт Э.Распределенная колоночная СУБД: моделирование данных, кластеризация, эксплуатация
Семь баз данных за семь недельРедмонд Э., Уилсон Джим Р.Сравнительное введение в идеологию NoSQL через практику
Графовые алгоритмыНидхем М., Холдер Э.Прикладные алгоритмы для графовых СУБД и аналитики связей
Искусство неизменяемой архитектурыПерри М. Л.Архитектурные принципы, актуальные для распределенных хранилищ

Общие основы

КнигаАвторЧем полезна
Путеводитель по базам данныхКомаров Владимир ИвановичАрхитектурные принципы, общие для всех современных СУБД, от SQL до NoSQL

Если выбирать одну книгу для старта, разумно начать с «Путеводителя по базам данных» Комарова: она дает единый фундамент, на котором проще воспринимать и реляционные, и NoSQL-решения. Дальше ветка зависит от выбранного пути: для PostgreSQL-разработчика логично идти в «PostgreSQL 17 изнутри» и «Оптимизацию запросов», для тех, кто строит распределенные системы, будут полезны «Cassandra. Полное руководство» и «Семь баз данных за семь недель» как обзорный компас по миру NoSQL.

Каталог книг по базам данных ДМК Пресс

Вход и регистрация
Введите свой E‑mail — если аккаунта ещё нет, мы предложим зарегистрироваться
Вход и регистрация через
Регистрация
Вход в учетную запись
Пожалуйста, введите свой E‑mail и пароль для авторизации
Скрыть пароль Показать пароль
Регистрация
Товар добавлен в список сравнения
Хотите перейти в список сравнения или продолжить покупки?
Перейти к сравнению
Товар добавлен в избранное
Хотите перейти в список избранного или продолжить покупки?
Перейти в избранное
Оплата заказа
Скачать прайс-лист
Книги в наличии на складе издательства: цены и остатки, обновляется каждую ночь.
Скачать
Восстановление пароля
Пожалуйста, введите свой E‑mail
Ссылка для смены пароля будет выслана на ваш email.
Восстановление пароля
Ссылка для смены пароля была выслана на ваш email.
Изменение пароля
Пожалуйста, введите новый пароль
Скрыть пароль Показать пароль
В пароле должно быть: от 6 символов, буквы, цифры.
Скрыть пароль Показать пароль
Пароль изменён
Пароль изменён, вы вошли в аккаунт. Сейчас откроется личный кабинет…
Перейти в личный кабинет
Регистрация
Пожалуйста, зарегистрируйтесь.
Вы сможете:
Следить за историей и статусом заказов
Следить за историей и статусом заказов
Сохранять избранное
Сохранять избранное
Не вводить повторно свои данны
Не вводить повторно свои данные
Быстрая регистрация через
или заполните форму
Скрыть пароль Показать пароль
В пароле должно быть: от 6 символов, буквы, цифры.
Скрыть пароль Показать пароль
Войти,
если у вас уже есть учетная запись
Вы зарегистрировались
Регистрация прошла успешно
К покупкам
Регистрация
Пожалуйста, зарегистрируйтесь.
Вы сможете:
Следить за историей и статусом заказов
Следить за историей и статусом заказов
Сохранять избранное
Сохранять избранное
Не вводить повторно свои данны
Не вводить повторно свои данные
Войти,
если у вас уже есть учетная запись
Вы зарегистрировались
Регистрация прошла успешно. На указанный вами email отправлено письмо с паролем.
К покупкам
Товар в корзине
Хотите перейти в корзину или продолжить покупки?
Перейти в корзину
Добавить в лист ожидания?
При поступлении товара, вы получите уведомление на почту
Вы добавили товар в список ожидания
При поступлении товара, вы получите уведомление на почту