为什么需要选用NoSQL?

数据库
关系型数据库已经成为计算机文化的一部分,因其很多优点。但阻抗失谐、蜂拥而来的集群两个原因使得关系型数据库显得力不从心,至此,NoSQL诞生。

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

获取持久化数据

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

并发

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

集成

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

标准的关系模型

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

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

 阻抗失谐

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

蜂拥而来的集群

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

至此,NoSQL诞生。

[[131933]]

  • 为集群而生

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

  • 阻抗失谐

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

责任编辑:Ophira 来源: jiq•钦's technical Blog
相关推荐

2021-02-18 15:36:13

PrometheusAlertmanageGrafana

2019-01-18 12:50:57

NoSQL数据库Oracle

2011-02-16 09:42:04

DevOps

2019-02-28 09:22:37

Nacos微服务DNS

2017-05-15 16:30:49

NoSQLMySQLOracle

2020-04-29 08:04:11

NoSQLMySQLSQL

2022-07-14 08:20:34

数据库NoSQL

2015-12-28 13:37:14

云通信

2022-06-28 14:54:26

加密货币数组货币安全

2011-09-20 15:51:42

NoSQL

2020-04-06 14:45:22

云计算边缘计算网络

2020-04-01 11:19:03

物联网LPWANIOT

2022-12-01 14:43:56

物联网智慧城市

2011-03-09 17:20:43

SSL VPNVPN

2023-09-05 09:49:03

2020-05-19 09:01:51

Overlay网络虚拟化集群

2018-09-14 18:00:29

无损网络

2021-02-08 08:34:55

存储列式 OLAP

2022-08-26 08:00:19

企业架构IT
点赞
收藏

51CTO技术栈公众号