62

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

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

4

2 回答 2

26

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

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

最终,我们对使用 gremlin 查询的服务器性能感到非常失望,以至于我们不得不将数据库更改为 Titan。

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

于 2014-06-07T18:33:42.240 回答
16

很高兴看到您探索图形数据库。我将谈谈您问题的 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

祝你好运!

于 2013-11-11T23:38:26.253 回答