Графовая база данных
Гра́фовая база данных — разновидность баз данных с реализацией сетевой модели в виде графа и его обобщений. Графовая СУБД — система управления графовыми базами данных.
Модель хранения информации в виде графов, графов со свойствами в узлах и гиперграфов сложилась в 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
- TerminusDB[англ.]
- Oracle Database[8][9]
Примечания
- ↑ 1 2 3 Архивированная копия . Дата обращения: 5 мая 2012. Архивировано 26 мая 2012 года.
- ↑ 1 2 3 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 . Дата обращения: 4 мая 2012. Архивировано 8 июня 2012 года.
- ↑ Robinson, Webber, Eifrem, 2013, Chapter 3-4.
- ↑ DB-Engines Ranking of Graph DBMS . Дата обращения: 18 апреля 2015. Архивировано 8 марта 2019 года.
- ↑ 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.
- ↑ Jayant Sharma, Marty Gubar. New! Discover connections with SQL Property Graphs in Oracle Autonomous Database (англ.). Oracle (2 мая 2024).
- ↑ Kannan, Prashant; Murray, Chuck; Annamalai, Melliyal; Schmid, Korbinian; Godfrind, Albert SQL Property Graphs (амер. англ.). Oracle Help Center. Дата обращения: 7 октября 2024.
Литература
- 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.