第讲数据库技术及其发展简介ppt课件.ppt
一.本课程主要内容(包括关系数据库和新型数据库)第一章 关系和关系模型 数据模型, 关系和关系模式, 键, 关系的更新.第二章 关系运算 布尔运算,选择 ,投影, 连接, 除,常关系 ,属性命名,关系代数.第三章 数据依赖 函数依赖、多值依赖和连接依赖,数据依赖的公理系统,依赖集的等价和覆盖及算法。 第四章 关系数据库范式 范式的概念,1NF5NF,模式分解及其算法,生成范式的不同算法。第五章 数据库系统设计 数据库系统设计与数据库设计,数据库系统设计的任务与内容,数据库系统设计方法与步骤。第六章 数据库管理系统 数据库管理系统的系统结构、主要功能、实现技术、语言处理,当前流行的主流数据库管理系统简介。 关系数据库补充内容:连接面向对象编程和关系数据库的桥梁- Hibernate 应用程序的分层体系结构和Hibernate的作用、软件的模型、 在Java应用中使用Hibernate的步骤:创建Hibernate的配置文件、创建持久化类、创建数据库Schema、创建对象-关系映射文件、通过Hibernate API操纵数据库。,新型数据库部分,第七章 分布式数据库系统 分布式数据库系统的特点,分布式数据库系统的体系结构,分布式查询处理,分布式事务管理,分布式目录,数据库的安全保护,数据库的完整性保护。第八章 面向对象数据库 新应用的需求与传统数据库的局限性,面向对象数据模型,面向对象数据库系统的查询、并发控制,面向对象数据库管理系统,对象-关系数据库管理系统。第九章 云计算中的数据库 介绍几种典型云计算中的数据库存储和管理系统,包括:Google云计算中的数据库Bigtable、 Hadoop中的数据库HBase、 Amazon云计算中的中的简单数据服务Simple DB和关系数据库服务RDS、 微软云计算中的数据库SQL Azure等。 云计算补充内容:云计算的概念、云计算发展现状、云计算实现机制等。 第十章 数据库技术新进展 数据库技术新进展,包括:数据仓库、数据挖掘、并行数据库、Web数据库、多媒体数据库、工程数据库、主动数据库等。第十一章 数据库技术论文选读 选择10-15篇与教学内容相关的学术论文进行讲解,让学生了解本学科的基本研究方法和研究方向。,二主要参考书1.周志逵 江涛 ,数据库理论与新技术 北京理工大学出版社 2001.42.王珊 萨师煊, 数据库系统概论 高等教育出版社 20093.孙卫琴 , 精通Hibernate:Java对象持久化技术详解 第2版 电子工业出版社 2013 .14. 李昭原,数据库技术新进展 清华大学出版社 2007.105. 刘鹏, 云计算(第二版), 电子出版社, 2011.10 因为数据库技术涉及内容广泛,本课程使用了比较多的参考书,不同章节使用不同参考书中相关部分,但本课程内容本身自成体系。对以前一点没有学过数据库基本知识的同学,可以从参考书2或其它相关参考书中进一步相关知识。,三课程要求和考核方式 掌握相关理论、原理和技术 完成有课后书面作业和上级实践 期末闭卷考试 成绩:平时作业(20)期末考试成绩(80),四.数据库领域研究的三个主要方面,1数据库管理系统(DBMS) 研究数据库设计方法和实现技术,数据模型,对持久性数据的有效存储和存取方法,数据结构定义和数据操纵语言,用户接口等。数据库管理系统软件是位于用户和操作系统之间的数据管理软件。如ORACLE、SQL Server、DB2、ACCESS等。,2数据库应用系统的设计方法和工具 早期有设计指南和规范标准,设计阶段的计算机辅助设计工具,计算机辅助设计全过程。要求设计工具能够支持不同应用领域数据库设计,如支持复杂对象设计等。,3有关数据模型及设计理论的研究(7方面)(1)数据依赖理论 函数依赖、多值依赖、连接依赖 (2)规范化理论 范式、算法、模式分解(3)查询优化理论 包括逻辑层和物理层的优化,(4)泛关系理论 泛关系模型、泛关系表示、泛关系查询 (5)符号表追踪理论 (6)超图理论 利用超图研究数据库模式的特性 (7) 空值理论(不确定信息) 空值表示,加了空值后的运算、推理,空值的分类,分解方法、查询优化等。,1.数据管理技术产生 人工管理阶段(上世纪50年代初期)应用程序管理数据数据不共享数据不具有独立性,五.数据管理技术产生和数据库系统组成,数据库系统阶段(上世纪60年代后期)数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由统一管理和控制,数据库管理系统,数据库,2. 数据库系统(DBS)组成 由:数据库、数据库管理系统、应用系统、数据库管理员(DBA)、数据库用户构成的系统,后页,数据库(DataBase, DB) 长期存放在计算机内的、有组织的、可共享的数据集合。数据库管理系统(Data Base Management System DBMS) 数据库管理系统是位于用户和操作系统之间的数据管理软件。如ORACLE、SQL Server、DB2、ACCESS等 。 数据库管理系统的功能是:科学地组织和存储数据、高效地获取和维护数据。,数据库管理员Database Administrator DBA,全面负责管理和控制数据库系统具体任务决定数据库中信息内容和结构存储结构和存取方式定义定义数据的安全性和完整性约束条件改进和重构数据库系统监控数据库的使用和运行,数据库用户,用户(Database Users)可以按照使用系统的不同方式进行区分:复杂用户可直接使用查询语言的技术人员专家用户:可根据需要编写特定的数据库应用程序简单用户使用编制好的应用程序访问数据库如银行的职员、机票预定人员、旅馆总台服务员偶然用户企业或组织机构的高中级管理人员,其它人员:,系统分析员负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概要设计数据库设计人员参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式应用程序员设计和编写应用系统的程序模块进行调试和安装,六. 数据库系统外部体系结构的演变,(1)单用户结构(2)主从式结构(3)分布式结构(4)客户服务器结构的数据库系统(CS)(5)浏览器/服务器模式(B/S)(6)嵌入式数据库系统,1. 单用户数据库系统,整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据早期的最简单的数据库系统例如一个企业的各个部门都使用本部门的机器来管理本部门的数据,各个部门的机器是独立的。由于不同部门之间不能共享数据,因此企业内部存在大量的冗余数据,2. 主从式结构的数据库系统,一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源,主从式结构的数据库系统的优缺点,优点:易于管理、控制与维护缺点:当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用,分布式数据库系统是地理上分布在网络的不同结点,而逻辑上属于同一个系统的数据库系统。 分布式数据库将分散存储在计算机网络中的多个节点上的数据库在逻辑上统一管理。它是建立在数据库技术与网络技术发展的基础之上的。 最初的数据库一般是集中管理的,随着网络的扩大,增加了网络的负荷,对数据库的管理也困难了,分布式数据库则可克服这些缺点,分布式数据库可供地理位置分散的用户共享彼此的数据资源。,3. 分布式数据库系统,20,分布式数据库的特点和组成,分布式数据库系统的特点 1. 数据是分布的 2. 数据是逻辑相关的 3. 结点自治性分布式数据库管理系统的组成 1局部数据库管理系统(LDBMS) 2全局数据库管理系统(GDBMS) 3全局数据字典GDD 4网络通信管理CM,4CS结构的数据库系统,客户服务器( Client/Server ,CS) CS是一种网络架构,它把客户端 (Client) 与服务器 (Server) 区分开来。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。CS结构的数据库系统把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机,客户服务器数据库系统的种类,集中的服务器结构一台数据库服务器,多台客户机分布的服务器结构在网络中有多台数据库服务器分布的服务器结构是客户服务器与分布式数据库的结合,客户服务器结构的优点,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具,客户服务器结构的缺点,“胖客户”问题:系统安装复杂,工作量大应用维护困难,难于保密,造成安全性差相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。,多层(三层)C/S结构,在客户和服务器间增加了应用服务器一级,专门处理商业逻辑,关键算法。,三层C/S结构,多层C/S结构 前端的客户层:负责提供可以移植的表达逻辑 中间的应用层:实现各类业务逻辑 后端的数据管理层与服务层:提供对专门服务的访问,Internet由许多独立的商业网、教育网、政府机构网互连而组成。Internet上提供的服务有信息浏览、电子邮件、会议、发送接收文件等。网络间通过公共协议(TCP/IP)通信。 Web是一个基于超媒体的信息网络,通过超级连接浏览Internet上的信息。 Web中的计算机可有二种角色:客户机(浏览器)、服务器。作为服务器,可以提供信息;作为客户机可以浏览和请求信息。服务器与浏览器间通过HTTP协议交换信息。,5. 浏览器/服务器模式(B/S),中间件负责管理Web服务器与数据库服务器间的通信,应用程序的业务计算和数据库访问。,数据库服务器,结束,6 嵌入式数据库系统,嵌入式数据库或移动式数据库(EDBS/EMDBS) 各种移动设备、智能计算设备、嵌入式设备(手机、机顶盒、电冰箱、洗衣机) 基于GPS的应用 通过地球同步通讯卫星(GPS)传送地图信息或位置信息。 用于车辆定位、对自然资源和环境的控制和管理,Key/Value数据库 大数据技术 云计算中的数据库(9) 分布式数据库(7) 面向对象数据库(8) 对象关系数据库(8) 数据仓库和数据挖掘(10),主动数据库(10)空间数据库(10)时态数据库(10)嵌入式数据库(10)并行数据库(10)多媒体数据库(10)工程数据库(10),七. 数据库领域的新技术 除了关系数据库外,有新的数据库不断出现,包括:,1. Key/Value数据库,具备高可靠性及可扩展性的海量数据存储对互联网公司来说是一个巨大的挑战,传统的数据库往往很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的的查询,在这种情况下使用关系型数据库将使得效率低下,并且扩展也将成为未来很大的难题。在这样的情况下,使用Key-value存储将会是一个很好的选择。 目前几种典型云计算系统也采用Key-value存储方法,或Key-value存储方法的变体。比如: 亚马逊Dynamo就是一种高可用的分布式Key/value数据存储与管理系统; Facebook Cassandra-开源的高可伸缩分布式Key/value数据存储与管理系统; Google BigTable的数据结构采用一个多维稀疏矩阵,矩阵中所有信息基于主键进行排序。,key/value的数据结构,域(Domain)数据项(Item) 域类似于“表”,但无结构;作用是容纳数据项。 数据项用Key定义,所有与一个数据项相关的内容都存储到该数据项中。 可以将Key-value数据存储系统理解为面向数据项的系统,所有与一个数据项相关的内容都存储带该数据项中。在同一个域中存储的数据项可以有不同的结构,一个给定的数据项也许有多个动态变化的属性。 由于与数据项相关的内容都存储在一个单独的数据项中,因此要获取一个数据项的相关内容无需多个表之间的Jion操作。,Key/Value数据模型和关系数据库模型举例,一个域中,不同数据项中很可能有重复存储的数据内容,好在由于磁盘的单位价格越来越低,重复存储并不是很大的问题了,而这种数据结构却为系统的可伸缩性带来了很大的便利,数据可以容易得扩展到其他机器上。一个Key/Value数据模型例子如下图:,关系数据库模型如下图:,关系数据库中的SQL 与Key/Value模型中的 API,关系数据库的数据创建、更新、删除和获取都使用SQL完成,SQL查询可以从单个表或者通过多个表的Join操作来获取数据,SQL查询包括聚集、复杂的数据过滤等功能。传统关系数据库还包括将一些数据处理逻辑嵌入到数据存储中的实现,例如存储过程、触发器等。 Key/Value数据的创建、更新、删除和获取都是用API方法调用。,Key/Value的特点,数据模型:无数据模式,与数据项相关的内容都存储在一个单独的数据项中 要获取一个数据项的相关内容无需多个表之间的Join操作 便于扩展 重复存储 在数据模型设计时,没有范式的概念,没有表示关系和关系约束的机制(增加了应用程序的负担)数据访问机制: API,而非SQL,少数提供类似SQL的语法定义过滤规则 关系数据库有存储过程、触发器等,将数据处理逻辑在数据存储和管理系统中实现,但Key/Value的这些处理逻辑全部实现在应用代码中。应用接口: SOAP/REST服务接口 一个数据项和一个“对象”对应,直接映射到应用程序代码,无需进行对象关系映射.,Key/Value数据模式优缺点,Key/Value的优点: 便于扩展,适于云计算的环境 与应用程序代码的兼容性更好Key/Value的缺点: 数据完整性约束转移至应用程序 目前的很多Key/Value数据存储系统之间不兼容 在云环境中,很多用户和应用使用同一个系统。为了避免一个进程使共享环境超载,往往严格限制一个单独的查询所能够产生的全局影响。 例如,在SimpleDB中,不允许用户运行一个超过5秒钟的查询,在GoolgeAppEngine数据存储中,用户一次查询返回的数据项只允许在1000条以内。这对于很多商业应用来说,是不现实的。特别是对于数据分析应用,例如用户使用模式跟踪、推荐系统等来说,这样的限制是不可容忍的。,分布式key/value存储系统比关系数据库更适于互联网环境,互联网环境中进行数据处理的需求特点: 数据规模较大,数据存储必须便于扩展; 大多是非结构化的数据,很多情况下无需进行复杂的查询;关系数据库: 数据结构化、为进行复杂的数据查询设计 表结构较为复杂,不便于在分布式环境下进行数据扩展。,分布式Key/value数据存储与管理系统应用举例1,(1) 亚马逊Dynamo-高可用的分布式Key/value数据存储与管理系统 Amazon运行一个全球性的电子商务服务平台,在繁忙时段使用位于世界各地的许多数据中心的数千台服务器为几千万的客户服务。Amazon平台有严格的性能、可靠性和效率方面操作要求,并支持持续增长,因此平台需要高度可扩展性。可靠性是最重要的要求之一,因为即使最轻微的系统中断都有显著的经济后果和影响客户的信赖。 Amazon服务平台中的许多服务只需要主键访问数据存储。对于许多服务,如提供最畅销书排行榜、购物车、客户的偏好、会话管理、销售等级、产品目录,常见的使用关系数据库的模式会导致效率低下、有限的可扩展性和可用性。Dynamo提供了一个简单的主键唯一的接口,以满足这些应用的要求。 Dynamo通过一个简单的接口将对象与key关联,它有了两个操作:get()和put()。get(key)操作在存储系统中定位与key关联的对象副本,并返回一个对象或一个包含冲突的版本和对应的上下文对象列表。put(key,context,object)操作基于关联的key决定将对象的副本放在哪,并将副本写入到磁盘。,分布式Key/value数据存储与管理系统应用举例2,(2) Facebook Cassandra-开源的高可伸缩分布式Key/value数据存储与管理系统 Cassandra是一个分布式的存储系统,可用来管理分布在大量廉价服务器上的巨量结构化数据,并同时提供没有单点故障的高可用服务. Cassandra是一套高度可扩展、最终一致、分布式的结构化键值存储系统,结合了Dynamo的分布技术和Google的BigTable数据模型,更好满足了海量数据存储需求,解决了应用与关系数据库模型之间存在的非依赖关系。 Cassandra中的表是一个按照主键索引的分布式多维图. Cassandra的API由下面三种方法组成. insert(table, key, rowMutation) get(table, key, columnName) delete(table, key, columnName),2.大数据技术简介,(1)大数据的由来和特征(2)大数据的应用(3)大数据相关技术(4)大数据的研究方向,想驾驭这庞大的数据,我们必须了解大数据的特征。,地球上至今总共的数据量:在2006 年,个人用户才刚刚迈进TB时代,全球一共新产生了约180EB的数据;在2011 年,这个数字达到了1.8ZB。而有市场研究机构预测:到2020 年,整个世界的数据总量将会增长44 倍,达到35.2ZB(1ZB=10 亿TB)!,1PB = 250字节1EB = 260字节1ZB = 270字节,(1)大数据的由来和特征大数据时代的爆炸增长,何为大? _ 数据度量,1Byte = 8 Bit1KB = 1,024 Bytes1MB = 1,024 KB = 1,048,576 Bytes1GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 Bytes1TB = 1,024 GB = 1,048,576 MB = 1,099,511,627,776 Bytes1PB = 1,024 TB = 1,048,576 GB =1,125,899,906,842,624 Bytes1EB = 1,024 PB = 1,048,576 TB = 1,152,921,504,606,846,976 Bytes1ZB = 1,024 EB = 1,180,591,620,717,411,303,424 Bytes1YB = 1,024 ZB = 1,208,925,819,614,629,174,706,176 Bytes,红楼梦含标点87万字(不含标点853509字)每个汉字占两个字节:1汉字=16bit = 2*8位=2bytes1GB 约等于671部红楼梦1TB 约等于631,903 部1PB 约等于647,068,911部美国国会图书馆藏书(151,785,778册)(2011年4月:收录数据235TB )中国国家图书馆:2631万册1EB = 4000倍美国国会图书馆存储的信息量MGI估计,全球企业2010 年在硬盘上存储了超过7EB(1EB 等于10 亿GB)的新数据,同时,消费者在PC 和笔记本等设备上存储了超过6EB 新数据,21世纪是数据信息大发展的时代,移动互联、社交网络、电子商务等极大拓展了互联网的边界和应用范围,各种数据正在迅速膨胀并变大。 互联网(社交、搜索、电商)、移动互联网(微博)、物联网(传感器,智慧地球)、车联网、GPS、医学影像、安全监控、金融(银行、股市、保险)、电信(通话、短信)都在疯狂产生着数据。,“大数据”的诞生: 半个世纪以来,随着计算机技术全面融入社会生活,信息爆炸已经积累到了一个开始引发变革的程度。它不仅使世界充斥着比以往更多的信息,而且其增长速度也在加快。信息爆炸的学科如天文学和基因学,创造出了“大数据”这个概念。如今,这个概念几乎应用到了所有人类智力与发展的领域中。,大数据时代的背景,“大量化(Volume)、多样化(Variety)、快速化(Velocity)、价值密度低(Value)”就是“大数据”的显著特征,或者说,只有具备这些特点的数据,才是大数据。,大数据的4V特征,(2)大数据的应用,互联网上的数据看起来数量庞大却用处寥寥,但事实上,只要处理好这些数据,就能给商家带来巨大的利益。举一个简单的例子:,商家,针对性地给客户提供,广告与优惠信息,消费服务,前瞻来看,随着互联网对网民的理解,网民对网络的反作用,互联网将变得越来越智能。它在满足你需求的同时,也在创造新的需求。前者的代表是Google,后者的典型则是Facebook。谷歌的盈利在于所有的软件应用都是在线的。用户在免费使用这些产品的同时,把个人的行为、喜好等信息也免费的送给了Google。因此Google的产品线越丰富,他对用户的理解就越深入,他的广告就越精准。广告的价值就越高。这是正向的循环,谷歌好用的、免费得软件产品,换取对用户的理解;通过精准的广告,找到生财之道。颠覆了微软卖软件拷贝赚钱的模式。成为互联网的巨擘。,互联网越来越智能,Google精确掌握用户行为、获取需求,政治经济,监控手机的使用状况和账单的缴付模式,如果数据突然发生变化,那可能预示着经济困境正在加剧,国情调控,对Twitter和Facebook等社交媒体网站的数据筛查,若社交媒体提及粮食或种族冲突,那可能预示爆发了饥荒或者国内骚乱,医疗保卫,社交媒体上提到某地区受到感染,是对疫情流行的有效早期预警,密不可分的大数据与云计算,商业模式驱动,应用需求驱动,云计算本身也是大数据的一种业务模式,大数据是落地的云,云计算的模式是业务模式,本质是数据处理技术。数据是资产,云为数据资产提供存储、访问和计算。当前云计算更偏重海量存储和计算,以及提供的云服务,运行云应用,但是缺乏盘活数据资产的能力,挖掘价值性信息和预测性分析,为国家、企业、个人提供决策和服务,是大数据核心议题,也是云计算的最终方向。,政府职能变革重视应用大数据技术,盘活各地云计算中心资产:把原来大规模投资产业园、物联网产业园从政绩工程,改造成智慧工程;在安防领域,应用大数据技术,提高应急处置能力和安全防范能力;在民生领域,应用大数据技术,提升服务能力和运作效率,以及个性化的服务,比如医疗、卫生、教育等部门;解决在金融,电信领域等中数据分析的问题:一直得到得极大的重视,但受困于存储能力和计算能力的限制,只局限在交易数型数据的统计分析;政府投入将形成示范效应,大大推动大数据的发展。,大数据的应用举例政府,美国奥巴马政府在白宫网站发布大数据研究和发展倡议,提出“通过收集、处理庞大而复杂的数据信息,从中获得知识和洞见,提升能力,加快科学、工程领域的创新步伐,强化美国国土安全,转变教育和学习模式” ; 中国工程院院士邬贺铨说道,“智慧城市是使用智能计算技术使得城市的关键基础设施的组成和服务更智能、互联和有效,随着智慧城市的建设,社会将步入“大数据”时代。”难点:1、在最初就合理规划智慧城市(深度思考哪些领域能够运用);2、在城市发展基础设施和“云产业”的同时,更多重视“数据”的价值;3、在大数据处理领域的核心技术不足,需要政府更大的投入。,大数据的应用举例热点:智慧城市,政府、金融、电信等行业投资建立大数据的处理分析手段,实现综合治理、业务开拓等目标;应用到制造等更多行业。,更多行业的应用,大数据赋予我们洞察未来的能力,马云成功预测2008 年经济危机“2008 年初,阿里巴巴平台上整个买家询盘数急剧下滑,欧美对中国采购在下滑。海关是卖了货,出去以后再获得数据;我们提前半年时间从询盘上推断出世界贸易发生变化了。”通常而言,买家在采购商品前,会比较多家供应商的产品,反映到阿里巴巴网站统计数据中,就是查询点击的数量和购买点击的数量会保持一个相对的数值,综合各个维度的数据可建立用户行为模型。因为数据样本巨大,保证用户行为模型的准确性。因此在这个案例中,询盘数据的下降,自然导致买盘的下降。,大数据带来的机遇,人类从依靠自身判断做决定到依靠数据做决定的转变,也是大数据作出的最大贡献之一。大数据时代,结构化数据向非结构化数据演进,使得未来IT投资重点不再是建系统为核心,而是围绕大数据为核心;海量数据可以在各个部门创造重大的财物价值,未来投资倾斜。,未来IT投资重心转移,(3)大数据相关技术, 分析技术o 数据处理:自然语言处理技术o 统计和分析:A/B test; top N排行榜;地域占比;文本情感分析o 数据挖掘:关联规则分析;分类;聚类o 模型预测:预测模型;机器学习;建模仿真 大数据技术o 数据采集:ETL工具o 数据存取:关系数据库;NoSQL;SQL等o 基础架构支持:云存储;分布式文件系统等o 计算结果展现:云计算;标签云;关系图等,大数据相关技术, 存储o 结构化数据: 海量数据的查询、统计、更新等操作效率低o 非结构化数据 图片、视频、word、pdf、ppt等文件存储 不利于检索、查询和存储o 半结构化数据 转换为结构化存储 按照非结构化存储 存储问题解决方案o 在CAP理论指导下数据库技术适当“退化” NoSQL技术: HDFS, HBASE, OceanBase, MongoDB等,大数据相关技术, 计算o 因结构变化为导致计算模式变更o 需求模式变化带来的计算碰到瓶颈 解决方案o Hadoop(MapReduce技术)o 流计算(twitter的storm和yahoo!的S4),(4) 大数据的研究方向,3. 云计算中的数据库简介,(1) 云计算的定义 (2) 云计算的服务类型 (3)云计算的特点 (4) 云计算在国内外的发展现状 (5) 云计算中的数据库 。,61,(1) 云计算的定义 云计算是分布式计算的一种形式,它强调在互联网上建立大规模数据中心等IT基础设施,通过面向服务的商业模式为各类用户提供基础设施能力,是建造和运维互联网分布式系统相关技术的总称。 云计算包括信息基础设施(硬件、平台、软件)以及建立在基础设施上的信息服务,提供各类资源的网络被称为“云”,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取、按需使用、随时扩展、按使用付费。 云计算是并行计算(Parallel Computing)、分布式计算(Distributed Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。 云计算是虚拟化(Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。 云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。,62,(2) 云计算的服务类型 IaaS将基础设施作为服务将硬件等基础资源封装成服务供用户使用用户相当于使用裸机用户需考虑多机协同工作问题PaaS将平台作为服务向用户提供应用程序运行需要的环境服务商负责资源的动态管理用户在特定的编程环境下使用特定的编程模型SaaS将软件作为服务把特定的应用软件功能封装成服务,63,(3)云计算的特点 超大规模:“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力 虚拟化:云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。 高可靠性:“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。 通用性:云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。 高可扩展性:“云”的规模可以动态伸缩,满足应用和用户规模增长的需要 按需服务:“云”是一个庞大的资源池,你按需购买;云可以象自来水,电,煤气那样计费。 极其廉价:由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势。,64,(4) 云计算在国内外的发展现状 国外大公司云平台:(a) Amazon公司的云计算系统 Amazon 是互联网上最大的在线零售商, 每天负担着大量的网络交易,同时Amazon 也为独立软件开发人员以及开发商提供云计算服务平台。Amazon 将其云计算平台称为弹性计算云(elastic computecloud,简称EC2),是最早提供远程云计算平台服务的公司。Amazon的弹性计算云是建立在公司内部的大规模集群计算的平台上,用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(instance),用户只需为自己所使用的计算平台实例付费,运行结束后计费也随之结束。这里所说的实例、即是由用户控制的完整的虚拟机运行实例。通过这种方式,用户无需自己去建立云计算平台,节省了设备与维护费用。 亚玛逊云计算服务(AWS-Amazon Web Service)包括以下功能模块: 弹性计算云Elastic Computer Cloud (EC2) 简单存储服务Simple Storege Service (S3) 简单数据库服务Simple DB 简单队列服务SQS、弹性MapReduce服务 内容推送服务CloudFront、 电子商务服务DevPay 灵活支付服务FPS,65,(b) Google的云计算平台 Google搜索引擎建立在分布在30多个站点、超过200万台服务器构成的云计算设施的支撑之上,这些设施的数量正在迅猛增长。 Google的一系列成功应用,包括Google地球、地图、Gmail、Docs等也同样使用了这些基础设施。 目前,Google已经允许第三方在Google的云计算中通过Google App Engine运行大型并行应用程序。 Hadoop模仿了Google的实现机制。 Google云计算平台技术架构 包括:文件存储,Google Distributed File System,GFS并行数据处理 MapReduce 分布式锁Chubby结构化数据表BigTable,66,(c) IBM 的“蓝云”计算平台 IBM在2007年11月推出了“改变游戏规则”的“蓝云”计算平台,为客户带来即买即用的云计算平台。 IBM正在与17个欧洲组织合作开展名为RESERVOIR云计算项目,以“无障碍的资源和服务虚拟化”为口号。欧盟提供了1.7亿欧元作为部分启动资金。 2008年8月, IBM宣布将投资约4亿美元用于其设在北卡罗来纳州和日本东京的云计算数据中心改造。IBM计划在2009年在10个国家投资3亿美元建13个云计算中心。 IBM 的“蓝云”计算平台是一套软、硬件平台,将Internet 上使用的技术扩展到企业平台上,使得数据中心使用类似于互联网的计算环境。“蓝云”大量使用了IBM 先进的大规模计算技术,结合了IBM自身的软、硬件系统以及服务技术,支持开放标准与开放源代码软件。 “蓝云”基于IBM Almaden 研究中心的云基础架构,采用了Xen和 PowerVM 虚拟化软件,Linux操作系统映像以及 Hadoop 软件(Google File System 以及MapReduce的开源实现)。IBM 已经正式推出了基于x86 芯片服务器系统的“蓝云”产品。,67,(d)微软云平台体系架构 该平台包含了四个部分: -最底层是微软全球基础服务系统Global Foundation Services(GFS),由遍布全球的第四代数据中心构成 -GFS之上是一个云计算基础服务层(Fundamental Service) -在此之上的是一个构建服务平台(Building Block Service -再往上则是为客户提供的服务层(Finished Service) 微软的云计算概念提出的相对较晚, 其云计算平台是Azure, 云计算模型是S+S(Software+Services)。微软把未来的计算定义在云+ 端、软件+ 服务,微软面对的挑战是如何成为用户的唯一的选择。 云计算服务平台的底层是微软新一代的云操作系统Windows Azure, 包括计算、存储、管理等。在WindowsAzure 操作系统之上,目前运行着Live Services,.NET Services,SQLServices,SharePoint Services 和Dynamics CRM Services 五大服务,作为未来微软下一代网络服务的基础。 在Windows 体系中,现有服务器架构和云计算并不矛盾,而是互相补充,这也是Azure 服务平台独特的策略。,68,(e) Saleforce公司 Saleforce公司是软件即服务的先驱,并成为第一个年销售额超过10 亿美元的SaaS/ 云计算公司,相比之下,其他公司的云计算计划起步较晚。 2008 年1 月,Salesforce 公司推出了随需应变平台DevForce,F 平台是世界上第一个平台即服务的应用PaaS。 Salesforce 公司抛开了让用户觉得太过科学性描述的云计算,而推出了“商业云”(Business Cloud)的概念。 除了CRM,F 平台能构建更多更好的应用。开发人员可以用这个平台建立核心的商业应用,如ERP(Enterprise ResourcePlanning),HRM(Human ResourceManagement)、SCM(Supply ChainManagement)。 它的理念是重创新而不重架构,用户的工作在这片云里完成。,69,云计算在中国的发展 国内目前正在积极投身于云计算相关研究工作的高校和科研院所包括清华大学、北京大学、武汉大学、华中科大、北航、中科院等诸多科研单位。清华大学的云存储平台着力于构建存储云;北京大学根据已有的海量web数据处理的实际需求更加侧重于大规模数据处理的计算云;华中科大关注主机虚拟化技术,基于主机虚拟化为用户提供虚拟主机以及虚拟集群;武汉大学在面向云计算的互操作国际标准方面取得一些进展;中国科学院计算技术研究所在云计算平台Hadoop基础上开发实现了并行数据挖掘工具平台,已用于实际TB级电信数据的挖掘。 国内企业从事云计算相关研发和商业推广的单位包括中移动、华为、中兴、八百客、友友系统、百度、阿里巴巴、世纪互联、中国电信等诸多企业。中国移动研究院已经发布了它的云计算平台“Big Cloud 0.5”;中兴、华为等设备提供商正在研究基于云计算来提供更为廉价高效的数据处理解决方案;阿里巴巴从实际需求出发,着手打造“电子商务云计算中心”;世纪互联推出一系列包括互联网主机服务、个人及企业进行互联网云备份的数据备份服务等互联网云计算服务;中国电信也正式推出了云计算业务“e云”;联想正在研发低成本瘦云终端设备;腾讯已经将云计算的研发成果应用到QQ相册等服务中。,70,中国云计算大事记: 2008年,IBM先后在无锡和北京建立了两个云计算中心; 阿里巴巴成立了阿里云公司。还有许多公司触云:腾讯、盛大、广达、 800APP、世纪互联中国移动研究院已经建立起1024个CPU的云计算试验中心;中国电信、中国联通都有相应动作。华为、中兴都转入了云计算研发。 2008年11月25日,中国电子学会专门成立了云计算专家委员会。 2009年5月22日,中国电子学会举办首届中国云计算大会,1200人。2009年12月,举办中国首届云计算学术会议。 2010年5月,举办了第二届中国云计算大