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

Д) Временные ряды (Time Series Databases)

Оптимизированы для хранения данных, привязанных ко времени (метрики, логи, показания датчиков).

Особенности:

  • Высокая скорость записи (миллионы точек в секунду).

  • Автоматическое удаление старых данных (retention policies).

  • Специализированные функции агрегации по времени.

Примеры: InfluxDB, Prometheus, TimescaleDB (гибрид на PostgreSQL).

4. Ключевые отличия: реляционные vs нереляционные

Теперь сравним их по основным параметрам.

Отличие 1: Модель данных и структура

Параметр

Реляционные (SQL)

Нереляционные (NoSQL)

Структура

Таблицы, строки, столбцы. Жёсткая схема (schema-on-write).

Разная: документы, ключ-значение, графы, колонки. Гибкая схема (schema-on-read).

Связи

Через внешние ключи и JOIN'ы.

Либо внутри одного документа, либо денормализация, либо на уровне приложения.

Нормализация

Требуется (устранение избыточности).

Денормализация приветствуется (данные дублируются для скорости).

Отличие 2: Язык запросов

Параметр

Реляционные (SQL)

Нереляционные (NoSQL)

Язык

SQL — стандартизированный, декларативный.

Свой API или специализированный язык (MongoDB Query Language, Cypher для Neo4j).

JOIN'ы

Поддерживаются на уровне БД (мощно, но медленно при больших объёмах).

Часто отсутствуют (данные либо в одном документе, либо денормализованы).

Отличие 3: acid vs base

Это фундаментальное различие в философии работы с транзакциями.

Реляционные БД гарантируют ACID:

  • Atomicity (Атомарность) — транзакция выполняется целиком или не выполняется вообще.

  • Consistency (Согласованность) — данные всегда соответствуют всем правилам (ограничениям, ключам).

  • Isolation (Изолированность) — параллельные транзакции не мешают друг другу.

  • Durability (Долговечность) — после фиксации данные сохраняются даже при сбое.

Многие NoSQL БД используют BASE (особенно в распределённых системах):

  • Basically Available (Базовая доступность) — система отвечает на запросы (возможно, неактуальными данными).

  • Soft state (Мягкое состояние) — состояние может меняться со временем (даже без внешних воздействий).

  • Eventual consistency (Согласованность в конечном счёте) — если данные перестанут изменяться, то со временем все копии придут к одному значению.

Почему так? В распределённых системах (данные на многих серверах) невозможно одновременно обеспечить и строгую согласованность, и высокую доступность, и устойчивость к разделению сети — это теорема CAP (Consistency, Availability, Partition tolerance). Нужно выбирать два из трёх. NoSQL часто выбирает доступность и устойчивость к разделению, жертвуя строгой согласованностью.

Отличие 4: Масштабирование

Параметр

Реляционные (SQL)

Нереляционные (NoSQL)

Вертикальное масштабирование

Традиционный путь: более мощный сервер (больше CPU, RAM, дисков). Есть предел.

Тоже возможно, но не основной путь.

Горизонтальное масштабирование

Сложно. Шардинг (распределение по серверам) возможен, но требует ручного управления или специальных решений. JOIN'ы между шардами проблематичны.

Заложено в архитектуру. Данные автоматически распределяются по кластеру (шардинг, репликация). Добавил новый сервер — ёмкость выросла.