Краткий обзор свободно-распространяемых графовых СУБД
На сегодняшний день графовых СУБД стало настолько много, что аж глаза разбегаются. Они написаны на различных языках, предлагают различные языки запросов, некоторые не ограничиваются одной только графовой моделью. Давайте пройдёмся по наиболее популярным и известным, свободно-распространяемым из них. Сначала мы рассмотрим полноценные СУБД, а затем – встраиваемые.
Сначала полноценные СУБД в порядке числа звёзд на GitHub.
# | Name | Repository | Stars | Language | License | Last Commit | Created |
---|---|---|---|---|---|---|---|
1 | Cayley | cayleygraph/cayley | 13358 | Go | Apache License 2.0 | 2020-04-30 | 2014-06-05 |
2 | Dgraph | dgraph-io/dgraph | 13095 | Go | Other | 2020-05-05 | 2015-08-25 |
3 | ArangoDB | arangodb/arangodb | 9510 | C++ | Apache License 2.0 | 2020-05-05 | 2011-10-26 |
4 | Neo4j | neo4j/neo4j | 7683 | Java | 2020-05-04 | 2012-11-12 | |
5 | Titan | thinkaurelius/titan | 5035 | Java | Apache License 2.0 | 2015-12-03 | 2012-02-26 |
6 | OrientDB | orientechnologies/orientdb | 4131 | Java | Apache License 2.0 | 2020-05-05 | 2012-12-10 |
7 | JanusGraph | JanusGraph/janusgraph | 3288 | Java | Other | 2020-05-02 | 2016-12-26 |
8 | FlockDB | twitter-archive/flockdb | 3227 | Scala | Other | 2017-03-17 | 2010-04-12 |
9 | NebulaGraph | vesoft-inc/nebula | 2802 | C++ | Apache License 2.0 | 2020-04-30 | 2018-08-28 |
10 | Grakn | graknlabs/grakn | 2047 | Java | GNU Affero General Public License v3.0 | 2020-05-05 | 2016-07-12 |
11 | HugeGraph | hugegraph/hugegraph | 1175 | Java | Apache License 2.0 | 2020-04-24 | 2018-07-18 |
12 | AgensGraph | bitnine-oss/agensgraph | 942 | C | Other | 2020-01-25 | 2016-04-29 |
13 | Virtuoso | openlink/virtuoso-opensource | 628 | C | Other | 2020-01-20 | 2012-03-21 |
14 | TerminusDB | terminusdb/terminus-server | 504 | Prolog | GNU General Public License v3.0 | 2020-04-29 | 2019-07-23 |
15 | Blazegraph | blazegraph/database | 473 | Java | GNU General Public License v2.0 | 2019-03-19 | 2015-12-22 |
16 | VertexDB | stevedekorte/vertexdb | 288 | C | Other | 2018-01-21 | 2009-06-29 |
17 | HGraphDB | rayokota/hgraphdb | 201 | Java | Apache License 2.0 | 2020-05-05 | 2016-11-09 |
Cayley
- версия: 0.7.7
- в качестве языков запросов доступны JavaScript и MQL
- в качестве движков хранения данных использует другие СУБД
- сайт с документацией пуст, есть документация среди исходников на GitHub
- предлагает несколько вариантов для хранения данных, используя другие СУБД
Dgraph
- версия: 1.2.3 и 20.03.1
- язык запросов GraphQL
- лицензия: Apache 2.0 и собственная
ArangoDB
- версия: 3.6.3.1
- язык запросов AQL
- хорошая документация
- есть пакеты для многих операционных систем
- веб-интерфейс с графическим редактором
Neo4j
- версия: 3.5.16 и 4.0.3
- язык запросов Cypher
дополнительно поддерживается язык Gremlin(в версии 3 поддержка полностью удалена; потребуется Gremlin Server)- дополнительно поддерживается язык GraphQL
- дополнительно поддерживается язык SPARQL
- легко установить и легко запустить
- веб-интерфейс с графическим редактором
- краткий курс для ознакомления, встроенный в веб-интерфейс
- лицензия: GPLv3 (community) или AGPLv3 (enterprise)
Titan
- версия: 1.0.0
- поддерживается язык Gremlin как основное средство работы с базой данных
- в качестве движков хранения данных использует другие СУБД
- не обновляется с 2015 года
OrientDB
- версия: 3.0.31
- в качестве основного языка запросов используется расширенный SQL
JanusGraph
- версия: 0.5.2
- лицензия: Apache 2.0
FlockDB
- версия: 1.8.5
- не поддерживается, новые версии не выходят с 2012 года
- не обновляется с 2017 года
- требуется сборка из исходников
- лицензия: Apache 2.0
NebulaGraph
- версия: 1.0.0-RC4
Grakn
- версия: 1.7.1
HugeGraph
- версия: 0.10.4
AgensGraph
- версия: 2.1.2
- базируется на PostgreSQL
- в качестве языков запросов доступны SQL и Cypher
- требует сборки из исходных текстов
- лицензия: Apache 2.0
Virtuoso
- версия: 7.2.5.1
TerminusDB
- версия: 1.1.3
Blazegraph
- версия: 2.1.6
- поддержка RDF/SPARQL: есть
- поддержка Apache TinkerPop: есть
VertexDB
- требует сборки из исходных текстов
- нет выпусков на GitHub
- не обновляется с 2018 года
- лицензия: BSD
HGraphDB
- версия: 3.0.0
Теперь движки для встраивания.
# | Name | Repository | Stars | Language | License | Last Commit | Created |
---|---|---|---|---|---|---|---|
1 | GraphEngine | microsoft/GraphEngine | 1855 | C# | Other | 2019-11-13 | 2017-02-09 |
2 | Tinkerpop | apache/tinkerpop | 1097 | Java | Apache License 2.0 | 2020-04-29 | 2015-02-07 |
3 | RedisGraph | RedisGraph/RedisGraph | 1010 | C | Other | 2020-05-05 | 2017-03-09 |
4 | Morpheus | opencypher/morpheus | 270 | Scala | Apache License 2.0 | 2019-10-16 | 2016-08-02 |
5 | Bitsy | lambdazen/bitsy | 82 | Java | Apache License 2.0 | 2020-03-06 | 2017-03-16 |
GraphEngine
- не является СУБД, это движок для .Net и Visual Studio
- нет выпусков на GitHub
- лицензия: MIT
Tinkerpop
- версия: 3.4.6
- это скорее язык запросов к графовым СУБД, нежели движок
RedisGraph
- версия: 2.0.11
- является модулем для Redis
- требует сборки из исходных текстов
- лицензия: Redis Source Available License
Redis Graph (obsolete)
- http://redisgraph.io/
- https://github.com/swilly22/redis-graph
- 405 звёзд на GitHub
- написана на C
- является модулем для Redis
- требует сборки из исходных текстов
- нет выпусков на GitHub
- не видно активной разработки с июня 2018
- репозиторий заархивирован, автор рекомендует https://github.com/RedisGraph/RedisGraph
- лицензия: AGPL 3.0
Morpheus (Cypher for Apache Spark)
- https://github.com/opencypher/morpheus (ранее https://github.com/opencypher/cypher-for-apache-spark)
- версия: 0.4.2
- является дополнением к Apache Spark
Bitsy v3
- версия: 3.2.2
- встраиваемая СУБД
Bitsy v2
- https://bitbucket.org/lambdazen/bitsy/wiki/Home
- https://bitbucket.org/lambdazen/bitsy
- написана на Java
- встраиваемая СУБД
- не обновляется с 2016 года
- лицензия: Apache 2.0
Примечание
Этот пост базируется на соответствующем исследовании, проведённом в 2017 году и опубликованном в моём репозитории с исследовательскими материалами. Ссылка на оригинал:
Таблицы сгенерированы с использованием скриптов, которые доступны в том же репозитории: https://github.com/easimonenko/research-work/tree/master/scripts
(c) Симоненко Евгений, 2017-2020