sql数据库和nosql数据库的区别

本文探讨了SQL数据库在互联网应用中的局限性,包括数据横向扩展困难和性能消耗问题。对比介绍了NoSQL数据库的出现背景及其特点,如最终一致性、灵活的数据存储方式和非规范化数据存储,以及与SQL数据库在实时一致性、数据结构和事务支持方面的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql数据库虽然教程多,支持也很强大,但是随着互联网应用的出现,sql数据库遇到设计上的弊端,sql对表的定义使得数据横向扩展困难,而且sql数据库的很多特性也没有用武之地,例如及时存取不是必要的,也没有特别多的事物需求,这些特性都在消耗着sql数据库的性能

因此nosql数据库出现

sql数据库nosql数据库
实时一致性(任何时候写入的数据,接着进行读取,会得到结果 )最终一致性(写入的数据 最终可以被读取到,但是有一定的延迟 放弃了对事物的完整支持,例如:redis支持部分事物,mongodb不支持事物 无多表查询 没有表结构 )
数据存在特定结构的表中数据可以存储在JSON文档、哈希表等等
必须定义好表和字段结构后才能添加数据数据可以在任何时候任何地方添加,不需要先定义表
需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表除了这种规范化的外部数据表做法以外,我们还能用如下的非规范化方式把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,更新审核人数据的时候将会比较麻烦。 在这里插入图片描述
SQL中可以使用JOIN表链接方式将多个关系数据表中的数据用一条简单的查询语句查询出来暂未提供类似JOIN的查询方式对多个数据集中的数据做查询。所以大部分NoSQL使用非规范化的数据存储方式存储数据。
不允许删除已经被使用的外部数据,以保证数据完整性没有数据强耦合的概念,可以随时删除任何数据
有事物(保证一组逻辑单元要么都成功,要么都失败)没有事物(不能保证,数据集就是原子性的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值