1
14
是的,有时候RDBMS不是最好的解决方案,尽管有一些方法可以容纳用户定义的字段(参见XML数据类型、EAV设计模式或只是有备用的泛型列),有时候无模式数据库是一个不错的选择。 然而,在选择使用文档数据库之前,您需要确定您的需求,因为您将失去许多在关系模型中可能使用的功能 如。。。 如果您的rdbms数据库中有多个表,那么您需要研究mongodb为您提供的特性,以满足这些需求。 如果您需要以特定的方式查询数据,同样需要研究MongoDB为您提供了什么。 我不认为nosql是rdbms的替代品,而是一个稍微不同的工具,它带来了自己的优点和缺点,使它更适合一些项目。 (这两个数据库在某些情况下都可以使用。另外,如果您决定继续使用MongoDB,一旦您研究了外面的网站并有了更具体的问题,您可以访问Freenode IRC MongoDB频道) |
2
3
对于非关系系统和关系系统,还有很多其他条件我都听说过。与sql/no-sql相比,我更喜欢这个术语,因为我个人认为它更好地描述了这些差异,而且一些“no-sql”服务器有sql附加组件,所以无论如何……系统中需要哪种并发模式或事务隔离。rel数据库和非rel数据库之间所谓的区别之一是“始终一致”、“大部分一致”或“最终一致”。默认情况下,关系数据库通常属于“一致的大多数”类别,并且有一些工作,并且有很多锁定和竞争条件,;)可以是“一致的总是”,因此每个人总是在寻找给定数据块的最正确表示。我读到/听说的关于非rel数据库的大部分内容是,它们主要是“最终一致的”。这意味着我们的数据可能会有很多实例浮动,因此用户“a”可能会看到库存中有92个窗口小部件,而用户“b”可能会看到79个窗口小部件,在有人真正从仓库中提取数据之前,它们可能无法协调。另一个问题是数据的可变性,它需要多久更新一次?我发现特定的非rel数据库的更新开销更大,其中一些需要重新生成整个数据集以合并任何更新。 现在请注意,我认为非rel/nosql是非常好的工具,如果它们真的符合您的用例的话。我有好几个我正在调查的项目,我有。但在做决定时,你必须考虑所有的权衡,否则它只会变成更受简历驱动的发展。 |
3
2
我不认为您应该选择nosql数据存储来进行无模式设计。基于xml的rdbms中一直存在无模式设计,一些数据库具有良好的xml支持。处理数据库比处理nosql数据存储要容易得多。可伸缩性和大数据应该是选择nosql数据存储的主要驱动因素,否则acid和sql的折衷就很难切换到nosql。 |
4
1
引发这个问题的原因是,如果您有一个大型服务器场,并且需要管理数据的分发和负载平衡,那么使用RDBMS实现这些数据和负载平衡将更加困难,并且需要很高的IT技能来为您的解决方案设计、计划和部署(但性能仍然较低)。 但如果只有3或4台服务器的小项目。我认为你对此没有意见。nosql数据库通常被认为是大型服务器场而不是少数服务器 |
5
1
最重要的是要注意区分无sql和sql 这是: 当数据库以社交网络等巨大方式扩展时,no-sql非常有用 例如: 堆栈溢出:每个问题都有多个答案,而不是假想的没有问题的答案,因此没有sql可以确保每个问题都包含它的答案 因此,当需要得到某个问题的答案时,我们可以不加入就带来所有的答案。因为加入是相关数据库中最昂贵的查询 多谢 |
ZPeto · Couchbase实现语言 6 年前 |
cfitzarl · Cassandra-按ID分组和按日期排序 6 年前 |
websanya · MongoDB中对象数组内的多个对象数组 6 年前 |
timelfelt · 父属性上的Mongodb聚合筛选器查找 6 年前 |
Lord Djaz · 来自多个SQL表的NoSQL中的数据模型 6 年前 |