NoSQL即Not-Only SQL是关系型数据库的良好补充
关系型数据库是基于关系模型提出来的数据库.那么什么是关系模型呢?以行和列的方式二维表的方式存储数据的模型就是关系型数据库.例如:mysql和oracle
随着互联网web网站的兴起,关系型数据库暴露的缺点越来越多,关系型数据库可以应付上万次的sql查询,但是对于上万次的sql写数据的请求,硬盘io就受不鸟了
下面小编来说说硬盘和内存条有什么区别(内存条又称内存)
硬盘:用来存储数据的计算机配件。是非易失性储存器,说得直白点,就是你关了机,里面的数据也不会丢。平时电脑里的C盘、D盘、E盘,都是指硬盘。其外观是一个方形的盒子,里面有盘片(像光盘一样),还有读写盘片的磁头。
内存条:由于硬盘速度比较慢,CPU如果运行程序的时候,所有数据都直接从硬盘中读写,会非常影响效率。所以CPU会将运行软件时要用的数据一次性从硬盘调用到运行速度很快的内存,然后再CPU再与内存进行数据交换。内存是易失性存储器,只要你断了电,内存中的数据就没有了。内存本身是一块集成电路板,上面有数颗用于存储数据的的芯片。由于这块电路板一般都做成长条形,所以叫“内存条”。
总结起来:
读数据 :cpu在读数据的时候回从硬盘把数据从一次性读写到内存到,只有cup就从内存上 读数据
大家思考一个问题?????如果内存内存用完了怎么办?是不是电脑就没办法用了呢?
现在主流的内存条,容量为8GB或16GB,虽然和以前相比已经很大了,但是在如今这个大数据的时代,难免遇到内存不够用这样尴尬的时候,操作系统是这样解决该问题的:系统可以在硬盘上开辟一块区域,将硬盘当做内存来用。虽然速度很慢,但总比没有要强。
写数据:cpu在写数据的时候回直接写到硬盘上,如果需要的数据非常多,可以先把数据写到硬盘缓存上,硬盘缓存起到读写硬盘时的缓冲作用
硬盘缓存是硬盘的电路板上一颗独立的小芯片(就跟内存一样)。比如CPU要往硬盘中写入大量的零碎的文件,CPU可以先将这一堆文件丢到速度较快的缓存里,然后CPU就能先做其他事了。硬盘再从缓存中将这一堆零碎的小文件写入到硬盘盘面上。硬盘缓存有助于提高硬盘的突发性读写、随机读写的性能。
好,在我们回到我们的正题,为什么会出现nosql数据库
举例:记录网站帖子的点击率是一个非常普遍的功能,那么你有没有想过,实现这样一个功能,对硬盘的io有怎样的要求呢?显而易见,很高
在举例:投票系统,当开始投票的那一刻,所有的人都开始请求写数据到硬盘,可以见硬盘的io又受不鸟了,因此nosql数据库就诞生了
常见的nosql数据库有:redis,mongoDB等