为什么选择一个关系数据库在NoSQL一个? [英] Why choose an relational DB over a NoSQL one?

查看:109
本文介绍了为什么选择一个关系数据库在NoSQL一个?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

除了某些情况,大多数现代应用程序都需要:

Apart from certain cases, most modern applications need:


  1. 极限缩放

  2. 适应性模型(db schema)

还可以讨论开发敏捷性,但是我会说这是一个与数据库相关的二。

One could also argue about development agility, but I'll say that's under 2. in relation to a database.

根据上面提到的内容,根据我对NoSQL数据库的看法,他们比关系型数据库更适合那些问题。

Given the aforementioned points, according to what I've read about NoSQL databases, they are better suited to those problems than relational ones.

从头开始新系统时,您应该什么时候考虑关系数据库? (不包括系统非常查询的情况 - 我认为RDB有优势的情况)

When should you consider a relational database when starting a new system from scratch? (Excluding the case where the system is very query heavy - where I think that RDBs have the advantage)

(PS:我刚刚开始学习NoSQL DB,鉴于我只与大学的关系人员联系,我正在努力了解何时选择每一个人,如果我应该专注于NoSQl)

(PS: I've just started learning about NoSQL DBs, and given that I've only came in contact with relational ones at the university, I'm trying to understand when to choose each one, and if I should focus on NoSQl)

编辑:忘记写,我不明白为什么ACID被认为是关系数据库的优势。任何数据库如何没有原子性或一致性? NoSQL数据库不能保证吗?如果是这样,你可以依靠他们吗?

edit: Forgot to write, I don't understand why ACID is considered an advantage of a relational database. How can any database not have atomicity or consistency??? Do NoSQL databases not ensure those? And if so, how the heck can you rely on them?

推荐答案

这是原因,您可以通过NoSQL考虑关系数据库

Here are the reasons, you can consider Relational databases over NoSQL


  1. 事务(例如:用于银行帐户的数据库,大多数操作导致将多个表更新为单位

  2. 数据完整性(检查约束,引用完整性约束等)

  3. 零数据丢失恢复

  4. 安全性和合规

  1. Transactions (for eg: database for bank accounts, most of the operations result in updating multiple tables as unit)
  2. Data integrity (check constraints, referential integrity constraints etc)
  3. Zero data loss recovery
  4. Security and compliance

您应该关注这两者。如果您的项目需要事务,安全性,零数据丢失等,那么更好地使用传统的RDBMS。对于诸如推荐引擎的项目,支持引擎,可扩展性是您可以使用NoSQL数据库的主要挑战。

You should focus on both. If your project requires transactions, security, zero data loss etc then better to go with traditional RDBMS. For projects like recommendation engines, endorsement engines where scalability is the major challenge you can go with NoSQL databases.

简而言之,RDBMS数据库对于运行对于业务,NoSQL数据库对于运行与您的业务相辅相成的应用程序很有用。

In short, RDBMS databases are useful for running applications that are critical to the business, NoSQL databases are useful for running applications that complement your business.

这篇关于为什么选择一个关系数据库在NoSQL一个?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆