哪个社区版图数据库支持高可用集群并具有良好的在线查询性能?

Der*_*ang 6 graph-databases

我目前正在为电子商务公司构建知识图,它主要包括产品类别层次结构,属性和它们之间的关系.除了常见的关系查询,我们非常关注以下几点:

  1. 主从集群支持.此图形数据库将用于在线搜索查询处理,因此高可用性对我们至关重要.数据量不会像数百万个节点那么大,因此我们不需要可以跨多台机器跨越数据的分布式集群,而是我们可能需要同时读取多台机器,而且服务不会去即使其中一台机器处于脱机状态.

  2. 快速的在线查询性能.关系的推理可以离线完成,因此表现并不重要.但我们需要做很多在线查询,比如"查找属性P等于V值的节点",因此我们需要在线查询处理的良好性能.该数据库将是读取密集型的,并且在初始化后不会发生太大变化.

  3. 社区和文件.由于我们的团队是图形数据库领域的新手,因此我们期望用于部署和开发的用户友好文档以及用于解决问题的活动社区.

根据上述要求,我调查了一些候选人:

  1. Neo4j的.我们首先尝试过Neo4j,因为它是该领域最受欢迎的,实际上我非常喜欢它,尤其是Cypher查询语言.但我们即将放弃它,因为社区版不支持任何类型的集群,目前我们没有预算来支付企业版.
  2. OrientDB.OrientDB就像市场上第二个最受欢迎的东西,它似乎在其社区版本中支持集群.我使用"似乎"这个词,因为它的网站上没有明确说明.任何人都可以清除这个吗?此外,我发现了一篇关于OrientDB的非常负面的文章让我非常犹豫:http://orientdbleaks.blogspot.jp/2015/06/the-orientdb-issues-that-made-us-give-up.html

  3. 泰坦.Titan也很棒,但由于其最初的公司已经被收购,并且它的原始开发商正在开发不同的产品,其未来的开发和维护是有疑问的.

  4. ArangoDB.根据性能报告(https://www.arangodb.com/2015/10/benchmark-postgresql-mongodb-arangodb/),这个似乎非常快,但我不知道它的在线查询处理能力已经足够了,它对集群的支持对我来说也是未知的.

至于文档和社区,我真的不知道,因为这些是你开始做之后才会知道的事情.

总而言之,根据我的要求,我认为OrientDB和ArangoDB可能是我的候选人,但由于我上面提到的要点,我不知道选择哪一个.或者也许还有其他任何我缺席的优秀候选人?

谢谢.

Max*_*fer 6

Max在这里为ArangoDB工作.ArangoDB不仅可以对图形进行在线查询,而且由于其多模型特性,您可以将图形查询与文档查询(使用二级索引),键查找和连接混合使用.它有一个复杂的查询引擎,带有一个完全了解ArangoDB集群结构的优化器,可以跨所有实例优化和分发查询执行.

在集群中,分片,同步复制和自我修复都是全自动的,具有可配置的参数.在Apache Mesos或DC/OS上部署ArangoDB集群特别简单(两次点击),但与其他编排框架相比也相对简单.DC/OS上的ArangoDB还允许您通过图形用户界面或REST API调用进行向上和向下扩展,并自动替换失败的任务.

至于性能,我们所有的基准测试都表现出非常好的性能,刚刚发布的3.1版本甚至还有以顶点为中心的索引,这对于图形查询尤其重要.

我们会尽力提供大量文档,您可以在https://www.arangodb.com/documentation/找到这些文档.我们有一个用户手册,一个用于查询语言AQL的手册以及一个用于HTTP/REST API的手册.此外,我们还有教程,常见问题,标准任务的"Cookbook",我们尝试及时回答有关StackOverflow和github问题的问题.

所有这些都包含在Community Edition中,该版本随Apache 2.0开源许可证一起提供.

如果您有更多问题,请随时联系我们的团队或亲自与我联系.


Mic*_*zzi 5

OrientDB 社区版是一款免费的开源软件,由开发人员社区构建并不断改进。OrientDB 社区中禁用了水平扩展、容错、集群、分片和复制等功能。

\n\n

有关集群的更多信息,请查看 OrientDB 官方指南:http://orientdb.com/docs/last/Tutorial-Clusters.html

\n\n

希望能帮助到你。

\n\n

问候

\n