【问题标题】:Graph database functionality图形数据库功能
【发布时间】:2011-07-23 22:29:53
【问题描述】:

最近我开始了解图形数据库。我了解到这些数据库的分析能力有限。我在这里读到了http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomedp2.php “使用这种类型的数据库平台,诸如跟踪使用模式和根据用户历史提供建议之类的事情可能很困难,最坏的情况是不可能的。”

1 我无法理解为什么此分析在此处受到限制?

2 这些数据库图如何用于存档,例如 facebook,它保存了数百万用户的所有帖子。如何在图数据库中做到这一点?

【问题讨论】:

  • 如果可以的话,我有一个后续问题:NoSQL 和图形数据库之间的关系是什么。后者是前者的子集吗?
  • 嗯,通常情况下,Graph Databases被认为是NoSQL数据库的一种,与Key/Value存储、列存储和文档数据库一起,见blogs.neotechnology.com/emil/2009/11/…

标签: database graph analytics archiving


【解决方案1】:

如果你应用一个严格的属性图模型,你会发现你有很好的“数据本地”操作,比如探索一个节点的周围数据,比如沿着关系深度 5 跳。然而,像“给我所有名称属性值为'Tom*'的节点”之类的全局操作需要在图形模型中对数据进行全面扫描。这在理论上是一个限制。在实践中(如在http://neo4j.org 中),图形引擎与 Lucene、BerkelyDB 或 Cassandra 等全局变量相结合,可以处理在某些分析场景中经常使用的这种数据全局方面。

因此,没有真正的限制,只是以不同的方式和不同的模式来处理数据的全局和本地操作。请参阅 http://wiki.neo4j.org/content/Domain_Modeling_Gallery 了解在图中建模域的一些示例,甚至是 GIS 示例,如 Open Street Map 图上的 https://github.com/neo4j/neo4j-spatial/raw/master/src/site/pics/one-street.png

对于像 Facebook 这样的海量数据存档,我只会存储上个月左右的状态更新,以便在图表中快速检索和推荐。其余的我会在 Cassandra 等解决方案中存档,并且只需在图表中提供存档的参考和关键指标,说明如何在需要时检索此“存档子图”。

【讨论】:

猜你喜欢
  • 2018-04-15
  • 2021-07-29
  • 2018-12-11
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2019-01-05
相关资源
最近更新 更多