除了某些情况外,大多数现代应用程序需要:
人们也可以争论开发的敏捷性,但我要说,相对于数据库而言,这还不到2。
鉴于上述各点,根据我所读到的关于NoSQL数据库的内容,它们比关系型数据库更适合这些问题。
从零开始启动新系统时,什么时候应该考虑关系数据库?(不包括系统查询量很大的情况-我认为RDB具有优势)
(PS:我刚刚开始学习NoSQL数据库,考虑到我在大学里只接触过关系型数据库,我正在尝试理解何时选择每一个数据库,以及是否应该关注NoSQl)
编辑:忘了写,我不明白为什么ACID被认为是关系数据库的优势。任何数据库怎么可能不具有原子性或一致性?NoSQL数据库不能保证这一点吗?如果是的话,你怎么能依靠他们呢?
发布于 2015-12-04 09:46:33
以下是原因,您可以考虑一下NoSQL上的关系数据库
你应该把注意力集中在这两个方面。如果您的项目需要事务、安全性、零数据丢失等,那么最好使用传统的RDBMS。对于像推荐引擎这样的项目,在NoSQL数据库中,可伸缩性是最大的挑战。
简而言之,RDBMS数据库对于运行对业务至关重要的应用程序很有用,NoSQL数据库对于运行补充您的业务的应用程序非常有用。
发布于 2015-12-04 09:47:50
您应该再次回顾ACID,因为这是对您的问题的主要回答:当您需要ACID属性时,使用关系数据库。
那些确实需要这样做的应用程序的特点是需要执行不相互冲突的离散交易--比如从你的银行账户中提取资金或者进行股票市场交易。
许多应用程序都可以只使用最终的一致性,这样就足够在最后解决问题了。
想想收到普通邮件和收到传票之间的区别--对于第一个(通常)来说,最终的一致性就足够了,但是你需要第二个交易。
发布于 2015-12-04 13:00:02
NOSQL名称下的数据管理技术基于概念(例如,基于图形和文件的访问),这些概念在几十年前就被抛弃了,取而代之的是关系模型。这些关系前的方法仍然有他们的利基,其中一些技术的兴趣在最近几年再次达到顶峰。不过,让我们保持正确的态度。对于绝大多数应用程序,关系数据库模型在灵活性、数据完整性和从数据中查询和获得有用结果的能力方面优于其他模型。世界上一些最大的数据库是关系数据库或SQL -based。与您的问题所暗示的相反,关系通常是规则而不是例外,而且在可预见的将来可能会继续如此。
https://stackoverflow.com/questions/34084929
复制相似问题