为什么需要选用NoSQL?

网友投稿 688 2023-04-27

为什么需要选用NoSQL?

为什么需要选用NoSQL?

关系型数据库已经成为计算机文化的一部分,因其很多优点:

获取持久化数据

可以将数据持久化到磁盘,并且很容易访问到其中一小块数据。

并发

关系型数据库中有“事务”的概念,有效保障了多个程序访问同一份数据时的一致性,事务的ACID(原子性、一致性、隔离性、持久性)特性相信大家都了熟于心了。

集成

不同开发团队,不同平台,不同语言的应用程序可以共享同一份数据

标准的关系模型

之所以能够很方便地达到上述目的,是因为提供了近乎标准的、统一的关系模型

但是两个原因使得关系型数据库显得力不从心:

阻抗失谐

内存中的数据结构和关系模型相差甚远,这就是所谓的“阻抗失谐(impedance mismatch)”。像“嵌套记录”、“列表”等内存结构需要先转换为“关系”和“元组”才能进行存储。

蜂拥而来的集群

随着网络规模急剧增加,硬件计算资源“横向拓展”已经成为必然,集群已经成为趋势,然而关系型数据库并不是设计给集群用的,要么采用“共享磁盘子系统”来支撑集群上的文件系统(磁盘会成为瓶颈),要么按照逻辑对数据库进行分片,这样虽然能够将负载分散到多个服务器,但是应用程序必须控制所有分片,而且事务、一致性等无法跨越分片进行。

至此,NoSQL诞生。

为集群而生

基本上可以认为NoSQL是为集群而生的(少数的如图数据库不是这样),当待处理的数据量很大,或者以较快速度增长,同时对数据访问效率要求很高,考虑NoSQL。

阻抗失谐

记住在集群上处理“大数据”并不是NoSQL***的原因,阻抗失谐也是另一大关键因素,NoSQL数据库中没有传统关系型数据库中的“模式”的概念,无需事先定义好数据存储模型,可以随意添加字段,非常适合于处理不规则数据和自定义字段,当希望以更加方便友好的数据交互方式来提高应用程序开发效率时,考虑NoSQL。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用PowerDesigner 15对现有数据库进行反向工程
下一篇:SQL 执行进展优化方法总结
相关文章