【问题标题】:anybody tried neo4j vs titan - pros and cons [closed]任何人都尝试过neo4j vs titan - 利弊[关闭]
【发布时间】:2013-06-20 14:17:48
【问题描述】:

谁能提供或指出 Neo4j 和 Titan 之间的一个很好的比较? 我能看到的一件事是在规模方面——Titan 是横向扩展的,需要像 cassandra 这样的底层可扩展数据存储。 Neo4j 仅适用于 HA,并且有自己的嵌入式数据库。还有其他优点和缺点吗?任何特定的用例。 (Titan 目前是否在任何地方使用?)

我还有以下链接:http://architects.dzone.com/articles/16-graph-databases-compared,它提供了图形数据库的客观比较,但没有太多关于 Neo4j 和 Titan 之间的优缺点。

【问题讨论】:

标签: graph nosql neo4j relationships titan


【解决方案1】:

我们有一个社交图谱,其中一天我们添加了近 100 万个节点和两倍的边。我们从 neo4j 图形开始,因为是的,它非常快,因为它的存储在运行图形引擎的同一台机器上。但以下是我们想与您分享的关于 neo4j 的经验。

  1. 不适合实时查询。我们有 twitter 之类的社交结构。我们必须显示用户在其时间线上关注的所有用户的最新 20 项活动(及其相关活动)。 我们有一些用户关注超过 1000 个用户。我们为此编写的 gremlin 查询(如果您有兴趣,那么我们可以分享 gremlin 查询)确实产生了如此多的 GC,以至于具有 8 cpu 和 48 gb ram 的服务器曾经冻结,我们不得不重新启动服务器以使其再次联机.
  2. 观察到多次网络分区。
  3. graoh 数据库中没有非常需要的以顶点为中心的索引。

最终,我们对使用 gremlin 查询的服务器性能大幅提升,以至于我们不得不将数据库更改为 titan。

在 Titan 上,我们获得了合理的性能,而且扩展也非常容易,因为我们使用 cassandra 作为后端存储。但是请注意.. 在这里使用 gremlin 也不是一个好主意,因为 multiget 查询写起来非常难看,而且没有 multiget 它的查询会变得非常慢。

【讨论】:

  • 嗨。我真的很想知道更多关于你的设置。如果能写博客就好了。如果你喜欢在 Twitter 或 gmail 上私下交谈。
  • 为什么是 Gremlin 而不是 Cipher?这是在 Neo 1.9 还是 2 上?只是好奇。
  • 您好,我们使用它已经一年多了。绝对不是 2,不是 1.6 就是 1.7。具体我记不太清了。那时 cypher 还没有那么流行,它还处于萌芽状态。我现在认为,titan 相对于 neo4j 的主要优势是,它的扩展能力和提供多个顶点中心索引(VCI)的能力在我们的例子中变得非常重要,因为我们通常有非常多的子节点,而没有 VCI,它变得非常昏昏欲睡。
  • 同时,随着数据损坏的发生,titan 需要一段时间才能稳定下来。虽然我们曾经在 neo4j 上观察到数据损坏,但我们有企业支持,他们通过补丁修复了它。
  • @user2772346 所以你是说 Neo4J 不能扩展?有趣的是,用来描述使用 N4J 的全部原因的大词是它的扩展能力。
【解决方案2】:

很高兴看到您探索图形数据库。我将谈谈您问题的 Neo4j 部分:

现在,全球 2000 强企业中有 30 多家在生产环境中使用 Neo4j 来处理各种用例,其中许多令人惊讶,甚至对我们来说也是如此! (我们发明了属性图!)

部分客户列表如下: www.neotechnology.com/customers

Neo4j 的 24x7 生产已经有 10 年了,虽然从那时起产品当然有了很大的发展,但它建立在一个非常坚实的基础之上。

大多数转向图形数据库的公司(我所知道的 Neo4j 就是如此)正在这样做,因为 a) 他们的 RDBMS 无法处理其连接查询需求的范围和规模,以及/ 或 b) 将图形领域(社交、网络和数据中心管理、欺诈、投资组合、身份等)建模为图形而不是表格,从而带来巨大的便利性和速度。

您可以在这里找到一些客户演讲,这些演讲来自今年在全球主要城市举行的四次(即将五次)GraphConnect 会议:

http://watch.neo4j.org/

如果你在伦敦,最后一场将在下周举行: http://www.graphconnect.com

您将在下面找到 Neo4j 背后的一些技术的摘要,以及一些客户示例。直接回答您关于扩展的问题:Neo4j 具有独特的架构,旨在最大限度地提高查询响应时间和查询可预测性,通过允许水平横向扩展,每个实例都可以访问图形而无需跳过网络。 (需要更多的读取吞吐量。只需添加实例。)事实证明,这种方法适用于 95% 以上的图表,包括一些生产客户,他们在单个 Neo4j 集群中运行了超过一半的 Facebook 社交图表,支持“始终在线”的 24x7 网站。

www.neotechnology.com/neo4j-scales-for-the-enterprise/

世界上最大的邮政递送服务之一使用 Neo4j 完成所有实时包裹路由。铁路公司正在 Neo4j 上构建路由系统。一些世界上最大的客户正在将它们用于人力资源和数据治理、备用路径路由、网络和数据中心管理、实时欺诈检测、生物信息学等。

Neo4j 的 Cypher 查询语言是唯一专门为属性图构建的声明式查询语言。它吸取了我们 13 年历史的原生 Java API(这是蓝图的基础,其他一些图形数据库已经采用)中吸取的所有经验教训,并将它们转化为下一代语言。 Cypher 是学习图形和开发应用程序的好方法;如果您有特殊需求或重视“裸机”性能(即亚毫秒与个位数毫秒)性能高于便利性,那么总会有本机 Java API。 Neo4j 从头开始​​构建以支持图形,并具有用于存储图形的图形存储引擎;与最近添加到图数据库生态系统的一些新功能不同,这些功能在非图数据库之上构建为图库,并且受到一些固有限制。 (例如 FlockDB,因为它基于 MySQL,对于任何大于一跳的东西仍然会非常慢。)

如果您需要更具体的信息,请随时联系 Neo 团队。我们将非常乐意为您提供帮助! http://info.neotechnology.com/ContactUs.html

祝你好运!

【讨论】:

  • 谢谢菲利普!到目前为止,Neo4j 足以满足我的要求,因此我已经开始使用它。我也相信它应该能够很好地扩展并在其自身的意义上进行扩展。另外,我还看到 Neo4j 集群和备份对于小型初创公司(少于 3 名员工或收入 10 万美元)是免费的,这对我来说真的很棒。我也意识到 Neo4j 有更大的足迹和粉丝。我正在浏览 Titan,它似乎真的很适合超大图,所以我提出了这篇文章。我相信像……这样的大型组织。
  • ....facebook 和linkedin 具有适当的横向扩展架构势在必行。但正如我所说,我没有其他人那么大,几个月前我就开始研究 Neo4j,所以我不敢排除 Neo4j 在扩展方面的能力,我真的很喜欢在 Neo4j 上工作。
猜你喜欢
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-15
  • 2011-07-25
  • 2014-12-29
  • 1970-01-01
相关资源
最近更新 更多