Redis学习-nosql(redis背景

Redis学习-nosql(数据库发展历史以及基本概念


一、数据库的发展历史

1.单机mysql的年代
在这里插入图片描述

2.Memcached(缓存)+Mysql+垂直拆分(读写分离)
解决了读的问题
分成不同的数据库,读数据和取数据在不同的数据库进行长久以来会造成的问题:写数据很多,负担依旧很重-->分库分表

3.分库分表+水平拆分+mysql集群
在这里插入图片描述本质还是解决数据库的 【读写】 问题
(数据库自身的发展也做出过一些改变:
MyISAM:表锁,高并发就会出现严重的锁问题
如今->Innodb:采用行锁)
4.如今
技术爆炸,mysql等关系型数据库不够用了。数据量变多,数据类型也变多了。数据库的效率变低,所有需要有一种专门的数据库来处理这些问题。
由于传统的关系型数据库并不能满足现在的大量的数据需求,所有有了Nosql数据库

nosql数据库可以很好的处理【不同的数据类型】、【大量的数据】

一个基本的互联网项目所具备的

在这里插入图片描述

二、 NoSql

1.关系型与非关系型比较

sql:

  1. 关系型数据库
  2. 【结构化】
  • 存储的方式 :传统的表格 由行和列组成
    在这里插入图片描述
  1. 【关联的】
  • 数据之间是会有一些关系的(表和表之间会有外键之类的关系)
    在这里插入图片描述
  1. 查询方式:【sql查询】
  2. ACID【基本满足事务的特性】

nosql:

  1. 非关系型数据库
  2. 【非结构化】
  • 数据的存储:不是一个固定的格式,不需要过多的操作就可以横向扩展
    -键值类型(Redis)
    -文档类型(MongoDB)
    -列类型(HBase)
    -Graph类型(Neo4j)
    在这里插入图片描述
  1. 【没有强制的关联性】
  • 数据和数据之间可以没有任何关联(缺点:数据可能会有重复,比如A买了这个商品,B也买了,商品信息就会重复显示,关系型数据库商品相同只会显示一次)
    在这里插入图片描述
  1. 查询方式:【非sql】
    在这里插入图片描述
  2. BASE

nosql 泛指【非关系型】数据库
总结:
在这里插入图片描述

2. nomysql的特点

1.方便扩展(数据之间没有关系,很好扩展)
2.大数据量 高性能(redis一秒可以写8万次 写11万,nosql的缓存 )
3.数据类型是多样型的!(不需要事先设计数据库)
4.传统RDBMS和NoSQL的区别

传统的RDBMS
-结构化构图
-SQL
-数据和关系都存在单独的表中
-操作,数据定义语言
-基础事务多


NoSQL

-不仅仅是数据
-没有固定的查询语言
-键值对存储、列存储、文档存储、图形数据库(社交关系)
-最终一致性
-CAP定理和BASE(异地多活) -高性能、高可用、高可拓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值