图数据库功能

发布于 2024-10-26 23:05:53 字数 399 浏览 8 评论 0原文

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

1 我无法理解为什么此分析仅限于此?

2 这些数据库图如何用于存档,例如 Facebook,它保存了数百万用户的所有帖子。如何在图数据库中完成此操作?

Recently I came to know about graph databases.I read that these databases have limited analytics. I read that here http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomedp2.php
"Things like tracking usage patterns and providing recommendations based on user histories may be difficult at best, and impossible at worst, with this type of database platform."

1 I am not able to understand why is this analytics is limited here?

2 How these database graph can be used for archiving for example facebook which saves all the posts by millions of users. How this can be done in graph database?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

记忆里有你的影子 2024-11-02 23:05:53

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

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

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

if you apply a strict Property Graph Model, you will find that you have great "data local" operations, like exploring the surrounding data of a node say, 5 hops deep along the relationships. However, global operations like "give me all nodes that have a name attribute of value 'Tom*'" require in a graph model a full scan of the data. This is in theory a limit. In practice (like in http://neo4j.org) the graph engine is combined with global indecies like Lucene, BerkelyDB or Cassandra, that can take care of this kind of data-global aspects that are often used in certain analytics scenarios.

So, there is no real limitation, just a different way and different patterns to deal with global and local operations of your data. See http://wiki.neo4j.org/content/Domain_Modeling_Gallery for some examples of modeling domains in graphs, or even GIS examples like https://github.com/neo4j/neo4j-spatial/raw/master/src/site/pics/one-street.png on the Open Street Map graph.

For archiving vast amounts of data like Facebook, I would only store say the last month or so of status updates for fast retrieval and recommendations in a graph. The rest I would archive in solutions like Cassandra and just have a reference and key metrics of the archive in the graph on how to retrieve this "archived subgraph" if needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文