首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >社会网络图数据库与档案信息

社会网络图数据库与档案信息
EN

Stack Overflow用户
提问于 2015-02-25 20:55:16
回答 1查看 1K关注 0票数 3

我是新的图形数据库,有一个问题,可能是很容易回答给你们。

如果我决定在像应用程序这样的社交网络中使用图形数据库(例如Neo4j),我是否也会在该数据库中保存配置文件信息和帖子,还是需要第二个数据库(如MySQL )?

我发现的所有示例都只在图数据库中保存了几个属性(例如名称和关系)。所以我的问题。

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-25 21:06:14

您可以直接将该信息存储在图形数据库中。这不仅是可能的,而且是建议的,因为这些信息可能会影响您想要在数据库上运行的各种遍历查询。

在任何时候,您都可能希望为用户创建一个单独的层,该层可以进行大量交互(通过发布)。将这些信息放在图形数据库中是很方便的。

配置文件信息也是如此。也许您希望只对特定类型的配置文件(单人,等等)运行遍历。然后,您需要将这些信息放在图形数据库中。

我要说的是:除非您有特定的理由在图形数据库旁边使用MYSQL,否则您可能应该在图形数据库中做所有事情。

有些事情要记住:

  • 索引可能是棘手的,取决于您的需求。您通常需要考虑一下您的数据模型,而不是盲目地跳进去。
  • 注意您所选择的图表db所能处理的元素的最大数量。
  • 一些内容,如图像斑点等。可能不适合存储在数据库中。不过,我从未调查过这件事,所以我可能错了。

额外关注:

因此,我应该为每个配置文件创建一个节点,包含配置文件属性和与post节点的关系?

这有点棘手,答案是肯定的,但取决于用户发布的帖子数量,用户节点(顶点)可能会成为超级节点。“超级节点”是具有不成比例的高入射边缘数目的顶点。这可能导致性能问题。为了解决这个问题,您需要确保图db能够正确地处理这些实例;通常是通过实现以顶点为中心的索引。我已经有一段时间没有检查过了,但是上次我这样做的时候,Neo4j不支持这些。OrientDb和土卫六(和其他人)是这样做的。如果Neo4j现在有一些支持,有人可以纠正我。

这将取决于你决定如何遍历这个图,你认为你需要在遍历中扫描多少个外向的边等等。等等。通常,您需要通过确定要进行的查询来开始这个过程,然后对图形进行相应的建模。

Neo4j和OrientDb之间的限制有什么不同?

Neo4j的局限性似乎是从理论上定义的。从这里的额外评论来看,他们似乎计划在短期内增加它们。OrientDb和土卫六被认为是大得多的图表的数据库,因此目前它们的限制更高。在现实中,即使这些限制是相当遥远的,真正的问题是“你要打击它们吗”。我过去曾对此做出过肯定的回答,这也是我今天使用泰坦的原因。但Neo4j的局限性通常很高,足以满足大多数人的需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28729383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档