云k计算与数据库.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云计算与数据库【摘要】云计算时代,传统的关系型数据库不再一枝独秀,各种NoSql数据库也不断涌现。本文在分析传统关系型数据库据不足的基础上,介绍了NoSQL数据库的数据模型、CAP理论及其优缺点,并对当前主要的云数据库进行了介绍。云计算是新一代IT模式,它使用户能够像使用水、电一样使用云平台提供的计算、存储、网络、数据等服务。云计算与数据库关系紧密,因为任何信息系统都需要对数据进行计逻辑计算,并将数据存入数据库中。1 传统关系型数据库1970年,Edgar Frank Codd首次提出了数据库的关系模型,随后又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准。IBM的Ray Boyce和Don Chamberlin将这12条准则用简单的关键字语法表现出来,里程碑式地提出了SQL语言。云计算时代,各种互联网应用层出不穷,对数据库的读写速度、支撑容量、运营管理成本等诸多方面提出了新的要求,关系型数据库难以完全满足。(1) 高并发读写速度慢由于关系型数据库的系统逻辑非常复杂,当数据量达到一定规模时,易出现死锁等并发问题,导致其读写速度迅速下滑。例如,目前的Web 2.0网站都要求能够根据用户的个性化信息来实时生成动态页面,因此对数据库并发负载的要求非常高,往往达到每秒上万次读写请求。即使关系型数据库勉强能够应付上万次SQL查询,硬盘I/O往往也无法承担上万次SQL写数据的请求。(2)支撑容量有限类似于Facebook、Twitter这样的社交网站,用户数量巨大,每天能产生海量用户动态,每月能产生上亿条用户动态。关系型数据库在一张有数亿条记录的表中进行SQL查询时,效率极低,甚至无法忍受。(3)扩展困难当一个应用系统的用户量和访问量不断增加时,关系型数据无法通过简单添加更多的硬件和服务节点来扩展性能和负载能力。很多需要提供不间断服务的网站不得不停机维护进行数据迁移,以完成数据库系统的升级和扩展。(4)建设和运维成本高企业级数据库的License价格惊人,并且随着系统的规模而不断上升。同时系统的管理维护成本也无法满足云计算应用对数据库的要求。与此同时,关系型数据库的很多特性也并不适用于云计算应用。比如,数据库事务的一致性、数据库的读写实时性、复杂的SQL查询,特别是多表关联查询等。因此,传统的关系型数据库已经无法独立满足云计算时代的各种应用。2 NoSql数据库为弥补传统关系型数据库的不足,产生了多款新类型的数据库,如BigTable、HBase、Cassandra、SimpleDB、CouchDB、MongoDB和Redis等。这些数据库在设计上与传统的SQL数据库有很大不同,非常关注对数据高并发地读写和海量数据的存储,更加注重数据库的扩展性和并发可访问性。这类数据库也被统称为“NoSQL(Not only SQL)”系列数据库。2.2.1 数据模型NoSQL数据常用的数据模型有三种。(1)Column-oriented(列模型)列模型的主要特点是按照“列(Column)”而不是“行(Row)”来存储数据,即将同一列的数据会尽可能存储在硬盘的同一个页(Page)中。虽然列模型也使用表作为数据存储的基本单元,但是它并不支持支持Join类操作。列模型十分适用于数据仓库类应用,这类应用虽然每次查询都需要处理大量数据,但是所涉及的列并不多。并且大多数列式数据库都支持将相似列放在一起存储,能够节省大量I/O,提高列存储和查询效率。(2)Key-value(关键字-值模型)这种模型比较简单,类似于HashTable,一个关键字(Key)对应一个值(Value)。Key-value模型虽然不支持复杂的操作,但是能够提供非常快的查询速度、海量数据存储和高并发操作,适合通过主键对数据进行查询和修改等操作。(3)Document(文档模型)这种模型也是一个关键字(Key)对应一个值(Value),但是这个值主要以Json或XML等格式的文档进行存储,是有语义的,并且Document数据库还可以对Value创建Secondary Index以方便上层的应用,而这点是普通关键字-值模型数据库所无法支持的。2.2.2  CAP理论CAP是指一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)。一致性是指任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;可用性是指每一个操作总是能够在确定的时间内返回,即系统是随时可用的;分区容忍性是指在出现网络分区(比如断网)的情况下,分离的系统也能正常运行。CAP理论的核心思想是:一个分布式系统不能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个。大多数NoSQL数据库都更加重视水平扩展

文档评论(0)

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

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

1亿VIP精品文档

相关文档