Поделиться через


Общие сведения о семантике Графа

Область применения: ✅Microsoft Fabric

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

Графы превосходно подходят для представления сложных данных с отношениями "многие ко многим", иерархическими структурами или сетевыми соединениями, такими как социальные сети, системы рекомендаций, подключенные ресурсы и графы знаний. В отличие от реляционных баз данных, требующих индексов и соединений для подключения данных между таблицами, графы используют прямую привязку между узлами, обеспечивая быстрый и интуитивно понятный обход связей.

На следующем графике показан сценарий пути атаки кибербезопасности. Узлы представляют такие сущности, как внешние источники, пользователи и критически важные ресурсы, а ребра представляют действия или связи, которые образуют потенциальную последовательность атак.

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

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

На следующем графике показан сценарий цепочки поставок, в котором узлы представляют поставщиков, производителей и распространителей, а также границы представляют связи поставок. В этом примере показано, как графы моделируют потоки и зависимости в различных бизнес-контекстах.

График двух поставщиков, производителя и дистрибьютора, а также отношения поставок.

Зачем использовать семантику графа?

Возможности графа обеспечивают значительные преимущества путем использования существующих инвестиций в данные при добавлении сложного моделирования связей:

  • Миграция данных не требуется . Создание моделей графов непосредственно из текущих данных без дублирования.
  • Экономичное решение . Устраняет сложность и расходы на выделенные базы данных графов.
  • Поддержка темпорального анализа . В качестве базы данных временных рядов можно естественно проанализировать, как графы развиваются с течением времени.
  • Событийное моделирование — моделирует графы в виде последовательностей событий взаимоотношений, согласуя их с мощными возможностями обработки событий.
  • Простая интеграция KQL — операторы Graph работают вместе со всеми существующими возможностями KQL с полной поддержкой IntelliSense.

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

Подход к созданию временных графов

Временные графы создаются динамически с помощью make-graph оператора. Эти графы существуют в памяти во время выполнения запроса и автоматически удаляются при завершении запроса.

Основные характеристики

  • Динамическое создание — построено из табличных данных с помощью запросов KQL со всей структурой, размещенной в памяти
  • Немедленная доступность — нет требований к предварительной обработке или настройке
  • Ограничения памяти . Размер графа ограничен доступной памятью на узлах кластера
  • Факторы производительности . Топология графа и размеры свойств определяют требования к памяти

Этот подход является оптимальным для небольших и средних наборов данных, где требуется немедленный анализ.

Варианты использования временных графов

Временные графы excel в нескольких сценариях:

  • Нерегламентированный анализ — однократное исследование, требующее быстрого анализа шаблонов
  • Анализ аналитических данных — тестирование гипотез и проверка аналитических подходов
  • Небольшие и средние наборы данных — анализ последних событий или подмножества данных в режиме реального времени
  • Быстрое создание прототипов — тестирование шаблонов графов перед реализацией постоянных моделей
  • Динамический анализ данных — часто изменяющиеся данные, которые не оправдывают постоянное хранение

Распространенные приложения включают мониторинг Интернета вещей в режиме реального времени, анализ связей цепочки поставок, сопоставление пути клиента и любой сценарий, требующий немедленной визуализации связей сущностей.

Подход к созданию сохраняемого графа

Постоянные графы используют модели графов и моментальные снимки графов для обеспечения надежных решений для крупномасштабных сложных графов, представляющих организационные сети, цепочки поставок, экосистемы Интернета вещей, цифровые двойники и другие взаимосвязанные домены данных.

Ключевые характеристики постоянных графов

  • Постоянное хранилище — модели и моментальные снимки графа хранятся в метаданных базы данных для обеспечения устойчивости и согласованности.
  • Масштабируемость . Обработка графов, превышающих ограничения памяти, с помощью возможностей анализа масштаба предприятия
  • Повторное использование . Несколько пользователей могут запрашивать одну и ту же структуру без перестроения, обеспечивая совместный анализ
  • Оптимизация производительности. Устранение задержки построения графа для повторяющихся запросов
  • Управление версиями – Несколько моментальных снимков представляют графы в разных точках времени для исторического анализа
  • Поддержка схемы — структурированные определения для различных типов сущностей и их свойств

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

Варианты использования постоянных графов

Постоянные графы важны для следующих компонентов:

  • Корпоративная аналитика — непрерывный мониторинг рабочих процессов в сложных сетях
  • Крупномасштабный анализ данных — графы корпоративного масштаба с миллионами узлов и связей
  • Анализ совместной работы — несколько команд, работающих с общими структурами графов
  • Производственные рабочие процессы — автоматизированные системы, требующие постоянного доступа к графу
  • Историческое сравнение — анализ на основе времени эволюции графа и изменений
Пример: постоянный граф цифровых двойников

График, показывающий пример фабрики цифровых двойников с связями устройств и зависимостями оборудования.

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

Пример: постоянный граф Интернета вещей и цифрового двойника

Приложения Интернета вещей и цифровых двойников значительно выигрывают от постоянных графов при моделировании сложных связей между физическими устройствами и их виртуальными представлениями в распределенных системах. Эти графы позволяют организациям:

  • Создание комплексных моделей развертываний Интернета вещей и подключенных ресурсов
  • Поддержка мониторинга в режиме реального времени, прогнозного обслуживания и оптимизации производительности
  • Анализ зависимостей оборудования и определение потенциальных точек сбоя
  • Оптимизация размещения датчиков с помощью физической и логической топологии
  • Отслеживание конфигураций устройств, связи и характеристик производительности с течением времени
  • Обнаружение аномалий шаблона связи и визуализация эволюции интеллектуальной среды
  • Имитация условий работы перед реализацией изменений физической инфраструктуры

Этот постоянный подход оказывается бесценным для управления сложными экосистемами Интернета вещей в масштабе.

Возможности работы с запросами к графам

После создания графа (через make-graph или из моментального снимка) можно использовать полный набор операторов графа KQL для комплексного анализа:

Основные операторы:

  • graph-match — включает сложные операции сопоставления шаблонов и обхода для определения сложных последовательностей связей.
  • graph-shortest-paths — находит оптимальные пути между сущностями, помогая определять приоритеты подключений и выявлять критические связи.
  • graph-to-table — преобразует результаты анализа графа в табличный формат для интеграции с существующими системами

Расширенные возможности анализа:

  • Анализ на основе времени . Изучение того, как связи и шаблоны развиваются с течением времени
  • Геопространственная интеграция — для объединения данных графов с аналитикой на основе местоположения для анализа географических закономерностей
  • Интеграция машинного обучения — применение алгоритмов для кластеризации сущностей, классификации шаблонов и обнаружения аномалий

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

Выбор правильного подхода

Следующее дерево принятия решений помогает выбрать наиболее подходящий подход к созданию графа на основе конкретных требований и ограничений.

Дерево принятия решений: временные и постоянные графы

Блок-схема, показывающая дерево решений для определения, когда использовать постоянные или временные графы.

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

Выберите временные графы для:

  • Размер графа менее 10 миллионов узлов и ребер (для оптимальной производительности)
  • Анализ отдельных пользователей или небольших групп с минимальными требованиями к совместной работе
  • Однократные или исследовательские исследования , в которых необходимы немедленные результаты
  • Анализ данных в режиме реального времени , требующий текущей информации о состоянии
  • Быстрое создание прототипов и тестирование шаблонов графов и логики запросов

Хотя временные графы могут обрабатывать большие наборы данных, время выполнения запроса увеличивается по мере восстановления графа для каждого запроса. Учитывайте этот компромисс производительности при работе с большими наборами данных.

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

Выберите постоянные графы для:

  • Размер графа превышает 10 миллионов узлов и ребер, где распределенное хранилище полезно
  • Несколько команд, которым требуется общий доступ для совместной работы
  • Повторяющийся анализ стабильных наборов данных , в которых задержка строительства влияет на производительность
  • Интеграция рабочего процесса , требующая согласованного, надежного доступа к графам
  • Требования для исторического сравнения для отслеживания изменений с течением времени
  • Ограничения емкости памяти, влияющие на производительность запросов
  • Рабочие процессы совместного расследования между командами и часовыми поясами

Постоянные графы важны при работе с данными корпоративного масштаба или при ограничении памяти на производительность.

Вопросы, связанные с производительностью

Использование памяти

  • Временные графы — ограниченные памятью одного узла кластера, что ограничивает использование наборов данных, которые умещаются в пределах доступной ОЗУ.
  • Постоянные графы. Использование распределенных хранилищ и оптимизированных шаблонов доступа для данных корпоративного масштаба

Задержка запроса

  • Временные графы - Включение времени построения в каждом запросе, с задержками для больших наборов данных или внешних источников данных.
  • Постоянные графы – устранение задержки строительства с помощью предварительно созданных моментальных снимков, позволяющих быстро провести анализ

Зависимости внешних источников данных, такие как межкластовые запросы или внешние таблицы в SQL и CosmosDB, могут значительно повлиять на временное время построения графа, так как каждый запрос должен ожидать внешних ответов.

Свежесть данных

  • Временные графы — всегда отражает текущее состояние данных, идеально подходит для анализа в режиме реального времени.
  • Постоянные графы — отражают данные во время создания моментального снимка, обеспечивают согласованность для совместного анализа, однако требуют периодического обновления.

Интеграция с экосистемой KQL

Семантика графа легко интегрируется с возможностями KQL, охватывающими более широкий спектр.

  • Анализ временных рядов — отслеживание эволюции связей с течением времени
  • Геопространственные функции — анализ шаблонов на основе расположения и географических аномалий
  • Операторы машинного обучения — обнаружение шаблонов, классификация поведения и определение аномалий
  • Скалярные и табличные операторы . Включение сложных преобразований, агрегирования и обогащения данных

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