非关系型数据库 NoSQL 的特性解析
Posted 研发云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非关系型数据库 NoSQL 的特性解析相关的知识,希望对你有一定的参考价值。
随着时代的发展
互联网业务对数据库的要求越来越高
由于关系型数据库的数据建模相对简单
而通用的SQL(结构化的查询语言)
又使得对其所进行的编程操作比较便捷
因此关系型数据库得到了业内人士的亲睐
大部分企业的核心数据
都被存储在各自的关系型数据库中
主要代表有 Oracle、mysql、DB2、
PostgreSQL 和 SQL Server 等等
关系型数据库是建立在关系模型基础上的数据库,它借助于集合代数等数学概念和方法来处理数据库中的数据,由多张能互相联接的二维行列表格组成,且主要遵循ACID规则。ACID 规则是指数据库管理系统写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability),所以关系型数据库的最大特点就是要满足以上四个特性(特别是一致性)。
关系型数据库可以用SQL语句
在一个或多个表之间方便的进行复杂数据查询
但其优秀的读写实时性和对事务一致性的维护
免不了会产生很大开销
并且这些功能对很多web应用来说并不实用
在基于web的结构当中,由于不支持分布式集群
关系型数据库也难以进行横向扩展
因此它并不适合数据量大(PB级别)
同时又有高并发读写需求的web应用
为了解决这一系列问题
非关系型数据库闪亮登场
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在不太影响性能的情况下,就可以方便地实现高可用的架构。比如Cassandra、HBase模型,通过复制模型也能实现高可用。
部署成本低
NoSQL数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。主流的NoSQL数据库有HBase、Redis、MongoDB、Couchbase 和LevelDB 等等几种。
往期精选:
●
●
●
长|按|二|维|码|关|注
获取更多产品介绍及业界动态
研·发·云
以上是关于非关系型数据库 NoSQL 的特性解析的主要内容,如果未能解决你的问题,请参考以下文章