MySQL 和 NoSQL 数据库有什么区别?

What is the difference between MySQL and NoSQL Database?

我在几次面试中都被问到过这个问题,我正在寻找我们如何为某个项目在MySQL数据库和NoSQL数据库之间进行选择[=14]的答案=].这样做时要关注哪些参数?谁能举例说明一下?

MySQL 是属于称为关系数据库的技术系列的产品名称。其他示例是 PostgreSQL 或 Microsoft Access。

使用关系数据库时,您的数据应该结构化并提前设计数据库模式,使用一种称为数据规范化的技术并定义 table 之间的关系。它是基于 table 的,这意味着数据被分成不同的 tables,如果需要来自多个 tables 的数据,则可以使用标准查询语言(SQL ).关系数据库适用于需要符合 ACID 的事务数据。就像银行交易一样,交易应该完成或回滚。

NoSql 不是产品名称,它是数据库类型的描述。 Nosql 数据库不使用 SQL 来检索数据。一些 Mongodb 或 Couchdb 的 NoSql 数据库是基于文档的,它们提供了更大的灵活性,因为您不必提前定义模式。对大量数据使用 NoSql 也更容易,因为您可以更轻松地扩展数据库并使用“最终一致”的数据模型。因此,例如在 post 被点赞或评论的社交媒体上。该信息最终将被捕获并复制到所有数据库。

SQL 数据库是垂直可扩展的,而 NoSQL 数据库是水平可扩展的。 SQL 个数据库是 table-based,而 NoSQL 个数据库是文档、key-value、图形或 wide-column 存储。 SQL 数据库更适合 multi-row 事务,而 NoSQL 更适合文档或 JSON.

等非结构化数据