对nosql的认识.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对nosql的认识

浅谈NoSQL摘要:随着NoSQL的兴起,在各种网站上追求高性能可靠性方面的被应用的越来越广泛,不由自主的选择NoSQL作为有限的考虑方向。大数据的不断发展,传统的关系型数据库在解决web问题上遇到瓶颈,而非关系型数据库成为热门的解决方法。在海量数据的环境下,NoSQL对数据科技树的发展产生了强烈的影响。本文介绍非关系型数据库分类应用及与关系型数据库的比较。关键字:NoSQL,非关系型数据库前言如今,MySQL,Oracle,Sybase等的一些传统关系型数据库在以往的到了很广泛的应用,但是面对现今的web应用却表现得不如人们预想的优越。Web应用和服务在数据访问操作中主要面向准结构化数据和非结构化数据,它的需求与传统数据库所管理的结构化数据有明显的区别,这些新兴的应用并不需要类似于传统数据库所要求的ACID性质,但在系统的可扩展性与并发访问的能力上有更高的要求,而解决这类问题上人们一般会使用NoSQL数据库。Web应用的普及和网络上数据量的爆炸式增长,NoSQL凭借自己的显著特色解决了很多问题。传统关系型数据库的特点以及优缺点以往的网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。关系型数据库使用简单功能强大,其有以下特点:操作方便,开发者通过应用程序和数据库相链接,用户能方便的的对数据库中的数据进行操作,在没有数据库基础的人也可以对数据库进行管理,直接在数据库中操作。易于维护,关系型数据库在完整性约束中提供了实体完整性、参照完整性和用户定义的完整性,通过完整性约束可以大大降低了数据存储的冗余及数据不一致的概率。访问数据的灵活性。关系数据库中提供了视图视图,存储过程,触发器,索引等对象,是访问数据更加灵活。不可否认,现存的数据库页面里这诸多的问题在web2.0技术发展的同时,更注重用户和服务器以及用户和用户之间的交互作用,用户成为即使网站内容的浏览者,也是网站内容的制造者。例如博客,社区网站,微博,微信。而传统型数据库有以下几点缺陷:需要对数据库并发读写操作,Web 2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,无法使用动态页面静态化技术,因此数据库的并发负载非常高,往往要达到每秒上万次的的读写请求,此时服务器上的磁盘根本无法承受如此之多的读写请求。对海量数据的高效率存储和访问的需求对于大型的社交网站网站,每天用户产生海量的用户动态,随着用户的不断增减,一个数据表中的记录可能有几亿条,对于关系型数据库来说,在一个有上亿条记录的表里面进行SQL询,效率是极其低下的。对数据库的高扩展性和高可用性的需求,在基于Web的架构中,数据库是最难进行横向扩展的,当用户量和访问量增加时,数据库没有办法像Web Server 那样简单的通过添加更多的硬件和服务结点来扩展性能和负载能力,对于很多需要24 小时不间断服务的网站来说,对数据库系统的升级和扩展往往需要停机维护。非关系型数据库的提出NoSQL一般是分布式数据库,其特点是容易扩展,高性能,高并发性。因此,需要处理分布式数据库中的数据如何分布,如何复制以及碎片如何合成,满足分布式CAP理论的要求,既在数据的更新一致,所有数据变动都是同步的,要有很好的响应性能,可靠性高,满足三点中的两点。根据一致性的不同可以分类:基于亚马逊的key-value存储平台其核心思想就是在分布式数据系统上用哈希算法写个数据,将它们分别放在不同的节点上,根据key读写数据当有数据不一致时,会跟踪一个数据在不同机器上版本的变化,确保当读取数据结果不同时,根据版本信息返回一个正确的结果。好处是多个节点之间获得最终的一致性就可以,即便有时候会读到脏数据,但是读写数据是从来不会阻塞,这是一种强制要求节点之间的一致性,当两台电脑,有一段事务提交的时候,会导致自己的电脑写事务的停顿或关闭,而室友这个存储平台能将自己的数据写到多个节点中,然后通过一致性哈希从这些节点读取数据把正确的结果返回给用户。谷歌的big-table模型,使用同步复制,由数据自己检查数据坐在位置来实现一致性。分为6大类,分别是面向列的存储,面向文档的存储,键值存储,图存储,对象存储,xml数据库。列存储是按列存储,以区别传统数据库中的按行存储,易扩展,易查询,适用于海量数据,对一个或者几个字段进行查询的效率非常高,但是复杂查询功能比较弱,如在多表联合查询使用效果不好。文档存储是在海量数据中,仍能保持良好的查询性能,用json或者类json的格式进行存储,存储的方式是文档但是文档的内容格式是自由决定的。键值存储是最简单的NoSQL是最简单的NoSQL系统,具有极高的并发读写性,通过key值快速查找到value,并且不需要考虑value的格式。图存储系统是图形关系的最好存储模式。对象存

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档