首页 > 经验记录 > 数据库 > NoSql概述

NoSql概述

妈耶看Redis看了3个小时视频,介绍了3小时NoSql。到Redis的安装了结果这个视频是在Linux下安装并操作的?

真是绝了,笔记还是放上来吧

 

 

单个数据库有其瓶颈所在,数据储存的瓶颈一般为:

  • 数据量的总大小 一个机器放不下时
  • 数据的索引(B+Tree)一个机器的内存放不下时
  • 访问量(IO)一个实例不能承受

 

随着数据量变大,一个机器扛不住了,就需要大量的使用缓存技术来缓解数据库的压力

本来Dao层直接捅进数据库查询,这个时候可以在dao层和数据库层之间插一层缓存,Dao先捅进缓存里,缓存再从数据库中拿数据

 

MySql的主从读写分离

数据库可以使用主从复制技术,一个库为master,剩下的几个是从者。在master被插入数据或数据被修改时,他的从者库也和master库保持更新的一致

而读写分离,就是读从者库,写就写master库,让数据库的性能提升

 

可是在读写分离的基础上,数据量的持续猛增导致master库的写压力出现瓶颈,

此时就可以分表分库+集群

 

 

为什么要使用NoSql?

随着各种网站的数据暴增,传统的关系型数据库已经不适合这个版本了(其实是要sql和NoSql一块用哈)。Nosql的性能更加的好

 

NoSql是什么?

NoSql(Not Only Sql)即为:不仅仅是SQL

泛指非关系型数据库

这些类型的数据存储不需要固定的模式,无须多余操作就可以横向扩展

 

关系型数据库核心理论(ACID):原子性、一致性、独立性、持久性

NoSql有另一套理论(CAP) Cnsistency(强一致性), Availability(可用性) ,Partition tolerance(分区容错性)

并且只能三选二,而分区容错性必须实现,所以只能在一致性和可用性之间权衡。

 

NoSql的特点:

 

易扩展

NoSql数据库种类繁多,但是一个共同点都是去掉关系数据库的关系型特性

数据之间无关联,这样就非常容易扩展,也无形之间,在架构的层面上带来了可扩展的能力。

 

大数据量高性能

NoSql具有非常高的读写性能,尤其在大数据量下,表现非常优秀。

得益于他的无关系性 ,数据库的结构简单。

一般的关系型数据库使用Query Cache(查询缓存),每次表的更新缓存就失效。是一种大粒度的Cache

而NqlSql的Cache是记录级的,是一种细粒度的Cache,所哟NoSql在这个层面上来说就要性能高很多了

 

多样灵活的数据模型

 

NoSql无需事先为要储存的数据建立字段,随时可以储存自定义的数据格式。而在关系数据库里增删字段是一件非常麻烦的事。

 

 

 

 


EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00