一篇文章带你全面理解NoSQL

 

一·什么是NoSQL?

  1. NoSQL可以理解为Not Only Sql,范指非关系型数据库
  2. 相对于当时铺天盖地的关系型存储,这一概念无疑是一种全新的思维的注入
  3. 简单的说,NoSQL具有以下特点:灵活的可扩展性灵活的数据模型与云计算紧密融合

 
 

二·关系型数据库为何“过时”?

关系型数据库已经无法满足Web2.0的需求

  1. 无法满足海量数据的管理需求
  2. 无法满足数据高并发的需求
  3. 无法满足高可扩展性和高可用性的需求

One size fits all模式不再好用

关系模型企图既被用于数据分析,又被用于在线业务——前者强调高吞吐量,后者强调低延迟,鱼和熊掌不可兼得,企图“一套模型适合全部”是不可能的。
 
关系数据库引以为傲的完善事务机制和高效查询机制在Web2.0时代成为鸡肋

  1. Web2.0不要求严格的数据库事务
  2. Web2.0不要求严格的读写实时性
  3. Web2.0甚至不需要大量复杂的SQL查询

 
 

三·NoSQL VS 关系型数据库

NoSQL关系型数据库
超大规模数据无法支持大规模数据
灵活的数据模型死板的数据模型
较好支持Web2.0应用无法较好支持Web2.0应用
强大的横向扩展能力较差的扩展能力
缺乏数学理论基础完善的代数理论基础
查询性能低查询性能极高
不能实现事务支持事务ACID四性
语法不统一统一的SQL语法
技术不成熟,缺乏专业团队技术成熟,专业团队提供技术支持

🌟 关系型数据库和NoSQL各有优缺点,它们之间的关系是合作而非取代——在很长一段时间内都将如此

关系型数据的应用场景——银行等关键业务,需要保证事务强一致性

NoSQL数据库的应用场景——互联网企业的非关键业务,比如数据分析

混合架构——关系型数据库和NoSQL的使用现状
 
案例:亚马逊的电商应用
· “购物篮”这种临时的非关键信息,采用键值存储
· 订单信息非常重要,放在关系型数据库里
· 大量的历史订单信息,则适合放在MongoDB等文档数据库中

 
 

四·NoSQL四大类型

在这里插入图片描述
理解并比较几种常见的数据库

  1. MySQL:像一把菜刀,MySQL产生年代较早并已经成熟,虽然稍显过时,但它强大、高效,仍是现在使用最多的数据库
  2. MongoDB:像一个多功能小刀,MangoDB是新生事物,有着灵活的数据模型,以及异步提交、地理位置索引等五花十色的功能
  3. HBase:像一个仗势欺人的大象兵,HBase的强大主要依仗Hadoop的分布式环境,使用者需要养一头大象(Hadoop)
  4. Redis:像一个金箍棒,Redis是键值数据库最杰出的代表,它简单、高效,并因其伸缩性而可大可小

 
 
 

五·NoSQL三大基石

NoSQL三大基石:CAP、BASE、最终一致性。

CAP

CAP分别是指?

  • C(Consistency):一致性。即多个节点在同一时间具有相同的数据
  • A(Availability):可用性。不管对错,反正请求一定要有相应。
  • P(Tolerance of Network Partition):分区容忍性。分离的节点可以独立运行,即不局限在一台机器。

鱼和熊掌,不可兼得

在这里插入图片描述
不同产品的设计理念
在这里插入图片描述
BASE

提到NoSQL的BASE特性,就不得不说传统关系型数据库的事务ACID四性,我们可以加以对比进行学习 >_<

ACID含义通俗解释
AAtomicity 原子性要么全部成功,要么全部失败
CConsistency 一致性事务完成时,所有相关数据一致
IIsolation 隔离性并发事务相互隔离
DDurability 持久性事务完成后,这个影响是永久性的
BASE含义通俗解释
B ABasically Availble 基本可用分区出问题,整个系统仍然可用
SSoft state 软状态相对于硬状态的数据立即一致,软状态容忍数据的滞后
EEventual consistency 最终一致性下面解释

最终一致性

一致性分为强一致性弱一致性

  • 强一致性:一次更新后,可以保证后续访问到的都是最新的数据
  • 弱一致性:一次更新后,不能保证后续访问到的都是最新的数据

最终一致性是弱一致性的特例——此时“不能保证”,但过一段时间,则“可以保证”从“最终结果”看一致性得到了保证

 
 
 

五·再从NoSQL到NewSQL

 
大数据时代的理念变革
 
在这里插入图片描述
 
产品分布图

在这里插入图片描述

 
 

 
 

 
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值