• 暂时停更一段时间!
  • 近期网站将陆续进行前端页面改造!
  • 招募网站编辑,联系站长!

浅谈非关系型数据库

文章目录[隐藏]

非关系型数据库

非关系型数据库是相对关系型数据库来讲的,又被称为 NoSQL 数据库,也可以叫作 Not Only SQL 数据库

相比传统的 SQL 关系型数据库,其最大的特点就是适合存储非结构化或半结构化的数据,适合存储大规模数据。

以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销 。

但是,其没有关系型数据库那种严格的数据模式 , 并不适合复杂的查询以及需要强事务管理的业务 。

常用的 NoSQL 数据库主要有以下几种

KV 数据库: 主要 以(key,value)键值对存储数据的数据库 。 以 Redis 、 SSDB 为代表 。

文档数据库: 总体形式上也是键值对的形式,但是值又可以有各种数据结构 :数组、键值对 、 字符串等 。 以 MongoDB 、 CouchDB 为代表 。

稀疏大数据库(列数据库): 一般是用来存储海量数据的 。 相对于行数据库,这种数据库是以列为单位在介质上存储数据的 。 以 HBase 、 Cassendra 为代表 。

CAP 理论

它的核心在于一个分布式系统不可能同时满足以下 3 点,最多能够较好地同时满足两个 。

Consistency : 一致性,所有节点在同一时间具有相同的数据。

Available : 可用性,每次请求都能在期望时间内获取正确的响应,但不保证获取的数据为最新数据,可以允许数据不一致。

Partition tolerance :分区容错性,系统中任意信息的丢失或失败不会影响系统的继续运作 。

根据 CAP 理论,可以将数据库分为如下 3 类 。

CA:传统关系型数据库的单点模式,满足数据的一致性和高可用性,但没有可扩展性 。

CP : MongoDB 、 HBase ,满足数据的一致性和分区性,通常性能不是特别高 。

AP:Cassendra ,具有较好的性能和可扩展性,但各节点之间的数据同步比较慢, 能保证数据的最终一致性。

此外,基于 CAP 理论,为了获得可扩展性和高可用性, BASE 原则提出了对 NoSQL 数据库的可用性及一致性的弱要求 。 如下:

1 ) Basically Available :基本可用,允许系统暂时不一致 。

2 ) Soft state :软状态/柔性事务,可以理解为“无连接”的,暂时允许一些不准确的地方和数据的变换 。

3) Eventualζonsistency : 最终一致性,当所有服务逻辑执行完成后,系统最后将回到一个一致的状态 。

可以看出,和 ACID 关注数据完整性和一致性相比, BASE 的首要目标是可用性 。 保证在短时间内,即使有不同步的风险,也要允许新数据能够被存储。


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:浅谈非关系型数据库
喜欢 (0)
[247507792@qq.com]
分享 (0)
多啦H梦
关于作者:
热爱开源,热爱分享,谢谢大家的资瓷!

邀请您免费 注册账号 登录 即可参与讨论!