Графовая база данных

Гра́фовая база данных — разновидность баз данных с реализацией сетевой модели в виде графа и его обобщений. Графовая СУБД — система управления графовыми базами данных.

Графовая база данных

Модель хранения информации в виде графов, графов со свойствами в узлах и гиперграфов сложилась в 1990—2000 годах[1], хотя использование графов в виде модели представления данных сложилось ещё с 1980-х годов[1]. Первая графовая СУБД Neo4j создана в 2007 году. По состоянию на начало 2020-х годов существуют десятки других графовых СУБД.

Графовую модель данных обычно рассматривают как обобщение RDF-модели или сетевой модели данных[1]. Основными элементами модели являются узлы и связи. В зависимости от реализации узлов и рёбер графовую модель данных разделяют на несколько подтипов.

В графовых СУБД, как правило, разделяют подсистему хранения (англ. underlying storage) и механизм обработки (англ. processing engine)[2].

Для аналитической работы с большими объёмами данных в глобальных графах применяются специализированные механизмы графовых вычислений (англ. graph compute engine). В отличие от графовых СУБД, ориентированных в основном на OLTP-приложения, в системах графовых вычислений используются подходы и методы оптимизации, свойственные OLAP. Существуют различные реализации механизмов для графовых вычислений, как резидентные (англ. in-memory), так и использующие энергонезависимые устройства хранения, как работающие на одном узле, так и распределённые (работающие на нескольких узлах одновременно)[2].

Графовые базы данных применяются для моделирования социальных графов (социальных сетей)[3], в биоинформатике, а также для семантической паутины[4]. Для задач с естественной графовой структурой данных графовые СУБД могут существенно превосходить реляционные по производительности, а также иметь преимущества в наглядности представления и простоте внесения изменений в схему базы данных[5].

Реализации

Некоторые известные графовые СУБД[6][7][2]:

  • AllegroGraph
  • ArangoDB (мультимодельная)
  • FlockDB
  • Giraph
  • HyperGraphDB (использует модель мультиграфа)
  • IndraDB
  • InfiniteGraph
  • InfoGrid
  • Neo4j (использует модель ориентированного графа)
  • Amazon Neptune
  • OrientDB (позиционируется как «мультимодельная СУБД»)
  • SparkSee, ранее DEX
  • Sqrrl
  • Titan
  • Datomic
  • JanusGraph
  • Blazegraph

Примечания

  1. http://www.dcc.uchile.cl/~cgutierr/papers/surveyGDB.pdf
  2. Robinson, Webber, Eifrem, 2013, pp. 5—8.
  3. Graphs in the database: SQL meets social networks Архивная копия от 2 мая 2012 на Wayback Machine
  4. Graph Databases and the Future of Large-Scale Knowledge Management
  5. Robinson, Webber, Eifrem, 2013, Chapter 3-4.
  6. DB-Engines Ranking of Graph DBMS
  7. Nick Bassiliades, Mirjana Ivanovic, Margita Kon-Popovska. New Trends in Database and Information Systems II: Selected papers of the 18th East European Conference on Advances in Databases and Information Systems and Associated Satellite Events, ADBIS 2014 Ohrid, Macedonia, September 7-10, 2014 Proceedings II. — Springer, 2014. — P. 4. — ISBN 978-3-319-10518-5.

Литература

  • Robinson, I. and Webber, J. and Eifrem, E. Graph Databases. — O’Reilly Media, 2013. — 178 p. — ISBN 978-1449356262.
  • Shashank Tiwari. Professional NoSQL. — John Wiley & Sons, 2011. — ISBN 978-1-118-16780-9.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.