摘要:SQL与NOSQLSQL与NOSQL二者区别:SQL数据与NOSQL数据的区别其实还是比较大的,总结起来基本可以从以下几个方面进行对比分析:1、使用场景:SQL 是数字,它最适合明确的定义,精确规范的独立项目。典型的使用案例是在线商城和银行...
SQL与NOSQL
SQL与NOSQL二者区别:
SQL数据与NOSQL数据的区别其实还是比较大的,总结起来基本可以从以下几个方面进行对比分析:
1、使用场景:
- SQL 是数字,它最适合明确的定义,精确规范的独立项目。典型的使用案例是在线商城和银行系统; NoSQL 是模拟,它最适合无固定要求的组织数据。典型的使用案例是社交网络,客户管理和网络分析系统。
2.存储方式:
- SQL数据存在特定结构的表中,SQL通常以数据库表形式存储数据。举个例子,存个学生借书数据:
- NoSQL存储方式比较灵活,存储方式可以是JSON文档、哈希表或者其他方式。比如使用类JSON文件存储上表中熊大的借阅数据:
3、数据关联:
- SQL中如果需要增加外部关联数据的话,规范化做法是在原表中增加一个外键关联外部数据表。例如需要在借阅表中增加审核人信息,先建立一个审核人表:
- 再在原来的借阅人表中增加审核人外键,这样如果我们需要更新审核人个人信息的时候只需要更新审核人表而不需要对借阅人表做更新。
- 而在NoSQL中除了这种规范化的外部数据表做法以外,我们还能用如下的非规范化方式把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,更新审核人数据的时候将会比较麻烦。
4、数据耦合性 :
- SQL中不允许删除已经被使用的外部数据,例如审核人表中的"熊三"已经被分配给了借阅人熊大,那么在审核人表中将不允许删除熊三这条数据,以保证数据完整性;而NoSQL中则没有这种强耦合的概念,可以随时删除任何数据。
5.查询性能:
- 在相同水平的系统设计的前提下,因为NoSQL中省略了JOIN查询的消耗,故理论上性能上是优于SQL的。
领取阿里云 ¥1888元 限时红包
版权声明:本站所有文章皆是来自互联网,如内容侵权可以联系我们( 微信:bisheco )删除!