Когда использовать графовые базы данных

Концепции NoSQL

Miriam Antona

Software engineer

Подходящие случаи — общая информация

  • Высоко связанные данные
Концепции NoSQL

Подходящие случаи — социальные графы

  • Социальные сети
    • Пользователи и их связи
    • Публикации
    • Лайки
    • ...
  • Сотрудники компании
    • Проекты
    • Связи между сотрудниками

Общее представление социального графа.

Концепции NoSQL

Подходящие случаи — инфекционные заболевания

  • Модель:
    • Взаимодействия между людьми
    • Контактные события
    • Случаи заражения
  • Помогает понять цепочки передачи

Изображение распространения Covid в мире.

Концепции NoSQL

Подходящие случаи — геолокационные сервисы

  • Местоположения и расстояния
  • Оптимизация маршрутов для навигационных приложений
  • Рекомендации ближайших объектов:
    • рестораны
    • кинотеатры
    • больницы
    • и т. д.

Изображение маршрута на экране смартфона.

Концепции NoSQL

Подходящие случаи — обнаружение мошенничества

  • Предотвращение мошенничества в реальном времени:
    • Мошенничество с кредитными картами
    • Мошенничество в электронной торговле
    • Отмывание денег
  • Модель: физические лица, кредитные карты, номера телефонов, устройства, IP-адреса...
  • Выявление подозрительных паттернов:
    • несколько пользователей с одного IP
    • ...

Изображение вора.

Концепции NoSQL

Подходящие случаи — рекомендации в реальном времени

  • Хранение истории покупок и поведения при просмотре для рекомендации товаров
  • Предложение товара другу
  • Показ непросмотренных фильмов на основе предпочтений похожих пользователей

Пример рекомендации в реальном времени.

Концепции NoSQL

Подходящие случаи — сети

  • Хранение связей между элементами сетей и инфраструктуры
    • физические машины
    • виртуальные машины
    • приложения
    • маршрутизаторы
    • коммутаторы
    • ...
  • Оповещение в реальном времени о потенциальных недостатках архитектуры

Изображение сетевых кабелей.

Концепции NoSQL

Неподходящие случаи

  • Несвязанные данные
  • Связи между данными не важны
  • Приложения, выполняющие только общий поиск без конкретной начальной точки
    • Не оптимизированы для таких запросов
  • Свойства, содержащие очень большие значения (BLOBs, CLOBs...)
Концепции NoSQL

Давайте потренируемся!

Концепции NoSQL

Preparing Video For Download...