随着所有的炒作,似乎很难找到何时使用它的可靠信息。所以我提出了以下问题,如果这些问题提前是愚蠢的话,我很抱歉:
我假设没有?而且我觉得NoSQL只是为了快速访问的东西,可以从中丢失数据。但我还读到NoSQL应用程序具有内置冗余,以便我不会丢失数据?
如果以上两个例子都不好,你能给我一些我会使用NoSQL的特定商业用例吗?我看到了很多一般性的描述,但没有很多真实的例子。我能想到的唯一事情是用户到用户的消息传递和分析。
谢谢!
答案 0 :(得分:160)
这真的是一个“它取决于”有点问题。一些 一般 点:
你真的需要了解和理解各种类型的NoSQL商店是什么,以及它们如何提供可扩展性/数据安全性等。很难给出全面的答案,因为它们真的是不同的,以不同的方式解决问题。
以MongoDb为例,查看他们的Use Cases,看看他们认为MongoDb的“非常适合”和“不太适合”的用途。
答案 1 :(得分:9)
我认为Nosql至少在这些场景中“更适合”(欢迎更多补充)
只需添加更多节点即可轻松扩展。
查询大数据集
想象一下每天在Twitter上发布的大量推文。在RDMS中,可能存在具有数百万(或数十亿?)行的表,并且您不希望直接对这些表进行查询,甚至没有提及,大多数情况下,复杂查询也需要表连接。
磁盘I / O瓶颈
如果网站需要根据用户的实时信息将结果发送给不同的用户,我们可能每秒都在谈论数十或数十万个SQL读/写请求。那么磁盘i / o将是一个严重的瓶颈。