Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта функция сейчас доступна в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения на уровне обслуживания и не рекомендуется для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.
Графовая база данных — это тип базы данных, представляющей сведения как узлы (сущности) и ребра (связи) вместо таблиц и строк. Эта структура упрощает изучение сложных подключений и шаблонов в данных.
Наиболее часто используемый тип базы данных графа реализует модель графа свойств с метками (LPG): сущности (узлы) и связи (ребра) могут иметь метки и свойства (пары "ключ-значение"). Эта гибкая модель позволяет создавать как схемы без жестко заданной структуры, так и схемы, управляемые схемой, позволяя выражать сложные связи. Поскольку связи хранятся явным образом в виде ребер, запросы проходят по связям, следуя ребрам вместо вычисления дорогостоящих объединений в процессе запроса.
Замечание
В примерах этой статьи используется набор данных графа социальной сети.
Основные понятия базы данных Graph
Графовая база данных упорядочивает данные в три основных блока.
- Узлы представляют такие сущности, как люди, продукты или места. Узлы могут иметь метки и свойства, описывающие их атрибуты. Например, узел может иметь такие свойства, как
Person,firstName,lastName, иage. -
Ребра представляют, как подключены сущности, например
FRIENDS_WITH,PURCHASEDилиLOCATED_IN. Ребра также могут содержать свойства и метки для отражения метаданных отношений. - Свойства связывают сведения с узлами и рёбрами (например, имя человека или дата создания ребра).
Принцип работы связей запроса
Запросы графа извлекают связанную информацию, переходя от начального узла к его соседям, затем к соседям соседей и так далее. Стоимость обхода зависит от количества краев, которые он касается (местный район), а не общего размера набора данных. Эта характеристика делает вопросы о путях, соединениях и шаблонах, таких как друзья друзей, кратчайшие пути или многократные зависимости — естественными и эффективными для выражения.
Базы данных Graph используют языки запросов на основе шаблонов, такие как язык запросов Graph (GQL), для описания этих обходов кратко. Та же международная рабочая группа, которая контролирует SQL (ISO/IEC 39075), стандартизирует GQL, чтобы графовые запросы соответствовали установленным стандартам базы данных.
Пример (сопоставление шаблонов с GQL):
MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100
Этот шаблон считывается следующим образом: начиная с узла типа 'Person', связанного с Annemarie, следуйте по рёбрам :knows к каждому узлу, связанному с друзьями, а затем следуйте по рёбрам :likes к связанным узлам :Comment. Верните 100 новых комментариев, упорядоченных по дате их создания.
Модель данных Graph и гибкость схемы
Графовые модели данных допускают необязательное использование схемы: вы можете работать с фиксированной схемой, если требуется строгое управление, или развивать модель по мере появления новых типов узлов, связей или свойств. Такой подход снижает потребность в дублировании данных и позволяет командам объединять данные из нескольких источников без сильного предварительного перепроектирования. Дополнительные сведения о модели данных, используемой в графе в Microsoft Fabric, см. в графах свойств с метками.
Распространенные варианты использования для баз данных графов
Базы данных на основе графов тесно связаны с областями, где ценность определяется связями, например:
- Социальные сети — моделировать отношения между людьми и их взаимодействием
- Графы знаний — подключение концепций, сущностей и фактов для семантического поиска и рассуждений
- Системы рекомендаций — анализируют взаимодействия пользователей с элементами для выработки персонализированных предложений.
- Сети мошенничества и риска — обнаружение подозрительных шаблонов в учетных записях, транзакциях и устройствах
- Топология сети и ИТ — сопоставление зависимостей между серверами, службами и компонентами инфраструктуры
- Анализ зависимости в цепочке поставок — отслеживание происхождения компонентов и их взаимосвязей между поставщиками
В этих сценариях вопросы меньше касаются отдельных записей, а больше связаны с тем, сколько сущностей вступают в связь и взаимодействуют через несколько переходов.
Когда следует рассмотреть базу данных графа
База данных графов — это хороший выбор, если отношения управляют ключевыми вопросами, на которые необходимо ответить. Выберите базу данных графа, когда:
- Ваши основные вопросы касаются путей, окрестностей и шаблонов в связанных данных.
- Количество переходов может изменяться или быть неизвестным заранее.
- Необходимо объединять и управлять связями между разрозненными наборами данных.
Если вы регулярно задаете такие вопросы, модель графа является естественным подходом.
Сравнение графовой базы данных в Microsoft Fabric с автономными графовыми базами данных
Представление ваших данных в виде графа и их хранение в отдельной автономной базе данных графов часто приводит к издержкам, связанным с ETL (извлечения, преобразования и загрузки) и управлением. В отличие от этого, графовая база данных в Microsoft Fabric работает прямо в OneLake, что сокращает или устраняет необходимость в отдельных конвейерах ETL и дублировании данных. Рассмотрим следующие компромиссы:
- Перемещение и дублирование данных. Автономные базы данных графов обычно требуют извлечения, преобразования и загрузки данных в отдельное хранилище, что повышает сложность и может привести к дублированию наборов данных. Graph работает с OneLake, чтобы можно было моделировать и запрашивать подключенные данные, не перемещая их.
- Операционные затраты: автономные стеки графов работают как отдельные кластеры или службы и часто несут расходы за простаивающую емкость. В графе рабочие нагрузки используют единицы объединенной емкости с автоматическим уменьшением мощности и централизованными метриками, что упрощает операции и может снизить затраты.
- Масштабируемость: Некоторые автономные базы данных графов зависят от масштабирования или кластеризации, специфичной для конкретного поставщика. Граф предназначен для крупномасштабных сетей и использует масштабируемое шардирование на нескольких рабочих узлах для эффективной обработки больших объемов данных.
- Инструменты и навыки. Для конкретных поставщиков систем графов могут потребоваться специализированные языки и отдельные платформы аналитики. Graph предоставляет унифицированное моделирование, запросы на основе стандартов (GQL), встроенные алгоритмы аналитики графов, интеграцию бизнес-аналитики и ИИ, а также средства для изучения кода с низким уровнем или отсутствием кода. Эти возможности позволяют более широкому набору пользователей работать с подключенными данными.
- Управление и безопасность. Для отдельных развертываний графов требуются независимые настройки управления и безопасности. Graph использует управление, трассировку и контроль доступа на основе ролей рабочего пространства (RBAC) через OneLake, чтобы соблюдались согласованность, аудит и разрешения соответствовали остальной части вашей среды Fabric.