云计算相关概述及NoSQL技术介绍_第1页
云计算相关概述及NoSQL技术介绍_第2页
云计算相关概述及NoSQL技术介绍_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、云计算相关概述及 NoSQL技术介绍1.1云计算相关概述云计算技术的出现是并行计算技术、软件技术、网络 技术发展的必然结果。计算机的并行化是它的萌芽期,人 们不满足于CPU摩尔定率的增长速度,希望把多个函数并 联起来,从而获得更快的计算速度。这种方法被证明是相 当成功的。云计算的概念及优点(1)云计算的概念云计算能为用户提供按需分配的计算能力、存储能力以 及应用能力,最后的目的是方便用户,大大的降低用户的软 硬件采购费用。云计算是分布处理、并行处理、网格计算的 综合发展,也是虚拟化、SaaS(软件服务),HAS(硬件服务).PaaS(平台服务)等综合应用的结果 。或者说是这些计算机科学概念的商

2、业实现。许多跨国信 息技术行业的公司如 IBM,Yahoo和Google等正在使用云计 算的概念兜售自己的产品和服务。只要我们有一部手机或者 一台笔一记本,通过浏览器客户端就可以得到自己想要的服 务,甚至包括像超级计算这样的服务。其实,在这个方面用户才是云计算的拥有者。简单的说,云计算就是利用互联网上处理数据的能力与大型数据计算中心软件,把复杂的计 算脱离开单机,运行到互联网上。(2)云计算的优点任何云计算的分析都必须致力于这一新兴技术所带来 的优点和缺点。云计算有很多优点。1)更低成本的用户电脑及软件。由于应用程序在云中而不是在台式机上运行,台式电脑并不需要传统的桌面软件 所要求的处理能力和

3、硬盘空间。因此,用户的电脑可以是低 价的,具有较小的硬盘,更少的内存,更高的处理器等【9(用户也无需为自己的台式机购买单独的软件包,只有实际使 用应用程序的员工需要访问云中的应用程序。即使使用基于 Web的应用和使用类似的桌面软件相同,IT人员也节省了在组织中的每个桌面上安装和维护这些程序的费用。2)更高的性能和较强的计算能力。在云计算中计算机的启动和运行速度将会更快,因为他们只需将少量的程序和 进程加载到内存中。云计算使用了数据副本容错、计算节点 同构可互换等措施来保障服务的可靠性,使云计算比本地计 算机更可靠。同样,在云计算中你不只局限于一台单独电脑 做事情,我们可以利用成千上万台计算机和

4、服务器的能力, 能执行超级计算类的任务。所以,云计算赋予用户前所未有 的计算能力,可以尝试完成比桌面上更大的任务10。3)无限的存储容量和高效的数据安全。台式机和笔记本电脑即将用完的存储空间,与云中可以使用的数百 PB(100万千兆字节)容量相比,它们是那么的微不足道。由于云计 算提供了无限的存储容量,与单独的台式机相比,在硬盘崩 溃时不至于摧毁所有的数据11。云中的数据是自动复制的, 不会带来任何损失。即使你的计算机崩溃了,数据仍在云里,仍然可以访问。云计算在一定程度上保持了数据的安全性。4)改进了操作系统之间的兼容性和增强了群组织间的 协作。在云里不针对特定的应用,在云的支撑下可以构造出各

5、种应用。操作系统并不重要,可以将Windows计算机连接到云,和运行的其他操作系统 (例如Unix、Linux等)共享文 件。能够让许多用户在文档和项目上协作的能力也是云计算 的优势之一。在不同的地理位置,不同的工作空间里共同做 一个项目工作,群组的协作意味着的大多数群组项目的更快 完成。因为它使相关的人员全部参与,不受地理位置、空间 因素的限制。利用云计算,任何人在任何地点都可以实时协 作。5)扩展性强及用户使用方便。云的规模可以根据实际 情况进行伸缩,满足用户和应用增长的需求。同时也消除了 用户对特定设备的依赖,凭借云,用户的应用和文档仍然跟 随用户。用便携的设备,同样使用自己的应用和文档

6、。不用 按照特定的设备购买特定版本的程序,或者按照设备特定的 格式保存文档。现有的云计算平台现有的各个云计算平台技术主要可以划分为3个,以数据存储为主的存储型云平台,以数据处理为主的计算型云平 台以及计算和数据存储处理兼顾的综合云计算平台。(1)存储型一数据密集云平台存储型一数据密集云计算平台就是主要以提供数据存 储、搜索服务为主的云计算平台,通过为客户提供安全便利 的云存储服务来赢取客户12。云存储是利用云计算中服务器 集群强大的存储能力为客户保存数据,用户不需要知道自己 的文件是存储在一个服务器节点上还是多个节点之中,也不 需要知道节点是否可信,这些都将由云服务器来处理解决。 云存储的实现

7、并不存在技术上的障碍,它需要云设备、云软 件、云服务等有机地集合在一起、为用户提供无障碍的云服 务。现有的云计算提供商都提供基本的云存储服务,这些存 储服务都是基于各自提出的分布式文件存储系统。Google拥有如今最大的信息库和知识库,对海量存储有自己的独特之 处,提出的GFS文件存储系统能够实现对文件系统实时监控、 容错检测、自动恢复等功能,是建立在不可信节点的存储条 件下的相对优良的文件系统13。它对于大型的文件的管理是 高效的,优化程度也很高,但是对于小文件的存储并没有提 供有效地优化方案。使得它并不能完全适应云计算环境下的 海量的小文件存储。FastDFS是一个开源的文件系统,也在 大

8、容量存储和负载均衡上做的很优秀,但是在小文件存储上 仍没有合理地优化。(2) 计算型一计算密集云计算平台计算型一计算密集云计算平台就是主要以数据计算、处 理服务为主的云计算平台,为用户提供相应级别的高性能计 算环境。用户还可以根据自己的需求选择相应的计算能力 14。通过云计算平台的高性能计算能力,用户和企业均能获 得与现有的大型机相媲美的计算能力,进行大规模的数据处 理计算,方便了企业和个体用户。(3) 综合云计算平台综合云计算平台是将云计算强大的存储与超能力的计 算有效地整合,在合理利用云集群存储节点的存储空间的同 时,不浪费各个节点的计算能力,通过相应的策略实现集群 存储和运算能力的整合,

9、对数据进行处理计算15。云计算的关键技术基于云计算特点以及特有的开发平台方式,概述了云计 算与网格计算以及传统的超级计算的区别,总结了云计算的 关键技术:编程模式、数据存储技术和管理技术、虚拟化技 术。云计算以数据为中心,是一种数据密集型的新型的超级 计算方式。下面对这三大关键技术作一个介绍。(1)简单方便的编程模式在云计算系统中,简化了系统处理过程的复杂性。编程 模式方便简单,为用户享受云计算提供的云后端资源提供了 方便。简单的编程模式成为云计算发展的未来趋势,后台的 并行执行和任务调度提供了开源的代码,使编程人员可以更 专注于业务逻辑,分析和编写出更实用的应用程序佝。Google提出的Ma

10、pReduce编程模式是当今比较流行的云计算 编程模式。在云计算、并行处理、和多核计算上MapReduce都具有良好的性能,但仅适用于编写数据处理和高度并行化 的程序。MapReduce技术已经应用在 Hadloop的平台上,下图给出了 MapReduce程序的具体执行过程图1.1 MapReduce的具体执行过程(2)数据的存储及管理由于云计算需要满足大量的用户需求,并行的处理用户服务请求,因此在云中的分布式数据存储技术具有高吞吐率,正好能及时满足特点。同时云计算中也采用冗余存储技 术提高存储数据的可靠性。现在云计算数据的存储技术主要有 Google的 GFS和 Hadloop团队开发的开源

11、体系 HDFS (Hadoop Distributed File System)17。云计算对大量的数据进行了高效的管理、读取和分析,对数据的读操作远高于数据的刷新频率,所以,云计算的数据管理技术是比较优先 的数据管理模式。其中在现有的数据有力技术中主要有Google 的 BigTable。随着技术的进一步发展,数据的更新速率和随机读取速 率的提高将成为数据管理技术的面临的主要问题。下图给出 了 GFS的数据管理技术中数据流的写操作与写控制分开图 示。厂一控制流Mosier图1.2写控制信号和写数据流(3) 可行的虚拟化技术 云计算关键技术之一是虚拟化技术。虚拟机对云计算资源的管理具有特殊的作

12、用。虚拟机是一类特殊的软件按,能 够完全模拟硬件的执行,以及在上面运行操作系统,执行环 境与物理环境隔离,有利于应用程序的部署18。在云计算环境中,虚拟化技术有如下良好的特性:1)与虚拟机平台运行的应用程序同时进行,云计算中的计算平台可以动态的定位到所需的物理平台。2)能够节约主机资源,将多个负载次要的虚拟机节点合并到同一个物理节点上。在不同的物理节点上实施动态迁 移,能够获得负载平衡。3)在资源管理和部署上比较灵活,可以将虚拟机直接部署到物理计算平台上,或者直接给用户提供虚拟机资源服务,如亚马逊的 EC2虚拟化技术在云计算中应用,提高了云计算资源管理的效率,动态的为用户提供了及时的服务。1.

13、2 No SQL 技术1.1.1No SQL技术的概念与定义NoSQL至今也没有统一的定义,这里引用Wikipedia 的定义:NoSQL(有时扩展为“ not only SQL ”)是不同于传统关 系数据管理模型的非关系松散数据存储类型,不使用SQL作为其查询语言。这种数据存储不需要固定的表结构,不支持表之间的连接操作和水平分割,也不会保证ACID(原子性、一致性、隔离性和持久性)的全部满足19。1.1.2N0 SQL技术的发展及趋势随着计算机和网络技术的迅猛发展,互联网日益普及, 网络数据成指数形式增长。同样,在科学领域,新技术层出 不穷,更新换代的周期越来越短,高技术的设备带来的是更 大

14、规模的数据量,这样我们进入了海量数据时代。如何存储 和管理这些海量数据就成为当下有待解决的大挑战。计算机 领域的大牛们面对这样的挑战也是各显神通,新的概念也应 运而生20。云计算就是其中重要的一例,给计算机领域带来 新的革命,它完全改变了数据的存储模式。云计算概念的出 现对技术的发展起着极大地推动作用。各国也开始架构以云 计算为基础的基础架构,随着Google等企业的推动,已经出现了很多基于云计算平台的现实应用。云计算的核心思想是将分散的海量计算资源通过网络 互连形成抽象的资源池,通过统一管理和调度按需向用户提 供服务,用户层面云计算资源的使用就相当于生活中用水用 电一样,按需随时取用,相当方

15、便。不过现在这仅仅是一个 美好的愿景,实际操作中存在很多问题,最为突出的是海量 数据存储和容错处理。此外,云计算系统往往是采用廉价、 不可靠的计算机来搭建集群,因此出错几率高于传统的分布 式数据库中的高性能服务器。这个问题随着集群规模的增大显得尤为突出。为了解决云计算系统实施过程中遇到的问 题,出现了很多以云概念为基础的平台,其中包括云存储平 台,而NoSQL数据库就是其中之一。NoSQL数据库是在云计算的兴起以及关系型数据库面对海量数据出现瓶颈的推动 下成长起来的。它打破了传统关系数据库的范式约束。关系 数据库的许多主要特性面对当前的挑战非但无用武之地,反 倒掣肘系统的功能及性能。比如对于数

16、据库事务一致性需 求、写实时性和读实时性的需求以及复杂的SQL查询,特别是多表关联查询等等。因此,各种NoSQL数据库放弃了关系数据库强大的SQL查询语言和事务一致性及范式的约束,或 采用面向文档的方式以保证系统满足海量数据存储的同时 具备良好的查询性能,或采用Key-Value数据格式的存储以满足极高的并发读写性能,又或者针对可扩展性展开的可伸 缩数据库以增强其弹性的扩展能力。近年来,随着NoSQL运动的蓬勃发展,人们从初期的打破传统的关系数据库约束逐 渐演变成对当今数据存储及管理可行且高效灵活的方案的 探求,这与云数据管理的目的是极为相似的。在云数据管理 中,我们同样要解决的是传统的关系数

17、据库在数据及查询压 力下所暴露出的实时插入性能、海量存储能力、查询检索速 度以及无缝扩展等问题。NoSQL数据库与云数据管理两者殊途同归,从满足应用需求的角度来说,最终都渴求找到一种 集一致性、可用性和高容错性于一身的数据存储及管理方案 以应对日益高涨的数据管理需求。1.1.3N0 SQL的关键技术研究(1) CAP理论.C: Consistency 一致性.A: Availability 可用性.P: Partition Tolerance分区容忍性一致性是指一个系统在操作完成之后能否以及怎样 保持一致状态。如果一些写操作完成更新之后所有读者都能 在共享数据源中看到更新,则这个分布式系统被认为是典型 的一致性系统21。可用性,尤其是高可用性意味着在例如集群中节点失效 或者软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论