欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于NOSQL的云环境下数据分析和存储.pdf

    • 资源ID:69680115       资源大小:420.69KB        全文页数:5页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于NOSQL的云环境下数据分析和存储.pdf

    基于云环境下的 NOSQL 应用研究之综述胡善杰201021060327一、选题依据和意义一、选题依据和意义随着互联网的普及和发展,人们对于互联网的需求越来越高,各种互联网技术应用而生。其中在 web2.0 的环境下人们对于互联网的需求已经从传统的门户网站向高业务量的互联网服务转换。这以变换对互联网企业提出了挑战,计算机硬件、电力和维护成本都在不断的正佳。为了解决这些问题,分布式技术在一些的互联网企业和一些设备和软件厂商的实际应用中得到了应用。到了 2006 年,google 公司 CEO 埃里克施密特(Eric Schmidt)在搜索引擎大会(SESSan Jose 2006)首次提出“云计算”(Cloud Computing)的概念1。从这个时候开始,云计算成为继网格计算后和分布式相关的又以新兴的概念,云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务,从而将用户从复杂的底层硬件逻辑,软件栈与网络协议解放出来。云计算是并行计 算(Parallel Computing)、分布式 计算(Distributed Computing)和网格计 算(GridComputing)的发展,或者说是 这些计算机 科学概念的 商业实现。云计算是虚 拟化(Virtualization)、公用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。云计算将是未来 5-10 改造 IT 信息市场和技术的重要力量。用户在云计算环境下,用户可以选择不同终端,如笔记本、PC、PAD、智能手机等,然后通过互联网来享受云服务商提供的各种服务,比如使用应用程序,存储个人信息和文档,软件开发等2,3。电子商务、SNS 等 web2.0 网站的兴起,各种类型的应用层出不穷,所以导致了这个云时代,不仅改变了网站的表现形式,也对网站的整体性能提出了更高的要求:1)数据库高并发 I/O 读写的要求:web2.0 网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次 SQL 查询还勉强顶得住,但是应付上万次 SQL 写数据请求,硬盘 IO 就已经无法承受了。其实对于普通的 BBS 网站,往往也存在对高并发写请求的需求,例如像天涯论坛实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。2)对海量数据的高校存储和访问的需求:在类似人人网和 sina 微博这样的 SNS 网站每天用户产生海量的用户动态,像 sina 微博这种网站,一个月的的胡勇动态都是上亿。对于传统的关系数据库来说在一个上亿跳数据的数据表里面进行SQL 查询,效率是十分地下的,再如果国内的一些大的 IM 软件的 WEB 登录系统,动辄上亿的帐号,关系数据库也难以应付。从用户体验的角度来说,传统的关系数据库也难实现在本地存储和处理复杂数据类型、提供各种完整数据服务以及敏捷的开发、部署和维护。3)对在基于 web 的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像 web server 和 appserver 那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供 24 小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。4,7在数据量和访问量逐渐增大的情况下下,人为地去添加机器或者切分数据到不同的机器,变得越来越困难,人力成本越来越高,于是便开始有了 NOSQL 的概念,它们的本意是提高数据存储的自动化程度,减少人为干预的时间,让负载更加均匀等为了解决传统数据库面临的问题。NOSQL 非关系数据库是随这云计算而发展起来的,也可以算是云计算中的一个部分,他舍去了关系数据库中的许多限制性能提升但这些功能对于处理网页的存储上可有可无的东西,总的而言 NOSQL 就是为了解决关系数据库中瓶颈而提出来的。5从 09 年开始,NoSQL 运动在各大社交网络和新兴公司间展开。如何将 NoSQL 和电子商务平台融合在一起,从而取得经济价值,成为 IT 界目前最关注的议题。本文探究如何使用现有的技术和资源进行伸缩性和可维护性的管理和开发,为电子商务平台在 NoSQL 运动中获益提供新的思路,使网站在充分利用现有资源和技术的情况下充分发挥数据存储和检索的极限。现在基于开源的 NoSQL产品很多,例如:在国际上真正的代表之作有来自 Google的 BigTable 和 Amazon 的 Dynamo6,Yahoo 的 hbase,Facebook 的 Cassandra还有 10gen 的Mongdb,以及一些基于传统关系数据库而开发的 NoSQL 插件如:HandlerSocke。和性能高的内存数据库 voltdb。NOSQL 非关系数据库和以类似 hadoop 云计算平台的联合应用让NOSQL 非关系数据库在大数据运算环境下更应用自如。5,8二、国内外二、国内外 NoSQLNoSQLNoSQLNoSQL 发展现状发展现状由于 NoSQL 产生的环境是互联网的海量用户和数据,NoSQL 数据库在研究和设计中非常关注数据的高并发读写和海量数据的存储,和关系数据库比在架构和数据模型方面做了“减法”,如去掉数据库事务的一致性需求、读写时实需求和复杂的 SQL查询需求,而在扩展和并发方面做了“加法”,如易扩展、大数据高性性能,灵活的数据模型、低价成本的9。下面将分析下国内外的一些开源的 NoSQL 数据库和相关的应用。由于互联网来源于美国,美国的互联网行业比较发达,相应的应用于互联网行业的NoSQL 数据库最开始也来源于美国,最著名的是 Google 公司的 BigTable,BigTable 从 2004年初就开始研发了,到 2005 年 2 月已经用了将近 8 个月。大概有 100 个左右的服务使用BigTable,比如:Print,Search History,Maps 和 Orkut。根据 Google 的一贯做法,内部开发的BigTable 是为跑在廉价的 PC机上设计的。BigTable 让 Google 在提供新服务时的运行成本降低,最大限度地利用了计算能力。BigTable 是建立在 GFS,Scheduler,Lock Service 和MapReduce 之上的。BigTable 是一个稀疏的、分布式的、持久化存储的多维度排序 Map。Bigtable 的设计目的是可靠的处理 PB级别的数据,并且能够部署到上千台机器上。Bigtable现在已经实现一下几个目标:适用性广泛、可扩展、高性能和高可用性。Bigtable 已经在超过 60 个 Google 的产品和项目上得到了应用,包括 GoogleAnalytics、GoogleFinance、Orkut、Personalized Search、Writely 和 GoogleEarth。这些产品对 Bigtable 提出了迥异的需求,有的需要高吞吐量的批处理,有的则需要及时响应,快速返回数据给最终用户。它们使用 的Bigtable 集群的配置也有很大的差异,有的集群只有几台服务器,而有的则需要上千台服务器、存储几百 TB 的数据15。BigTable 是 NoSQL 数据库的王者,其论文更是 NoSQL 理论的基石14,但遗憾的是BigTable 不开源,于是有了开源的 BigTable 版本这一说法。其中的佼佼者包括今天提到的两位:Cassandra和 HBase。HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Changet al 所撰写的 Google 论文“Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统(File System)所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。而 Hadoop 和 Hbase 被国内外互联网公司广泛应用。或者基于该开源项目开发出自己的 NoSql的数据库 Hbase和 BigTable 都是列式 NoSQL非关系数据库。Cassandra 是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发,用于储存特别大的数据。Cassandra 不是一个数据库,它是一个混合型的非关系的数据库,它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo 为基础,结合了Google BigTable基于列族(ColumnFamily)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。Cassandra 的数据模型是基于列族(Column Family)的四维或五维模型16。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是 类似 json 的 bjson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongodb 目前已经应用于国外的 SourceForge和国内视觉中国17。国外 NoSql数据库的在互联网公司应用并且取得成功给国内的互联网公司在 NoSQL上的研究和应用起着推动作用,国内的 NoSQL 的发展主要是基于国外开源的项目进行修改开发出适应国内互联网环境的 NoSQL 数据库。比如 sina 微博其数据库环境是将 NoSQL 和MySQL 混合使用,在 sina 微博的项目中使用了 Redis。国内最大的电子商务公司开发了基于 key-value 结构的存储系统Tair,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。Tair 除了普通Key/Value 系统提供的功能,比如 get、put、delete 以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景。国内最大的分享平台豆瓣网开发了 BeansDB,BeanDB 是主要针对大数据、高可行的分布式 key-value 存储系统,采用 HashTree和简化版本号来快速同步保证最终一致性(弱)是一个简化版本的 Dynamo18。从国内外线上的 NoSQL 数据库的使用情况来看,主要有几种方式10,11:1)NoSQL 作为镜像:不改变原有的关系数据库作为存储的架构,使用 NoSQL 作为辅助镜像存储。用 NoSQL 的优势辅助提升性能。2)关系类型数据库和 NoSQL 组合:关系数据库中只存储需要查询的小字段。NoSQL 存储所有数据。3)纯 NoSQL 架构:只使用 NoSQL 作为数据存储。4)以 NoSQL 为数据源:数据直接写入 NoSQL 同步协议复制到其他存储。根据应用的逻辑来决定去相应的存储获取数据。5)NoSQL 作为缓存:用 NoSQL 缓存数据可以分为内存模式和磁盘持久化模式。NoSQL 数据库 Redis 为我们提供个了功能更强大的内存存储功能。跟 Memcached 比,Redis的一个 key 的可以存储多重数据结构 String、Hashes、Lists、Sets、Sorted Sets。Redis不但功能强大,而且它的性能完全超越大名鼎鼎的 Memcached。三、三、NOSQLNOSQLNOSQLNOSQL 非关系数据库的定义及其分类非关系数据库的定义及其分类NoSQL 简述:CAP(Consistency,Availabiity,Partition tolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。关系型数据库通过把更新操作写到事务型日志里实现了部分耐用性,但带来的是写性能的下降。MongoDB 等 NoSQL 数据库背后蕴涵的哲学是不同的平台应该使用不同类型的数据库,MongoDB 通过降低一些特性来达到性能的提高,这在很多大型站点中是可行的。因 为MongoDB 是非原子性的,所以如果如果应用需要事务,还是需要选择 MySQL 等关系数据库。NoSQL 数据库,顾名思义就是打破了传统关系型数据库的范式约束。很多 NoSQL 数据库从数据存储的角度看也不是关系型数据库,而是健值对数据格式的 hash 数据库。由于放弃了关系数据库强大的 SQL 查询语言和事务一致性以及范式约束,NoSQL 数据库在很大程度上解决了传统关系型数据库面临的诸多挑战。在社区中,NoSQL 是指“not only sql”,其特点是非关系型,分布式,开源,可水平扩展,模式自由,支持 replication,简单的 API,最终一致性(相对于即时一致性,最终一致性允许有一个“不一致性窗口”,但能保证最终的客户都能看到最新的值)19。目前无论是商用的还是开源的 NoSQL 数据库主要分为以下几种20,5:列存储型:主要使用 Table 这样的模型,但是它并不支持类似 Join 这样的夺标操作,他的沪主要贴点是在存储数据时,抓哟围绕着“列”,而不是传统的关系数据库那样的“行”进行存储,也就是说,属于同一列的数据会尽可能的存储在硬盘同一个页中,而不是将属于同一行的数据放在一起,这样做的好处是,对于很多类似数据仓库的应用,对冉每次都会处理很多数据,但是每次锁设计的列并不会很多,这样如果使用列式数据库的话,将会节省大量I/O,并且大多数列式数据库都支持 Clolumn Family 这个铁型,通过这个特性能将多个 Column并为一个小组,这样做的好处是能将相似 Column 放在一起存储,这样提高这些 Column 的存储和查询效率。总体而言,这些数据库模型的优点是比较适合汇总和数据仓库这类应用。其代表有 Hbase、Hypertable.Key-value:虽然 Key-value 这种模型和传统的关系类型相比比较简单,有点类似常见的HashTable,一个 Key 对应一个 value,但是其能提供非常快的查询速度、大的数据存放量和高并发操作,并非常适合通过主健对数据进行查询和修改操作,虽然不支持复杂的操作,但是可以通过上层的开发来弥补这个缺陷。其代表有Cassandra、MemcaheDB、Redis。文档型:在结构上,文档和 Key-value 是非常相似的,也是一个 Key 对应一个 Key-valueValue,但是这个 Value 主要是以 JSON 或者 XML 等格式的文档来存储,是有语义的,并且文档型数据库一般可以对 Value 来创建 Secondary Index 来方面上层应用,这点是普通的 Key-value数据库所无法支持的。其中代表 MongoDB、CouchDB。图类型:就对于 Key-value 数据库而言,最小的建模单元是 key-value 对,对于列式数据库而言最小的建模单元则是包含不同个数属性的元组,至于文档型数据库最小单元是文档。图形数据库则干脆的是把整个数据当成最小单元。代表有 Neo4J、FlockDB。对象存储:通过类似面向对象语言的语法操作数据库,通过对象方式存取数据库,其实代表有 db4o、Versant。XML 数据库:是纯 XML 数据库。随着金融界确立 XBRL(XML 的一个子集)标准和政府规范电子政务的 XML 格式,实践推动着 XML 数据库技术不断向前发展。XML 数据库系统从最初简单的查询引擎,不断地加入查询优化、事务处理、触发器、并发控制、代数系统等传统的数据库技术,一步步地从性能和功能上完善自己。代表有 BaseX。四、总结四、总结随着 Web2.0 和云计算的兴起,和一些反 SQL 的倡导,越来越多的大公司加入到 NoSQL阵营。Digg、Twitter、Google、微软等等公司已经开始研究 NoSQL,并在一些项目中进行实施。许多人甚至抛弃了 MySQL 开源数据库这个长期以来 Web 2.0 的宠儿,而改由 NoSQL的方案来替代,因为优势实在是引人注目,NoSQL 数据库正在渐渐的成为数据库领域不可缺的一部分,它弥补了关系数据库在某写应用场景的不足,极大的节省了开发成本和维护成本,但是他也非万能,数据才是最重要的东西,它是关键,然后是查询类型、要处理的操作结构,以及什么需求要考虑伸缩性和 CAP。企业应该根据自身体业务的应用环境的数据的类型,将关系数据库和 NoSQL 两者的优点结合起来,会给 Web 2.0 的数据库的发展带来新的思路,总之一句话:前途是光明的,道路是曲折的。参考文献参考文献1云计算(第 2 版)作者:刘鹏 编 出 版 社:电子工业出版社2 基于云计算的 web 结构数据挖掘算法研究 北京交通大学 高勋3 云环境下数学软件虚拟化关键技术研究兰州大学 李守波4 什么是 NoSQL?Web2.0 和云计算的新宠儿西部 E 网5 NoSQL 数据库笔谈 颜开6 解读 NoSQL 技术代表之作 Dynamohttp:/ NoSQL 非关系型数据库的发展及应用初探 淮阴师范学院 黄贤立8 RESEARCH ON ALGORITHM OF POINT CLOUD MAPREDUCE REGISTRATION SongLiu,Xiaoyao Xie9 NOSQL 数据模型和 CAP 原理 http:/ NoSQL:http:/nosql-database.org/11NoSQL 开篇为什么要使用 NoSQL 孙立12Using MongoDB to Implement Textbook Management System instead of MySQL ZhuWei-ping13当今非主流数据库 独领风骚 IT 动力14NoSQL数据管理系统综述 卢益阳15Bigtable 探秘 Google 分布式数据存储系统 CSDN16Cassandra实战 郭鹏 机械工业出版社17MongoDB 权威指南(美)霍多罗夫,(美)迪洛尔夫 著,程显峰 译 人民邮电出版社18NoSQL 数据库渐入佳境 国内应用案例盘点 红丸19NoSQL 数据库MongoDB 和 Redis 百度文库20http:/

    注意事项

    本文(基于NOSQL的云环境下数据分析和存储.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开