敏捷数据科学 - SQL 与 NoSQL


本教程的全部重点是遵循敏捷方法,减少步骤并实现更有用的工具。要理解这一点,了解 SQL 和 NoSQL 数据库之间的区别非常重要。

大多数用户都了解SQL数据库,并且对MySQL、Oracle或其他SQL数据库有很好的了解。在过去的几年里,NoSQL 数据库被广泛采用来解决各种业务问题和项目需求。

差异 Sql Nosql

下表显示了 SQL 和 NoSQL 数据库之间的区别 -

SQL NoSQL
SQL数据库主要称为关系数据库管理系统(RDBMS)。 NoSQL数据库也称为面向文档的数据库。它是非关系型的、分布式的。
基于 SQL 的数据库包括具有行和列的表结构。表和其他模式结构的集合称为数据库。 NoSQL数据库以文档为主要结构,文档的包含称为集合。
SQL 数据库包括预定义的架构。 NoSQL 数据库拥有动态数据并包含非结构化数据。
SQL 数据库是垂直可扩展的。 NoSQL 数据库是水平可扩展的。
SQL数据库非常适合复杂的查询环境。 NoSQL 没有用于复杂查询开发的标准接口。
SQL 数据库不适用于分层数据存储。 NoSQL 数据库更适合分层数据存储。
SQL 数据库最适合指定应用程序中的繁重事务。 NoSQL 数据库在复杂事务应用程序的高负载方面仍然不被认为具有可比性。
SQL 数据库为其供应商提供了出色的支持。 NoSQL 数据库仍然依赖社区支持。只有少数专家可以进行大规模 NoSQL 部署的设置和部署。
SQL 数据库关注 ACID 属性——Atomics性、一致性、隔离性和持久性。 NoSQL 数据库关注 CAP 属性——一致性、可用性和分区容错性。
根据选择 SQL 数据库的供应商,SQL 数据库可以分为开源数据库和闭源数据库。 NoSQL 数据库根据存储类型进行分类。NoSQL 数据库默认是开源的。

为什么要使用 NoSQL 来实现敏捷?

通过上述对比可以看出,NoSQL文档数据库完全支持敏捷开发。它是无模式的,并且不完全专注于数据建模。相反,NoSQL 推迟了应用程序和服务,因此开发人员可以更好地了解如何对数据进行建模。NoSQL 将数据模型定义为应用程序模型。

比较节目

MongoDB安装

在本教程中,我们将更多地关注 MongoDB 的示例,因为它被认为是最好的“NoSQL 模式”。

MongoDB优先 蒙戈数据库第二 蒙古数据库第三 蒙古数据库第四 蒙戈数据库第五