我希望建立一种社交网络。现在这不会是Facebook的规模,但我觉得它可能会有很大的追随者。我想构建具有可伸缩性的系统。它还需要能够处理大量数据和关系。我希望有人可以给我一些使用db的方向。我读了很多文章,但它们通常至少有一年的历史,数据库正在快速变化,所以我不知道人们所说的话是否仍然适用。我非常喜欢riak数据库,因为它很容易扩展,我喜欢所有节点都可以读写的事实。我关心的一个问题是数据的关系。但是,我相信riak中的链接可以解决这个问题。但在使用链接时会降低性能。我只是希望有人可以给我一些经验和数据库当前方式的方向。
答案 0 :(得分:2)
有关该主题的几篇评论:by thoughtworks(以及福勒书中的一些评论),以及Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison中的一些评论。据他们说,你需要“图形数据库”或“分布式同行商店”(Riak在这里列出),或者,哪个更好 - 它们的某种组合。如果性能是您主要关注的问题,我还建议您开始对高负载方案进行建模,看看会发生什么。
答案 1 :(得分:1)
这个问题可能会引起太多争论。但都是一样的;听起来你应该远离简单的键值,比如说,redis,以及更多的东西,这些东西更像是你拥有的丰富的,甚至是关系的元数据的对象存储;像MongoDB。