非关系型数据库 NoSQL 的特性解析

Posted 研发云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非关系型数据库 NoSQL 的特性解析相关的知识,希望对你有一定的参考价值。

随着时代的发展

互联网业务对数据库的要求越来越高

由于关系型数据库的数据建模相对简单

而通用的SQL(结构化的查询语言)

又使得对其所进行的编程操作比较便捷

因此关系型数据库得到了业内人士的亲睐

大部分企业的核心数据

都被存储在各自的关系型数据库中

主要代表有 Oracle、mysql、DB2、

PostgreSQL 和 SQL Server 等等

非关系型数据库 NoSQL 的特性解析

关系型数据库是建立在关系模型基础上的数据库,它借助于集合代数等数学概念和方法来处理数据库中的数据,由多张能互相联接的二维行列表格组成,且主要遵循ACID规则。ACID 规则是指数据库管理系统写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability),所以关系型数据库的最大特点就是要满足以上四个特性(特别是一致性)。

非关系型数据库 NoSQL 的特性解析

关系型数据库可以用SQL语句

在一个或多个表之间方便的进行复杂数据查询

但其优秀的读写实时性和对事务一致性的维护

免不了会产生很大开销

并且这些功能对很多web应用来说并不实用

在基于web的结构当中,由于不支持分布式集群

关系型数据库也难以进行横向扩展

因此它并不适合数据量大(PB级别)

同时又有高并发读写需求的web应用

为了解决这一系列问题

非关系型数据库闪亮登场

非关系型数据库 NoSQL 的特性解析

NoSQL(NoSQL = Not Only SQL,意即“不仅仅是SQL”)是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL可以被用于超大规模数据的存储(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。


由于 NoSQL的基本需求就是支持分布式存储,因此它不必遵循ACID规则,而是遵循 CAP 理论。CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)这三个需求,最多只能同时较好的满足两个,因此需要根据不同的应用场景做出偏向取舍。于是根据该理论,NoSQL 数据库被分成了满足 CA 原则、满足 CP 原则和满足 AP 原则这三大类。其数据模型相对灵活,可以有效处理非结构化/半结构化的大数据。

非关系型数据库 NoSQL 的特性解析

NoSQL 的主要优势

  • 易扩展

由于去掉了关系型数据库的关系型特性,NoSQL 的数据之间无关系,因此在架构层面上拥有了很强的扩展能力。


  • 高性能

同样由于去掉了关系型数据库的关系型特性。NoSQL 的结构简单,将数据存储于缓存之中,具有极高的并发读写性能(关系型数据库将数据存储在硬盘中,因此读写相对缓慢)。


  • 灵活的数据模型

NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式(而关系型数据库则只支持基础格式类型)


  • 高可用性

NoSQL在不太影响性能的情况下,就可以方便地实现高可用的架构。比如Cassandra、HBase模型,通过复制模型也能实现高可用。


  • 部署成本低

NoSQL数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。主流的NoSQL数据库有HBase、Redis、MongoDB、Couchbase 和LevelDB 等等几种。

往期精选:

● 

● 

● 

非关系型数据库 NoSQL 的特性解析

长|按|二|维|码|关|注

获取更多产品介绍及业界动态

非关系型数据库 NoSQL 的特性解析研发云微信公众号
移动Labs公众号

 研·发·云


以上是关于非关系型数据库 NoSQL 的特性解析的主要内容,如果未能解决你的问题,请参考以下文章

为什么用NoSQL(非关系型数据库)?

独家一文读懂非关系型数据库(NoSQL)

SQL与NoSQL(关系型与非关系型)数据库的区别

NoSQL究竟是哪里比SQL强?以四种类型的非关系型数据库为例!

非关系型数据库NoSQL

Redis介绍