【发布时间】:2011-05-16 18:57:24
【问题描述】:
我的系统有需求:
1)好友——需要计算用户之间的距离,最多N度,找到用户之间工作相关的共同项目。无法在mysql上很好地扩展它。所以我假设的选择是图形数据库?
2) 我有用户资料字段,大约 120 个字段,其中 80% 是 1:M 字段,所以在 mysql 中这意味着大约 96 个表来存储 1:M。如果我需要提取所有用户信息,那么我需要访问所有这些表。那么这里的解决方案是文档数据库、列数据库还是键值数据库?
目前我已经看到 OrientDB 可以充当文档和图形数据库。这可以用于上述需求还是有更好的数据库选项?
谢谢。
编辑: 个人资料的要求是用户字段:IT 是职业社交网络,因此有很多投资组合,例如 1:M 的字段。那么,如果有 120 个字段,其中 96 个是 1:M,那么如何最好地存储它呢?示例是您工作过的公司。你就读的学校。你读过的杂志。你写的文章等等。每一个都是 1:M 并且有 96 个这样的字段 = 96 个 Mysql 表。我无法合并,因为其中一些具有独特的元数据。我需要搜索字段并允许快速阅读以保持良好的用户体验。
对于图形:它是关于连接人们。对于启动,我只使用一项功能,即当您查看某人时,系统会说出您与该人分开多少度。其余的“社交”功能用于发布后。无论哪种方式,在 MySQL 中,我都无法做到这一点以进行扩展。如果我有 100 个朋友,并且每个人都是 100 个朋友,那么为了了解如何最好地在这些人周围找到我的方式,我假设一个图形数据库。
平台是核心数据库的codeignitor PHP / Mysql。
【问题讨论】: