redis——Nosql概述

目录

一 为什么要用nosql

1. 单机mysql的年代

2. memcached缓存(解决读的压力)+mysql+垂直拆分(读写分离)

3. 分库分表(解决写的压力)+水平拆分+mysql集群

4. 近代

二、什么是nosql

1. nosql特点

2. 传统RDBMS和Nosql的区别

传统的RDBMS

nosql

三、nosql的四大分类

KV键值对:

文档型数据库( bson格式和json一样)

列存储数据库

图关系数据库

四者对比


一 为什么要用nosql

为什么要用nosql

用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长

这时候我们就需要使用NoSQL数据库的,Nosql可以很好的处理以上的情况!

1. 单机mysql的年代

DAL——数据库访问层

数据量超过300w,就需要建立索引

 思考一下,这种情况下: 整个网站的瓶颈是什么?

1、数据量如果太大、一个机器放不下了!

2、数据的索引(B+Tree),一个机器内存也放不下.

3、访问量(读写混合) ,一个服务器承受不了~

2. memcached缓存(解决读的压力)+mysql+垂直拆分(读写分离)

发展过程:

  • 1.  优化数据结构和索引
  • 2.  使用文件缓存
  • 3.  使用memcached

读写分离

网站80%的情况都在读,每次都查询数据库的话就十分麻烦。如果希望减轻数据的压力,可以使用缓存保证效率

3. 分库分表(解决写的压力)+水平拆分+mysql集群

MylSAM : 表锁,十分影响效率!高并发下就会出现严重的锁问题

Innodb : 行锁

 

4. 近代

2010--2020十年之间, 世界已经发生了翻天覆地的变化; (定位,也是一种数据,音乐,热榜! )

MySQL等关系型数据库就不够用了! 数据量很多,变化很快

二、什么是nosql

NoSQL = Not Only SQL ( 不仅仅是SQL )

关系型数据库:表格,行, 列

泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,  NoSQL在当今大数据环境下发展的十分迅速

很多的数据类型用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式

1. nosql特点

解耦

1、方便扩展(数据之间没有关系,很好扩展! )

2、大数据量高性能( Redis  一秒写8万次,读取11万)

3、数据类型是多样型的(不需要事先设计数据库)

2. 传统RDBMS和Nosql的区别

传统的RDBMS

  • 结构化组织
  • SQL
  • 数据和关系都存在单独的表中
  • 操作操作,数据定义语言
  • 严格的一致性
  • 基础的事务

nosql

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

三、nosql的四大分类

KV键值对:

  • 新浪: Redis
  • 美团: Redis + Tair
  • 阿里、百度: Redis + memecache

文档型数据库( bson格式和json一样)

MongoDB ( -般必须要掌握)

  • MongoDB是一个基于分布式文件存储的数据库, C++编写,主要用来处理大量的文档!
  • MongoDB是一个介于关系型数据库和非关系型数据中中间的产品! MongoDB是非关系型数据库中功能最丰富,最像关系型数据库的

列存储数据库

  • HBase
  • 分布式文件系统

图关系数据库

他不是存图形, 存放的是关系,  比如:朋友圈社交网络, 广告推荐

 四者对比

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值