Database design 为什么选择关系数据库而不是NoSQL数据库?

Database design 为什么选择关系数据库而不是NoSQL数据库?,database-design,Database Design,除某些情况外,大多数现代应用需要: 大尺度 自适应模型(db模式) 人们也可能会争论开发敏捷性,但我会说这还不到2。关于数据库 鉴于上述几点,根据我所读到的NoSQL数据库,它们比关系数据库更适合于这些问题 当从零开始新系统时,你应该考虑什么时候建立关系数据库?(不包括系统查询量非常大的情况——我认为RDB具有优势) (注:我刚刚开始学习NoSQL数据库,考虑到我在大学里只接触过关系数据库,我试图了解何时选择每一个数据库,以及我是否应该专注于NoSQL) 编辑:忘了写了,我不明白为什么ACID被

除某些情况外,大多数现代应用需要:

  • 大尺度
  • 自适应模型(db模式)
  • 人们也可能会争论开发敏捷性,但我会说这还不到2。关于数据库

    鉴于上述几点,根据我所读到的NoSQL数据库,它们比关系数据库更适合于这些问题

    当从零开始新系统时,你应该考虑什么时候建立关系数据库?(不包括系统查询量非常大的情况——我认为RDB具有优势)

    (注:我刚刚开始学习NoSQL数据库,考虑到我在大学里只接触过关系数据库,我试图了解何时选择每一个数据库,以及我是否应该专注于NoSQL)


    编辑:忘了写了,我不明白为什么ACID被认为是关系数据库的优势。任何数据库怎么可能没有原子性或一致性???NoSQL数据库不能确保这些吗?如果是这样的话,你怎么能依赖它们呢?

    < P>这是原因,你可以考虑NoSQL的关系数据库< /P>
  • 事务(例如:银行账户数据库,大多数操作都会以更新多个表为单位)
  • 数据完整性(检查约束、引用完整性约束等)
  • 零数据丢失恢复
  • 安全和合规
  • 你应该关注这两个方面。如果您的项目需要事务、安全性、零数据丢失等,那么最好使用传统的RDBMS。对于推荐引擎、认可引擎等项目,可伸缩性是NoSQL数据库面临的主要挑战


    简而言之,RDBMS数据库对于运行对业务至关重要的应用程序来说是有用的,NoSQL数据库对于运行与业务互补的应用程序是有用的。

    < P>这里是原因,您可以考虑NoSQL的关系数据库< /P>
  • 事务(例如:银行账户数据库,大多数操作都会以更新多个表为单位)
  • 数据完整性(检查约束、引用完整性约束等)
  • 零数据丢失恢复
  • 安全和合规
  • 你应该关注这两个方面。如果您的项目需要事务、安全性、零数据丢失等,那么最好使用传统的RDBMS。对于推荐引擎、认可引擎等项目,可伸缩性是NoSQL数据库面临的主要挑战


    简而言之,RDBMS数据库对于运行对业务至关重要的应用程序非常有用,而NoSQL数据库对于运行补充业务的应用程序非常有用。

    您应该回头再看看ACID,因为这是您问题的主要答案:当您需要ACID属性时,就是当您使用关系数据库时

    那些确实需要这样做的应用程序的特点通常是需要执行相互不冲突的离散交易——比如从您的银行帐户中提款或进行股票市场交易

    许多应用程序只使用最终的一致性就可以了,因为最终的一致性足以解决问题


    想想收到普通邮件和收到传票之间的区别——第一次(通常)最终的一致性就足够了,但第二次你需要一笔交易。

    你应该回去再看看ACID,因为这是你的问题的主要答案:当你需要酸性属性时,你使用关系数据库

    那些确实需要这样做的应用程序的特点通常是需要执行相互不冲突的离散交易——比如从您的银行帐户中提款或进行股票市场交易

    许多应用程序只使用最终的一致性就可以了,因为最终的一致性足以解决问题


    P:想想收到普通邮件和收到传票的区别,第一次(通常)最终的一致性就足够了,但是你需要第二次交易。

    < P>我认为适应性模型是关系型DBMS的一个好处。添加或修改列或表既简单又可靠,通过规范化,我可以将数据以任意组合方式连接起来,以回答我可能提出的任何问题。这种灵活性被称为访问路径独立性,它是关系数据库管理系统中最不受重视的优点之一。

    < P>我认为适应性模型是关系DBMS的一个好处。添加或修改列或表既简单又可靠,通过规范化,我可以将数据以任意组合方式连接起来,以回答我可能提出的任何问题。这种灵活性被称为访问路径独立性,它是关系型DBMS的一大不足之处。

    以NOSQL命名的数据管理技术是基于概念的(例如,基于图形和文件的访问),几十年前,为了支持关系型模型,这些概念大多被抛弃。这些前关系方法仍有其独特之处,近年来,人们对其中一些技术的兴趣再次达到顶峰。不过,让我们从正确的角度来看待这一点。对于绝大多数应用程序来说,关系数据库模型在灵活性、数据完整性以及从数据中查询和导出有用结果的能力方面优于其他模型。世界上一些最大的数据库是关系数据库或基于SQL的数据库。与您的问题所暗示的相反,关系型通常是规则,而不是例外,并且在可预见的未来可能会继续存在。

    以NOSQL命名的数据管理技术基于概念(例如,基于图形和文件的访问)几十年前,它们大多被抛弃,取而代之的是关系模型。那些前关系