Графовая база данных
Гра́фовая база данных — разновидность баз данных с реализацией сетевой модели в виде графа и его обобщений. Графовая СУБД — система управления графовыми базами данных.
Модель хранения информации в виде графов, графов со свойствами в узлах и гиперграфов сложилась в 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
Примечания
- http://www.dcc.uchile.cl/~cgutierr/papers/surveyGDB.pdf
- Robinson, Webber, Eifrem, 2013, pp. 5—8.
- Graphs in the database: SQL meets social networks Архивная копия от 2 мая 2012 на Wayback Machine
- Graph Databases and the Future of Large-Scale Knowledge Management
- Robinson, Webber, Eifrem, 2013, Chapter 3-4.
- DB-Engines Ranking of Graph DBMS
- 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.