首页 > 经验记录 > 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