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

Тип 4: Графовые базы данных (Graph Databases)

Модель данных: Данные представляются в виде графа: узлы (вершины) и рёбра (связи) между ними. И у узлов, и у рёбер могут быть свойства.

Структура:

  • Узел (Node) — сущность (человек, компания, страница, товар).

  • Ребро (Edge, Relationship) — связь между узлами (дружит, работает, купил, находится в).

  • Свойства — пары ключ-значение у узлов и рёбер.

Пример (социальная сеть):

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

  • Обход связей выполняется очень быстро (не нужны JOIN'ы, просто идём по рёбрам).

  • Производительность не падает с ростом числа связей (в отличие от реляционных БД, где JOIN'ы на больших таблицах тормозят).

  • Специализированные языки запросов (Cypher для Neo4j, Gremlin).

Популярные представители:

  • Neo4j — самая популярная графовая БД, использует язык Cypher.

  • Amazon Neptune — управляемый графовый сервис от Amazon.

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

  • OrientDB — тоже мультимодельная.

  • JanusGraph — распределённая графовая БД.

Когда использовать:

  • Социальные сети (друзья, подписчики, лайки).

  • Системы рекомендаций (что ещё покупают те, кто купил этот товар).

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

  • Управление доступом (роли, права, иерархии).

  • Маршрутизация и логистика (поиск кратчайшего пути).

  • Сетевые топологии (компьютерные сети, электросети).

Когда НЕ использовать:

  • Для простых CRUD-приложений без сложных связей (оверхед).

  • Когда данные не образуют связный граф (проще взять документную БД).

Тип 5: Базы данных временных рядов (Time Series Databases)

Хотя в вопросе они не перечислены отдельно, их часто выделяют как подтип или отдельную категорию.

Модель данных: Оптимизированы для данных, привязанных ко времени: метрики, показания датчиков, логи, финансовые тики.

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

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

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

  • Сжатие данных (значения повторяются, хорошо сжимаются).

  • Функции агрегации по времени (среднее за минуту, максимум за час).

Представители: InfluxDB, Prometheus, TimescaleDB (на базе PostgreSQL), Graphite.

Когда использовать: Мониторинг серверов, IoT, финансовая аналитика, метрики приложений.

4. Сравнительная таблица типов NoSql

Тип

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

Сильные стороны

Слабые стороны

Типичные сценарии

Документные

JSON-документы

Гибкая схема, удобно для разработки

Сложные связи требуют денормализации

Каталоги, CMS, профили, блоги

Ключ-значение

Пары ключ→значение

Максимальная скорость, простота

Нет поиска по значению, только по ключу

Кэш, сессии, счётчики, очереди

Колоночные

Строки с переменным набором колонок

Отличная запись, масштабирование

Нет JOIN'ов, сложные запросы

Логи, временные ряды, big data

Графовые

Узлы и рёбра

Быстрый обход связей

Сложность для не-графовых задач

Соцсети, рекомендации, fraud detection