Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

5. Сценарии применения NoSql (по задачам)

Рассмотрим типичные задачи и какой тип NoSQL лучше подходит.

Задача 1: Каталог товаров для интернет-магазина

  • Товары имеют разный набор характеристик (у телефона — диагональ, у одежды — размер).

  • Нужно быстро искать по разным полям.

  • Решение: Документная БД (MongoDB). Каждый товар — отдельный JSON со своими полями.

Задача 2: Кэширование результатов запросов

  • Нужно очень быстро отдавать часто запрашиваемые данные.

  • Решение: Ключ-значение (Redis). Ключ = параметры запроса, значение = результат.

Задача 3: Сбор логов с тысяч серверов

  • Огромный поток данных (миллионы записей в секунду).

  • Нужна высокая скорость записи.

  • Решение: Колоночная БД (Cassandra) или специализированная TSDB (InfluxDB).

Задача 4: Социальная сеть с друзьями и лентой новостей

  • Много связей между пользователями.

  • Нужно быстро находить друзей друзей.

  • Решение: Графовая БД (Neo4j) для отношений + документная для профилей.

Задача 5: Система аналитики в реальном времени

  • Нужно агрегировать данные по множеству измерений.

  • Решение: Колоночная БД (Cassandra, ClickHouse) или специализированная аналитическая.

Задача 6: Управление сессиями пользователей

  • Миллионы одновременных сессий.

  • Нужен быстрый доступ по ID сессии.

  • Решение: Ключ-значение (Redis) с TTL (автоматическое удаление старых сессий).

6. Критерии выбора NoSql vs sql

Когда выбирать SQL (реляционные):

  • Данные строго структурированы и не меняются.

  • Требуются сложные транзакции с ACID.

  • Нужны сложные запросы с JOIN'ами.

  • Целостность данных критична (финансы, учёт).

Когда выбирать NoSQL:

  • Объёмы данных огромны и требуют горизонтального масштабирования.

  • Структура данных часто меняется.

  • Скорость записи/чтения критичнее строгой согласованности.

  • Данные естественно ложатся в определённую модель (документы, графы).

  • Вы строите распределённую систему с высокой доступностью.

7. Тренды: мультимодельные базы данных

Современные БД всё чаще становятся мультимодельными — поддерживают несколько моделей данных в одной системе.

Примеры:

  • PostgreSQL (реляционная) — с расширениями может работать как документная (JSONB).

  • ArangoDB — поддерживает документы, графы, ключ-значение.

  • Azure Cosmos DB — поддерживает документы, графы, колонки, ключ-значение.

  • Oracle — с поддержкой JSON и графов.

Это позволяет использовать одну БД для разных задач, упрощая архитектуру.

8. Заключение

Ключевые выводы:

  1. NoSQL — это не одна технология, а семейство разных подходов к хранению данных.

  2. Документные БД — для гибких данных со сложной структурой (JSON).

  3. Ключ-значение — для максимально быстрого доступа по ключу.

  4. Колоночные БД — для огромных объёмов записываемых данных и аналитики.

  5. Графовые БД — для данных с насыщенными связями.

  6. Выбор зависит от конкретной задачи: нет универсального решения.

  7. NoSQL не отменяет SQL — они решают разные задачи, часто используются вместе в одной системе (полиглотное хранение).

12. Принципы построения баз данных и современные субд

База данных представляет собой организованную совокупность данных, предназначенную для хранения и обработки информации. Для управления базами данных используются специальные программы — системы управления базами данных (СУБД).

Основными принципами построения баз данных являются:

  • структурированное хранение данных

  • минимизация дублирования информации

  • обеспечение целостности данных

  • возможность быстрого поиска и обработки информации

  • обеспечение безопасности и разграничения доступа

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

Среди современных СУБД можно выделить такие системы, как MySQL, PostgreSQL, Oracle, Microsoft SQL Server и MongoDB.

Использование СУБД позволяет эффективно управлять большими объёмами информации и обеспечивает надёжность хранения данных.

Вопрос 12: Принципы построения баз данных, современные системы управления базами данных (СУБД)

Введение

Базы данных — это основа любой информационной системы. Понимание принципов их построения и знакомство с современными СУБД необходимо каждому специалисту в области информационных систем и технологий.

В этом вопросе мы рассмотрим два больших блока:

Часть 1. Принципы построения баз данных

1. Принцип независимости данных

Это один из ключевых принципов, сформулированный ещё Эдгаром Коддом. Он означает, что изменения в физическом хранении данных не должны влиять на прикладные программы, и наоборот.

Различают два уровня независимости:

  • Физическая независимость — можно изменить способ хранения данных (перейти на другой диск, изменить индексы, сжать данные), не меняя структуры базы и приложений.

  • Логическая независимость — можно добавить новые поля или таблицы, не ломая существующие запросы и программы (хотя это сложнее обеспечить).

Это достигается за счёт трёхуровневой архитектуры (стандарт ANSI/SPARC):

  • Внешний уровень — то, как видят данные конкретные пользователи или приложения (представления, views).

  • Концептуальный уровень — общая логическая структура всей базы данных (таблицы, связи, ограничения).

  • Внутренний уровень — физическое хранение данных на диске.