为什么会出现NoSql数据库

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等

时间: 2024-10-20 01:46:45

为什么会出现NoSql数据库的相关文章

NoSQL数据库:数据的一致性

NoSQL数据库:数据的一致性 读取一致性 强一致性 在任何时间访问集群中任一结点,得到的数据结果一致: 用户一致性       对同一用户,访问集群期间得到的数据一致:        解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理:        这样会降低负载均衡器的性能: 最终一致性       集群中各结点间由于数据同步不及时造成暂时的数据不一致,但数据同步完成后,最终具有一致性: 更新一致性 悲观方式 使用写锁 大幅降低系统响应能力 可能导致死锁 乐观方式 先让冲突发生,再检

十种NoSQL数据库以及对比

 虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动.尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟.稳定.不过现在也面临着一个严酷的事实:技术越来越成熟--以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本.这里列出一些比较知名的工具,可以为大数据建立快速.可扩展的存储库. 1. Casssandra Cassandra最初由Facebook开发,后来成了Apache开源项目,它是一个网络社交云计算方面理

3大主流NoSQL数据库性能对比测试报告

近日,知名独立基准测评机构Bankmark,针对目前市面上主流的NoSQL数据库SequoiaDB.MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试并发布测试报告.在所有的测试中,三款NoSQL数据库产品的表现各有千秋,没有那款产品能在所有测试场景中完败对手,就整体表现而言SequoiaDB与Cassandra不相上下表现上佳,而MongoDB表现却不理想属于垫底的存在. 测试机构: Bankmark是一家德国的独立基准测评机构,业内著名的NoSQL性能测试团队. 测

关系数据库&&NoSQL数据库

在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库.在高速发展的WEB2.0时代,我们发现关系数据库在性能.扩展性.数据的快速备份和恢复.满足需求的易用性上并不总是能很好的满足我们的需要,我们越来越趋向于根据业务场景选择合适的数据库,以及进行多种数据库的融合运用. 当我们在讨论是否要使用NoSQL的时候,你还需要理解NoSQL也是分很多种类的,在No

关于 NoSQL 数据库你应该了解的 10 件事

四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型.但是现在非关系型数据库,“云”或者“NoSQL”数据库,正在作为一种替代数据库模型获得越来越多的占有率.本文中我们将关注非关系型 NoSQL 数据库的 10 个关键特征:排在前 5 位的优点和前 5 位的挑战. 提示:点击链接可以下载本文 英文版PDF NoSQL 的五大有点 1:弹性扩展 多年来,数据库负载需要增加时,数据管理员只能依赖于纵向扩展(scale-up)–买更多更强的服务器,而不是依赖横向扩展(scale-out)

[转载] nosql 数据库的分布式算法

原文: http://juliashine.com/distributed-algorithms-in-nosql-databases/ NoSQL数据库的分布式算法 On 2012年11月9日 in 也为稻粱故, by Juliashine 本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去

八种主流NoSQL数据库对比

摘要:虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举.详见我的IT-Homer博客: 八种主流NoSQL数据库对比 简介 NoSQL,是一项全新的数据库革命性运动,NoSQL的拥护者们提倡运用非关系型的数据存储.现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状.目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数

Apollo数据库,在线低延迟存储的NoSQL数据库

Facebook最近公布了Apollo,它是Facebook的一种类似于Paxos的NoSQL数据库.Apollo构建于Apache Thrift 2 RPC框架,采用C++11开发,是一种分层存储系统,所有数据被划分到Shard,非常类似于HBase中的区域服务器.它最大的好处是在线低延迟存储,特别是在Flash和内存中. 区别于面向文档和键值的存储,Apollo是一种修改的数据结构,允许你存储Map.队列.树以及键值等等.系统中每个单独的数据块都非常小,从1字节到1MB,而所有的总大小则从1

12款免费与开源的NoSQL数据库介绍

Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库,并对这些数据库的特点进行了分析. 现在,NoSQL数据库变得越来越流行,我在这里总结出了一些非常棒的.免费且开源的NoSQL数据库.在这些数据库中,MongoDB独占鳌头,拥有相当大的使用量.这些免费且开源的NoSQL数据库具有很好的可伸缩性与灵活性,非常适合于大数据存储与处理.相较于传统的关系型