【问题标题】:Which nosql db fits? [closed]哪个nosql db适合? [关闭]
【发布时间】:2012-10-13 21:16:47
【问题描述】:

我正在寻找建立一种社交网络。现在这不会是 Facebook 的规模,但我觉得它可能会有大量的追随者。我想构建具有可扩展性的系统。它还需要能够处理大量数据和关系。我希望有人能给我一些关于使用什么数据库的方向。我读过很多文章,但它们通常至少有一年的历史,而且数据库变化很快,所以我不知道人们所说的是否仍然成立。我真的很喜欢 riak 数据库,因为它真的很容易扩展,而且我喜欢所有节点都可以读写的事实。我担心的一个问题是数据之间的关系。但是,我相信riak中的链接会解决这个问题。但是在使用链接时会降低性能。我只是希望有人能给我一些经验和数据库目前的方向。

【问题讨论】:

    标签: node.js nosql scaling riak


    【解决方案1】:

    关于该主题有几条评论:by thoughtworks(有些在 Fowler 的书中),有些在 Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparison。根据他们的说法,您需要“图形数据库”或“分布式对等存储”(此处列出了 Riak),或者,这会更好——它们的某种组合。如果性能是您主要关心的问题,我还建议您开始对高负载场景进行建模,看看会发生什么。

    【讨论】:

    • 感谢您的回复。我肯定会进行一些高负载测试。我只是想在走这条路之前缩小我的选择范围。喜欢把它降到 2 或 3。是的 riak 对我来说真的很有趣。你对关系的效率有什么意见吗?
    • @ngreenwood6 在我们开始讨论之前 - 您能否在您的问题中概述预期的数据模型?这会稍微具体化并将“大量数据和关系”问题缩小为更具体的问题。
    【解决方案2】:

    这个问题可能会引起太多争论。但都一样;听起来你应该远离简单的键值,比如 redis,而应该使用更多的对象存储来存储你拥有的丰富的甚至是关系的元数据;像 MongoDB。

    【讨论】:

    • 感谢您的回复。我读过 mongodb 有点难以扩展,最重要的是它不能很好地处理大量数据。要注意的另一件事是人际关系。我知道你可以将 mongodb 中的关系保留在单个对象中(可能通过 ids),但它们的空间有限(如果我没记错的话,现在是 16mb)所以在某些时候这可能是个问题。
    • 我没有消息来源,但我记得我们的运营部门。说 mongo 只能保存大约 100 万条记录或类似的东西。我希望我不要引发一场火焰战争。 Mongo 可以很好地处理关系,但你必须自己保持正直。 Redis 对于您需要的东西(键/值存储)来说太简单了。我会选择mysql或mongodb。不确定 couchdb。
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 2012-07-21
    • 2014-03-13
    • 2011-11-25
    • 2020-07-26
    • 2011-02-06
    • 1970-01-01
    相关资源
    最近更新 更多