mysql - MySQL 和 NoSQL 数据库有什么区别?
问题描述
我在几次采访中被问到这个问题,我正在寻找关于我们如何为某个项目选择 MySQL 数据库和 NoSQL 数据库的答案。执行此操作时要关注哪些参数?任何人都可以用一个例子来解释吗?
解决方案
MySQL 是属于称为关系数据库的技术家族的产品名称。其他示例是 PostgreSQL 或 Microsoft Access。
使用关系数据库时,您的数据应该结构化并提前设计数据库模式,使用一种称为数据规范化的技术并定义表之间的关系。它是基于表的,这意味着数据被拆分到不同的表中,如果需要来自多个表的数据,则可以使用标准查询语言 (SQL) 通过引用键进行访问。关系数据库适用于需要符合 ACID 的事务数据。就像银行交易一样,交易应该完成或回滚。
NoSql 不是产品名称,它是对数据库类型的描述。Nosql 数据库不使用 SQL 来检索数据。一些 NoSql 数据库是 Mongodb 或 Couchdb,这些数据库是基于文档的,它们提供了更大的灵活性,因为您不必提前定义模式。使用 NoSql 处理大量数据也更容易,因为您可以更轻松地扩展数据库并使用“最终一致”的数据模型。例如,在社交媒体上,帖子被点赞或评论。该信息最终将被捕获并复制到所有数据库。
推荐阅读
- r - 使用每个小于一的值将两个数据框合并为一个,并应用于数据框列表
- java - System.out.print() 在 Scanner 对象之后执行,即使它是在 Maven 项目的上一行编码的
- html - 如何在 jinja 模板的 for 循环中增加两个变量?
- performance - vscode中vim扩展的滞后和缓慢问题
- ios - 在 iOS 上初始化 Spotify 时出现连接错误?
- .net - 处理当前类之外的事件
- python - 使用 Google Drive 的 API 备份文件夹
- variables - 通过 Google Analytics 跟踪 UTM 活动变量
- c++ - OpenGL反向移动
- azure-ad-b2c - 如何从 id_token_hint 中提取多个值到特定的声明中?