相关疑难解决方法(0)

用于大规模保持图的NoSQL解决方案

我迷上了使用Python和NetworkX来分析图形,因为我学到更多,我想使用越来越多的数据(猜测我正在变成一个数据迷:-).最终我认为我的NetworkX图形(存储为dict的dict)将超出我系统的内存.我知道我可能只是添加更多内存,但我想知道是否有办法将NetworkX与Hbase或类似解决方案集成?

我环顾四周,找不到任何东西,但我也找不到与允许简单的MySQL后端相关的任何东西.

这可能吗?是否存在允许连接到某种持久存储的任何东西?

谢谢!

更新:我记得在"社交网络分析初创公司"中看过这个主题,作者谈到了其他存储方法(包括hbase,s3等),但没有说明如何做到这一点或是否可行.

python graph-theory nosql networkx

28
推荐指数
2
解决办法
5773
查看次数

在Neo4J中存储多个图形

我有一个应用程序,它将关系信息存储在MySQL表中(contact_id,other_contact_id,strength,recorded_at).如果我需要做的就是显示联系人的关系,甚至生成两个联系人的共同联系人列表,这很好.

但现在我需要生成以下统计数据:'2011年1月强度为3或更高的双向连接总数是多少'或(假设每个联系人都是组的一部分)'哪个组的连接数最多?到其他团体等

我很快发现用于生成这些统计数据的SQL变得非常难以实现.

所以我写了一个脚本,对于任何给定的日期,它将在内存中生成一个图形.然后,我可以根据该图表运行我想要的任何统计数据.更容易理解,总的来说,性能更高 - 除了生成图形部分.

我的下一个想法是缓存这些图,这样我就可以在需要运行新的统计数据时调用它们(或生成后面的图形:例如,对于今天的图表,我采用昨天的图表并应用自昨天以来发生的任何更改).我尝试了memcached,它工作得很好,直到图形增长> 1 MB.

所以现在我正在考虑使用像Neo4J这样的图形数据库.

唯一的问题是,我没有一个图表.或者我这样做,但它随着时间的推移而变化,我需要能够以不同的参考时间查询它.

那么,我可以:

  • 在Neo4J中存储多个图形并分别与它们进行重新交互/交互?然后我会为每个日期创建和存储单独的社交图表.

要么

  • 为时间戳添加到每个边缘的有效值并适当地过滤图形:所以如果我想要一个"5月1日"的图形,我只会跟随在"5月1日"之前创建的两个noeds之间的最新边缘(如果所有边缘都是如此)是在5月1日之后创建的,然后这些节点将不会连接).

我是图形数据库的新手,所以任何帮助/指针/提示都将受到赞赏.

graph neo4j graph-databases

16
推荐指数
2
解决办法
8919
查看次数

如何在数据库中存储图形数据?

我是图表的新手,非常有趣.这个问题可能是noob one,但请提供一些好材料.

我正在尝试创建一个小型社交网络,其中每个用户都是一个节点,并且与他的朋友有无向连接.

它工作正常但现在我想将它存储在数据库中.

如何存储数据?如何存储节点的所有连接节点(指针).

它是更好地删除用户后的存储注销,当他在登录或登录应该在和退出shouldnot有节点上的任何影响,从数据库中读取吗?

我知道它的理论.任何参考都会非常有用.

database graph graph-databases

10
推荐指数
2
解决办法
9220
查看次数