Труды КНЦ вып.9 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ) вып. 9/2019(10)

случае пользователь должен сформулировать условия их установления в запросе, а программный компонент, отвечающий за его выполнение, вычислить такие связи между элементами данных. Эффективность работы хранилища с данными, обладающими большим количеством внутренних связей является на сегодняшний день очень важным фактором его выбора для непосредственного использования в решении задач анализа данных, требующих получения сложных фрагментов данных с различной структурой. В этой связи большое распространение на сегодняшний день получили графовые СУБД. Они относятся к типу так называемых нереляционных (NoSQL, Not only SQL) хранилищ и ориентированы на явное отражение всего множества связей между элементами данных. Среди известных реализаций графовых СУБД можно выделить Neo4J, AnzoGraph, Titan, JanusGraph, OpenLink Virtuoso, Oracle Spatial and Graph (дополнение к Oracle Database), OrientDB, а также облачные сервисы Amazon Neptune, Azure Cosmos DB. В качестве языков запросов к ним выступают Gremlin, SPARQL, Cypher, GraphQL. В данной статье рассматривается вопрос применения графовых СУБД для решения задач анализа данных, а также некоторые их особенности. 1. Модели данных графовых баз данных В основе графовых моделей данных лежит понятие графа, как совокупности множеств вершин и ребер: G = (V, Е), где V — множество вершин, а Е сѴ ХѴ - множество ребер. Заметим, что в моделях данных конкретных графовых СУБД могут присутствовать те или иные дополнения данного определения, например, возможность определения взвешенных и/или направленных ребер. Наибольшее распространение на сегодняшний день получила модель графа свойств или атрибутивного графа (Property graph model) (рис.1). Рис. 1. Пример графа свойств 138

RkJQdWJsaXNoZXIy MTUzNzYz