Графические базы данных

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

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

Базы данных графов являются предлагаемым решением этой проблемы; отношения между объектами данных встроены в структуру модели данных.

Архитектура

Базы данных графов используют математическую теорию графов для хранения данных так, как они рассматриваются концептуально. Данные хранятся как два разных объекта; узлы и ребра.

УЗЛЫ

Эти объекты изображают экземпляры или объекты. Они могут быть помечены описательными **метками**, каждая из которых символизирует свою роль в данном домене. Они также содержат **свойства**; любое количество атрибутов, хранящихся в виде пар ключ-значение, придающих им описательное значение.

КРАЯ

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

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

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

ПРИМЕР

Возьмем этот пример простой социальной сети, реализованной с использованием графовой базы данных.

Данные:

- Пользователь 1: (узел)
— Имя: Адам Смит (свойство)
— Нравится: Базы данных графов (край)
— Пользователь 2: (узел)
— Имя: Джоди Смит ( свойство)
— Лайки: Базы данных графов (край)
— Друзья: Пользователь 3 (край)
— Пользователь 3: (узел)
— Имя: Венди Бейкер (собственность)
> — Друзья: Пользователь2 (край)
— Страница 1: (узел)
— Имя: Базы данных графов (свойство)

Визуальное представление будет выглядеть так:

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

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

MATCH (:User {name:{‘Adam Smith’}}) <-[:Likes]- (:Page) <-[:Likes]- 
 (:User) <-[:Friends]- (u:User) 
RETURN (u)

Преимущества/Ограничения

Оптимальное решение для базы данных сильно зависит от хранимых данных и типа вопросов, которые к ним задаются.

Преимущества

1. Производительность

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

2. Гибкость

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

Ограничения

1. Производительность

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

2. Новая технология

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

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

Области применения

Технология баз данных графов находит широкое применение практически во всех отраслях: от производства, розничной торговли, финансов до биологии и химии. Вот несколько примеров такого использования:

1. Рекомендованные двигатели

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

Ebay использовала технологию базы данных графов, чтобы лучше понимать разговорный контекст. Текущие системы рекомендаций изо всех сил пытаются предоставить контекстную информацию в рамках запроса на покупку. В качестве примера Р. Дж. Питтман, старший вице-президент и директор по продукту, использовал запрос: «Мы с женой собираемся в поход на озере Тахо на следующей неделе, нам нужна палатка». Хотя потребность в палатке, скорее всего, будет осознана, существует множество дополнительных факторов, которые могут повлиять на принятие решения, например, температура, размер палатки, тип местности. Ebay использует графические базы данных для хранения как продуктов, так и взаимодействий с покупателями, чтобы помочь задавать более точные вопросы в отношении потребностей клиентов. Когда алгоритм проходит по графу, он сверяет накопленные знания с лучшим соответствием продукта. Это обеспечивает быстрое принятие решений в режиме реального времени.

2. Обнаружение мошенничества

Социальные сети создали платформу, с которой люди могут свободно высказывать свое мнение и участвовать в важных дебатах. К сожалению, анонимность Интернета и огромный объем производимых данных позволили группам с гнусными намерениями использовать платформу для своих собственных целей, что привело к печально известному вмешательству российских твиттер-троллей в президентские выборы в США в 2016 году.

Чтобы помочь определить степень и механизм этой активности, новости NBC используют графовые модели базы данных для анализа взаимодействия между твитами, пользователями, хэштегами и ссылками. Алгоритм обнаружения сообщества нашел сети пользователей, которые часто взаимодействовали, с дальнейшим анализом, отделяющим влиятельных лиц от усилителей. Тролли использовали распространенные хэштеги и отвечали на популярные аккаунты, чтобы собрать подписчиков и завоевать влияние. Эта деятельность оставляет за собой след: активность троллей резко возрастает в рабочее время в России. В ходе дальнейшего расследования NBC News обнаружила, что непропорционально большое количество твитов поступает из веб-клиента Twitter, несмотря на то, что большинство обычных пользователей предпочитают мобильный клиент.

Вывод

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