ArangoDB
Компания:triAGENS GmbH
Язык:C/C++
Лицензия: Apache 2
Модель графа: Property Graph
Хранилище/основа: native C/C++
API:Ruby/JavaScript
Язык запросов:Graph Traversals via JavaScript, Gremlin
Консистентность: MVCC/ACID
Визуализация:
Масштабируемость:
Последняя версия:1.3.0 (2013)
AllegroGraph
Компания:Franz Inc.
Язык:C++
Лицензия: коммерческая
Модель графа: RDF, XML
Хранилище/основа:
API:Java, Lisp, WebServices / Rest
Язык запросов:
Консистентность:
Визуализация:
Масштабируемость:
Последняя версия:4.9 (2012?)
FlockDB
Компания:Twitter
Язык:Java
Лицензия: Apache 2
Модель графа: adjacency list of a directed graph
Хранилище/основа:
API:Java, Ruby via Thrift
Язык запросов:
Консистентность:
Визуализация:
Масштабируемость:
Последняя версия:1.8.15 (2012) but last commit at 04/2012
GraphBase
Компания:FactNexus Pty Ltd
Язык:Java
Лицензия: коммерческая
Модель графа: property-graph
Хранилище/основа:
API:
Язык запросов:
Консистентность:
Визуализация: GraphPad, BoundsPad, ...
Масштабируемость:
Последняя версия:
GraphPack
Компания:Amit Portnoy
Язык:Java
Лицензия: Apache 2
Модель графа: property-graph
Хранилище/основа: In-memory, JDO
API:Java
Язык запросов:PackCypher (Inspired by Cypher)
Консистентность:
Визуализация:
Масштабируемость: Completely decentralized (no central authority- infinite scale- limited functionality)
Последняя версия:Experimental (2012)
HyperGraphDB
Компания:kobrix.com
Язык:Java
Лицензия: LGPL
Модель графа: Object-oriented multi-relational labeled hypergraph
Хранилище/основа: custom
API:Java
Язык запросов:
Консистентность: MVCC/STM
Визуализация:
Масштабируемость:
Последняя версия:1.2 (2012)
InfoGrid
Компания:NetMesh Inc.
Язык:Java
Лицензия: AGPL, коммерческая
Модель графа: dynamically typed, object-oriented graph. multigraphs, semantic models
Хранилище/основа:
API:
Язык запросов:
Консистентность:
Визуализация:
Масштабируемость:
Последняя версия:2.9.5 (2011)
Neo4j
Компания:Neo Technology, Inc
Язык:Java
Лицензия: GPL, AGPL, коммерческая
Модель графа: property-graph
Хранилище/основа: native graph storage with native graph processing engine
API:Java, REST, JavaScript (Node.js), PHP, .NET, Django, Clojure
Язык запросов:Cypher query language, Native Java APIs, Traverser API, REST, Blueprints, Gremlin
Консистентность: ACID
Визуализация:
Масштабируемость: MySQL style master/slave replication
Последняя версия:1.8.2 (2013/02/27)
OrientDB
Компания:NuvolaBase Ltd
Язык:Java
Лицензия: Apache 2
Модель графа: multi property-graph
Хранилище/основа: custom on disk or in memory
API:Java, JS, .NET, PHP, REST, Python
Язык запросов:Traverser API, Blueprints, Rexster, Gremlin, Own SQL-like Query Language
Консистентность: ACID, MVCC
Визуализация: OrientDB Studio
Масштабируемость: Multi Master
Последняя версия:1.3 (2012)
Titan
Компания:thinkaurelius.com
Язык:Java
Лицензия: Apache 2
Модель графа: property-graph
Хранилище/основа: Cassandra, HBase, Berkeley DB
API:Java, Gremlin
Язык запросов:Blueprints, Rexster, Gremlin, SPARQL
Консистентность: ACID or Eventually Consistent
Визуализация:
Масштабируемость: Multi-master
Последняя версия:0.2 (2012)
DEX
Компания:Sparsity Technologies
Язык:Java, Core C++
Лицензия: коммерческая & свободная для изучения
Модель графа: Labeled and directed attributed multigraph
Хранилище/основа: bitmap based highly compressed native graph storage, native C++ query engine
API:Java, C++, .NET
Язык запросов:Blueprints, Java, C++, .NET native APIs
Консистентность: ACID, see http://sparsity-technologies.com/dex_releases
Визуализация:
Масштабируемость: Throughput scaling through Horizontal replication and High Availability
Последняя версия:4.7 (2012)
InifiniteGraph
Компания:Objectivity Inc.
Язык:Java, Core C++
Лицензия: коммерческая
Модель графа: Labeled and directed multi-property-graph
Хранилище/основа: Objectivity/DB
API:Java
Язык запросов:Java, Blueprints
Консистентность: ACID. There is also a parallel, loosely synchronized batch loader.
Визуализация: Graph browser for developers. Plugins to allow use of external libraries.
Масштабируемость: Distributed. The uderlying database has been used to store Petabytes of information for over a decade.
Последняя версия:3.0 (2012?)
Илья,
Посоветуйте базу выбираю между Neo4j, OrientDB и ArangoDB
Может быть Вы уже с какой-нибудь базой работали? Может есть личный опыт?
Пишу на Ruby, разные штуки для которых идеально подходят документо-ориентированная модель, но иногда требуются связи между документами или группами документов. И вот эту связь/зависимость приходится "велосипедить" — графо-документная модель как мне кажется более подходящая...
P.S.:
Больше всего по "плюшкам" симпатизирует OrientDB, но я никак не могу скурить их мануал 🙁
Максим, если выбирать между Neo4J и OrientDB, то мы лично для себя выбрали OrientDB. Причина проста: OrientDB весьма интересная база данных в плане всякого роде OOB наворотов. К примеру, весьма красиво делаются "временные ряды" и т.п. вещи. Neo4J все-таки чуть более низкоуровневый. Но и, конечно, не забывайте о лицензии. Нео для коммерческого использования требует отдельной лицензии...
Касательно ArangoDB: если пишите на Ruby, то можно посмотреть, но в зависимости от сложности проекта, есть подозрения что можно упереться возможности.
Итого: чисто субъективно рекомендую OrientDB, но, надо признаться, что там есть свои гнусные баги, которые достаточно долго не исправляют. Но в целом, это действительно весьма интересная БД и, надеюсь, с хорошим будущим:)
Илья, Спасибо за исчерпывающие рекомендации.
Буду разбираться в мануалах.