文档和图形数据库选择

时间:2011-05-16 18:57:24

标签: sql database nosql

我对我的系统有需求:
1)朋友 - 需要计算用户之间的距离达到N度,找到用户之间的工作相关的常用项目。无法很好地扩展这个onmysql。所以我假设的选择是Graph数据库?

2)我有用户配置文件字段,大约120个字段,其中80%是1:M字段,所以在mysql中这意味着大约96个表来存储1:M。如果我需要提取所有用户信息,那么我需要到达所有这些表。那么这里的解决方案是文档数据库,colunm数据库还是键值数据库?

目前我见过OrientDB可以充当文档和图形数据库。这可以用于满足上述需求,还是有更好的数据库选项?

感谢。

编辑: 配置文件的需求是用户字段:IT是职业社交网络所以很多组合如1:M的字段。因此,如果有120个字段,其中96个为1:M如何最好地存储它?例如,您所在的公司。你在哪所学校学习。你读过的杂志。你写的文章等等。每个都是1:M,有96个字段,像这样= 96个Mysql表。我无法合并,因为其中一些具有独特的元数据。我需要搜索字段并允许快速阅读以保持良好的用户体验。

图形化:它是关于人们的联系。对于发射,我只使用一个功能,当你看到有人时,系统会说出多少度与你分开。其余的“社交”功能适用于发布后。在MySQL中,我无法做到这一点,足以扩展。如果我有100个朋友,每个人都是100个朋友,那么如何最好地找到这些人的方式,我假设一个图形数据库。

平台是用于核心数据库的codeignitor PHP / Mysql。

2 个答案:

答案 0 :(得分:1)

计算节点之间的距离听起来很像图数据库。 OrientDB看起来非常令人印象深刻,我个人玩过Neo4j,你可能会看一下。

要给出明确的答案,您必须提供更多的要求。

答案 1 :(得分:0)

对于RDF数据库 - AKA三重商店来说,这听起来很棒。如果您的数据是关于人的连接...为什么不用RDF中的FOAF词汇表对其进行建模。然后你可以使用众多三重商店之一。如果您需要可扩展性,我建议使用4store - 用C. 4store编写的分布式RDF数据库将在群集中分发您的数据,您将能够使用SPARQL

查询它

绝对是您的选择。