Redis学习日志——NoSQL概述

感谢狂神提供的学习资源!https://www.bilibili.com/video/BV1S54y1R7SB

为什么要用Nosql

大数据时代中,一般的数据库无法进行分析处理了!

1、单机Mysql时代

数据库瓶颈:

  1. 数据量如果太大,一个机器放不下!
  2. 数据的索引 300万就要建立索引(B+Tree),一个机器内存放不下
  3. 访问量(读写混合),一个服务器承受不住

2、Memcached(缓存)+Mysql+垂直拆分(读写分离)

网站80%的情况都在读,如果每次查询就要走数据库就十分麻烦!所以我们需要用缓存来提高效率!

发展过程:优化数据结构和索引——>文件缓存(IO)——>缓存(Memcached)
在这里插入图片描述

3、分库分表+水平拆分+Mysql集群

数据库本质:读+写

早些年MyISAM:表锁——在查询的过程中,将整张表都加锁,直到查询结束,十分影响效率

转战Innodb:行锁

慢慢开始用分库分表来解决写的压力

4、如今年代

数据量大且更新快,比如说:用户的个人信息,社交网络,地理位置,用户自己产生的数据,用户日志等等爆发式增长

导致Mysql等关系型数据库就不够用了!

所以这个时候,多采用Nosql(非关系型数据库)来处理这些情况

什么是NoSQL

NoSQL

Nosql = Not Only Sql

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

NoSQL泛指非关系型数据库,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代的产物,尤其是超大规模的高并发的社区,所以NoSQL在当今大数据环境下发展十分迅速,Redis是发展最快的,必须掌握!

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

典型的数据结构就是k-v键值对!

NoSQL特点

  1. 方便扩展(数据之间没有关系,很好扩展!)
  2. 大数据量高性能(Redis一秒可以读11万,写8万)
  3. 数据类型的多样性(不需要事先设计数据库!随取随用)
  4. 传统的RDBMS和NoSQL
传统的RDBMS
——结构化组织
——SQL
——数据和关系都存在单独的表中
——ACID原则
NoSQL
——不仅仅是数据
——没有固定的查询语言
——键值对存储,列存储,文档存储,图形数据库(拓扑图)
——最终一致性
——CAP定理和BASE(异地多活)
——高性能,高可用,高可扩

了解:3V+3高

大数据时代的3V:描述问题

  1. 海量Volume
  2. 多样Variety
  3. 实时Velocity

大数据时代的3高:主要是对程序的要求

  1. 高性能(保证性能)
  2. 高并发(用户量)
  3. 高可拓(随时可以水平拆分)

真正的实践:NoSQL+RDBMS一起使用才是最强的!

阿里巴巴结构演进

image-20200921203143639.png

#1、商品的基本信息
			名称、价格、商家信息
			关系型数据库就可以解决了!
			淘宝内部的Mysql不是我们使用的Mysql,底层已经改变!
#2、商品的描述、评论(文字比较多)
			文档型数据库	MongoDB
#3、图片
			分布式文件系统	FastDFS
			淘宝自己的TFS
			Google的GFS
			Hadoop的HDFS
			阿里云的OSS
#4、商品的关键字(搜索)
			搜索引擎	solr		elasticsearch
			淘宝的搜索引擎:ISerach			——创始人多隆
#5、商品热门的波段信息
			内存数据库
			Redis 	Tair	Memeached...
#6、商品的交易,外部的支付接口
			三方应用

要知道,一个简单的网页背后的技术一定不这么简单!

大型互联网应用问题:

  • 数据类型太多了
  • 数据源繁多,经常重构!
  • 数据要改造,大面积改造

于是,为了解决数据库的差异性和数据源的差异性,在总舵webapp和数据库之间加一层同意数据服务平台(UDSL)来管理。在架构的思想中,没有什么问题是加一层不能解决的,如果有那就加两层!

在这里插入图片描述

image-20200921205527200.png

NoSQL的四大分类

KV键值对

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

文档型数据库

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

列存储数据库

  • HBase
  • 分布式文件系统

图关系数据库

  • 不是存储图,放的是关系,比如:朋友圈社交网络,广告推荐!
  • Neo4j

image-20200921210728739.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值