管理信息系统 课件 第5章 管理信息系统技术基础_第1页
管理信息系统 课件 第5章 管理信息系统技术基础_第2页
管理信息系统 课件 第5章 管理信息系统技术基础_第3页
管理信息系统 课件 第5章 管理信息系统技术基础_第4页
管理信息系统 课件 第5章 管理信息系统技术基础_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

5.1数据库与数据仓库

5.2

通信与网络

5.3

大数据和云计算5.1数据库与数据仓库5.1.1数据库管理系统1. 数据库管理系统数据库管理系统是位于用户与操作系统之间的一种数据管理软件。数据库管理系统使用户能够方便地定义数据和操纵数据,并能够保证数据的安全性、完整性,多用户对数据的并发使用以及发生故障后的系统恢复。数据库管理系统具备数据库定义、数据库操纵、数据库保护和数据库建立和维护等功能,它们实际上是由一组不同的程序模块来完成的。不同的数据库管理系统,其功能不完全相同,因此它包含的程序模块也不完全一致。例如,关系型数据库管理系统没有数据的物理描述语言,一些层次数据库管理系统和网状数据库管理系统没有查询语言。2. 数据库管理系统的分类数据库管理系统的分类如表5.1所示。3. 数据库管理系统的组成一般来说,数据库管理系统由3部分组成:数据定义语言及其翻译程序、数据操纵(或查询)语言及其编译(或解释)程序、数据库管理例行程序。其中,数据定义语言和数据操纵语言称为数据库语言。数据库语言是用户使用数据库的接口,数据库管理系统支持用户通过数据库语言进行数据存取。1) 数据定义语言数据定义语言(DataDefinitionLanguage,DDL)通常被数据库管理员或数据库设计人员用来定义数据库模式,如数据元素的名称、特征、字域宽度和相互关系,以及数据的密码、完整性限定等。数据库管理系统负责对数据定义语言进行编译,生成一系列元数据,并将其存储到数据字典或系统目录中。2) 数据操纵语言数据操纵语言(DataManipulationLanguage,DML)通常用来对数据库中的数据进行增加、删除、修改、查询。数据操纵语言有两种类型:第一种是非过程化的数据操纵语言,用户只需以交互方式指定“需要什么数据”,不必给出“如何获得这些数据”,一个数据操纵语言语句可以检索和处理一组记录,因此是基于集合的。第二种是过程化的数据操纵语言语句,这种语言只能检索和处理一组记录,因此是基于记录的;过程化的数据操纵语言必须嵌入某种程序设计语言中使用,被嵌入的程序设计语言称为宿主语言(HostLanguage),如C、Java语言,嵌入的数据操纵语言称为数据子语言(DataSub-Language)。3) 数据库管理例行程序数据库管理例行程序也随着系统的不同而不同,通常由系统运行控制程序、语言翻译处理程序和数据库管理系统的公共程序3部分组成。5.1.2数据库系统结构数据库系统是一个完整的、复杂的系统。它不仅指数据库和数据库管理系统本身,还指引进数据库技术后的整个计算机系统。一般来说,数据库系统由硬件、软件、人员组成。数据库系统的层次结构如图5.1所示。1. 硬件数据库管理系统的硬件部分包括中央处理器、内存、磁盘、磁带以及其他外部设备。随着数据库中数据量的增大,以及数据库管理系统规模的扩大,除了要求重要处理器的运算速度足够快外,数据库系统还要求硬件有足够大的内存、大容量的直接存取设备和高性能的数据通道传输能力。2. 软件数据库系统的软件部分包括操作系统、数据库管理系统、用于开发应用程序的具有数据库接口的高级语言及其编译系统、以数据库管理系统为核心的应用开发工具、为某应用环境开发的应用系统。3. 人员管理、使用和开发数据库的人员主要有数据库管理员(DataBaseAdministrator,DBA)、系统分析员、数据库设计人员、应用程序员和最终用户。他们不但熟悉操作系统、高级语言和数据库管理系统等,而且对应用系统的业务处理工作也很理解。1) 数据库管理员数据库管理员是专门监督和管理数据库系统的一个或一组人员,全面负责数据库的管理和控制。其主要职责包括:定义数据库的结构和内容;决定数据库的存储结构和存储策略;定义数据的安全性要求和完整性约束条件;监控数据库的运行和使用;负责数据库的改进和重构;规划和实现数据库信息的备份和恢复;等等。2) 系统分析员系统分析员负责应用系统的需求分析和规范说明,与数据库管理员和用户一起确定系统的硬件和软件配置,并参与数据库系统的概念设计。3) 数据库设计人员数据库设计人员一般由数据库管理员兼任,负责数据库中数据的确定与数据库的存储结构、全局和局部逻辑结构的设计。4) 应用程序员应用程序员负责设计、编写、调试和安装应用系统程序模块。5) 最终用户最终用户通过应用程序的用户接口,如浏览器、菜单、表格、图形或报表等直观的数据表示方式使用数据库。5.1.3数据库设计1. 数据库设计的含义数据库是管理信息系统开发和建设的核心技术。因此,数据库设计在管理信息系统的开发中占有重要的位置,数据库设计的好坏将直接影响整个系统的效率。数据库设计是利用现有的数据库管理系统来建立数据库的,需要将数据库管理系统与现实世界有机结合起来。数据库设计,尤其是大型数据库的设计和开发,是涉及多学科的综合性技术,因此数据库设计人员需要同时具备数据库系统及其实际应用等方面的知识。他们不但要熟悉以数据库管理系统为基础的计算机系统、软件工程的原理和方法,还要熟悉现实世界中处理的内容。可以说,设计一个性能良好的数据库并不是一项简单的工作。由于到目前为止还没有一个完善的数据库设计方法和工具,因此在数据库设计中,数据库设计人员的知识和经验是首要的。对于同一个应用对象,同一个数据库管理系统,不同数据库设计人员设计的数据库其性能可能会有较大的差异。这就要求一方面用户要尽可能地对数据库系统的应用提出明确的需求,另一方面数据库设计人员要使用规范的数据库设计方法和工具。2. 数据库设计的方法和工具由于信息结构的复杂性和应用对象的多样性,传统的数据库设计主要采用手工试凑法。随着研究人员的不断探索,软件工程技术被用于进行数据库设计,因此数据库设计更加规范,逐渐从一种技能向一个工程技术方向转变。由于采用了规范化设计方法设计数据库,因此数据库的运行更加稳定,同时降低了信息系统的维护成本。典型的数据库设计方法如下:(1) 新奥尔良(NewOrleans)的4个阶段方法。这种方法将数据库设计分为需求分析(用户要求分析)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)4个阶段。(2) S.B.Yao方法。S.B.Yao等人将数据库设计分为需求分析、模式构成、模式汇总、模式重构、模式分析和物理数据库设计6个步骤。(3) L.R.Palmer方法。L.R.Palmer等人认为数据库设计应该为一步接一步的过程,并采用一些辅助手段来实现。E-R图、第三范式、抽象语言规范等数据库设计方法是用于数据库设计不同阶段的具体技术和方法。数据库设计方法的基本思想是过程迭代和逐步求精。目前,数据库设计工具已经有一批实用化产品。例如,OracleDesigner和PowerDesigner分别是Oracle公司和Sybase公司推出的数据库设计工具。这些工具可以自动或辅助数据库设计人员完成数据库设计过程中的许多任务。目前,许多计算机辅助软件工程(ComputerAidedSoftwareEngineering,CASE)工具使得数据库设计和应用可以同时进行,被广泛应用于大型数据库的设计。3. 数据库设计的过程数据库系统的开发过程包括数据库系统设计阶段、数据库系统实施阶段、数据库系统使用阶段。其中,数据库系统设计阶段的主要步骤包括需求分析、概念结构设计、逻辑结构设计和物理结构设计。数据库系统实施阶段的主要步骤包括应用程序设计与调试、系统性能测试与试运行。数据库系统使用阶段的主要步骤包括数据库系统运行与维护、数据库系统重构。5.1.4数据仓库在数据仓库出现以前(1965—1990年),企业主要使用事务处理系统,这个状况持续了25年,人们将其称为“遗留系统”环境。事务处理系统主要实现了数据的收集、数据的存储、数据的在线存取。随着时间的推移,企业数据库中存储了大量数据,但是由于缺乏从海量数据中提取有价值知识的工具,因此管理者往往无法及时获得重要的决策信息,数据库变成了“数据丰富,信息贫乏”的“数据坟墓”,于是产生了现在的数据仓库技术。1.数据仓库和数据仓库系统的定义著名的数据仓库专家W.H.Inmon在其著作《建立数据仓库》(BuildingtheDataWarehouse)中对数据仓库做了如下描述:“数据仓库是一个面向主题的、集成的、随时间变化的、相对稳定的数据集合,用于支持管理决策。”该定义将数据仓库与其他数据存储系统(如关系数据库系统和文件系统)相区别。对于数据仓库的概念,可以从两个层次予以理解。首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是多个异构的数据源的有效集成,集成后按照主题对其进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再进行修改。根据Inmon提出的数据仓库的概念,数据仓库具有以下特性:(1) 面向主题:数据仓库中的数据是按照一定的主题进行组织的。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个事务型信息系统相关。企业数据仓库常见的主题包括客户、供应商、产品和销售等。(2) 集成:数据仓库中的数据是对来自多个分散的、异构的数据源中的数据进行抽取、清理,并对其进行加工、汇总和整理而得到的。在这一过程中,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。(3) 随时间变化:数据仓库中的数据通常包含历史信息,系统地记录了企业从过去某一时刻(如开始应用数据仓库的时刻)到目前各个阶段的信息,通过这些信息,可以对企业的发展历程和未来发展趋势做出定量分析和预测。(4) 不可更新:数据仓库中的数据主要供企业进行决策分析使用,所涉及的数据操作主要是数据查询,某个数据一旦进入数据仓库,一般情况下将长期保留。也就是说,数据仓库中有大量的查询操作,但修改和删除操作较少,一般只进行定期的加载和刷新。一个完整的数据仓库系统的定义是:数据仓库系统=抽取/转换/加载+数据仓库+联机分析处理+数据挖掘+决策支持。由该定义可以看出,数据仓库系统涉及众多关键技术,包括数据预处理技术、数据仓库建模技术、数据立方体技术、联机分析处理技术、数据挖掘技术、决策支持技术等,合理使用这些关键技术是数据仓库系统构建成功的关键。2.数据仓库系统的体系结构数据仓库的建立可以看作构造和使用数据仓库的过程。构造数据仓库需要进行数据集成、数据清理和数据统一。数据仓库不是静态的,它的任务是以企业现行业务系统和大量业务数据的积累为基础,将这些业务数据和信息加以整理、归纳和重组,并及时提供给相应的管理者。因此,从企业角度看,建立数据仓库既是一个过程,也是一项工程。数据仓库系统体系结构包含4个层次,如图5.4所示。5.1.5联机分析处理和数据挖掘1.联机分析处理技术的基本概念在线分析处理或联机分析处理(OLAP)是一项广泛应用的数据仓库应用技术。数据仓库中的信息资源要想被有效利用,就必须使用分析工具。联机分析处理就是专门用于复杂决策分析的一种决策分析工具。它根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并且以直观的、容易理解的形式呈现查询结果,将其提供给决策人员,使其能够迅速、准确地掌握企业的运营情况和市场的需求。联机分析处理技术有两个特点:一是在线性(On-Line),表现为对用户请求的快速响应和交互式操作,它的实现是由客户-服务器结构完成的;二是采用多维数据库进行多维分析(MultidimensionalAnalysis),它是联机分析处理技术的核心。联机分析处理主要针对特定问题的联机数据进行查询和分析。在查询和分析汇总时,系统首先要对原始数据按照用户的要求进行转换处理,使这些数据真正反映用户眼中问题的某个真实方面(“维”);然后以各种可能的方式对这些数据进行快速、稳定、一致和交互式的存取操作,并允许用户按照需要对数据进行深入的观察。2.数据挖掘的概念数据挖掘又称为数据库中的知识发现,它是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的人们事先不知道、但又是潜在有用的信息和知识的过程。数据挖掘已被数据库界广泛研究,其中关联规则的挖掘是一个重要的问题。数据挖掘使用了人工智能和传统的统计学方法。它与传统的数据分析(如查询、报表、联机分析处理等)的本质区别在于:数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识的。因此,数据挖掘得到的信息具有预先未知的、有效的和实用的3个特征。企业进行数据挖掘,就是企业按照既定的业务目标对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的过程。其中,未知的规律是指未曾被预料到的规律,数据挖掘就是要发现那些不能靠直觉发现的信息或知识,有时可能是违背直觉的,甚至是出人意料的信息或知识。3.数据挖掘和数据仓库大部分情况下,进行数据挖掘前都要先把数据从数据仓库中拿到数据挖掘库或数据集市中。由于数据仓库中的数据已被清理过,而且所有数据不一致的问题都已被解决了,因此对数据仓库中的数据进行挖掘比较合适。但是,如果数据仓库的计算资源很紧张,那么最好建立一个单独的数据挖掘库。数据挖掘库可以是数据仓库的一个逻辑上的子集,而不一定是物理上单独的数据库。4.数据挖掘过程数据挖掘过程必须在一定的环境中进行。数据挖掘环境如图5.6所示。整个数据挖掘过程是交互的、与领域相关的,需要设计人员,特别是具有领域知识、经验的专家参与,它并不是一个全自动化的过程。数据挖掘的基本过程如图5.7所示。5.2通 信 与 网 络5.2.1计算机网络1.计算机网络的概念计算机网络是利用通信设备和通信介质将地理位置分散的、具有独立功能的多台计算机连接起来,按照协议进行数据通信,以实现信息传递和资源共享的系统。网络按照其物理范围可以分为局域网、城域网和广域网。局域网的范围在几公里以内,一般企业的内部网、校园网等都是典型的局域网。城域网是指一座城市的主干网,范围可达几十公里,用于连接政府机构、教育科研单位、企事业等单位内部的局域网,实现网络间的通信。广域网所覆盖的范围从几十公里到几千公里,用来实现不同地区的局域网或城域网的互联,可以提供不同地区、城市和国家计算机之间的通信。要实现通信,离不开通信介质。通信介质可以分为有线和无线两大类。有线介质包括双绞线、同轴电缆和光纤。其中,双绞线和同轴电缆为金属导体,利用导线电流传输数据;光纤则通过光波实现数据传送。卫星通信、红外通信、激光通信以及微波通信属于无线通信范畴,它们利用电磁波传输数据。2.计算机网络的功能计算机网络的功能包括支持数据通信、实现资源共享、增加可靠性、提高系统处理能力等。1) 支持数据通信现代社会信息量激增,信息交互也日益增多,早期每年有几万吨邮政信件要传递,利用计算机网络传递信件是当前流行的传递方式。电子邮件比传统的通信工具有更多的优点,它不像电话需要通话者同时在场,也不像广播系统只是单方向传递信息,在速度上比传统邮件快得多。另外,电子邮件还可以携带声音、图像和视频,实现多媒体通信。即时通信也越来越受到人们,特别是年轻人的喜爱。QQ和微信是目前较流行的聊天工具,可以实时地在通信双方之间传递文字、声音甚至视频信息。2) 实现资源共享在计算机网络中,有许多重要的资源,如大型数据库、巨型计算机等,为了充分利用这些资源,应该进行资源共享。资源共享包括硬件资源的共享,也包括软件资源的共享。资源共享的结果是避免重复投资和劳动,从而提高资源的利用率,使系统的整体性能价格比得到改善。现代管理信息系统以数据库为核心,数据库中存放了企业的各种数据,这些数据是企业的宝贵资源。利用计算机网络,这些数据资源可以很方便地传递到需要它的用户手里。3) 增加可靠性在一个系统内,单个部件或单台计算机的暂时失效必须通过替换资源的办法来维持系统的继续运行。在计算机网络中,各种资源(尤其是程序和数据)可以存放在多台计算机中,一旦一台计算机出现故障,就可以将任务交由网络中的其他计算机完成,不会出现单机在无后备的情况下产生故障使全系统瘫痪的现象,从而提高了全系统提供服务的可靠性。4) 提高系统处理能力单机的处理能力是有限的,而且由于种种原因(如时差),计算机之间的忙闲程度是不均匀的。当一台机器不能完成处理任务时,可以按照一定的算法将任务交给不同的计算机分工协作完成,达到均衡地使用网络资源进行分布式处理的目的。利用网络技术,能够将多台计算机联成高性能的计算机系统,使用这种系统解决大型复杂的问题,其费用比采用高性能的大中型计算机低得多,甚至能够解决连超级计算机也解决不了的问题。目前,即时通信和电子邮件已成为人们重要的通信手段。视频点播、网络游戏、博客、微博、微信、社交网络、网络社区以及电子商务正逐渐走入普通百姓的生活、学习和工作当中。在未来,谁拥有“信息资源”,谁能有效使用“信息资源”,谁就能在各种竞争中占据主导地位。计算机网络作为信息收集、存储、传输、处理和利用的整体系统,将在信息社会中得到更加广泛的应用。随着网络技术的不断发展,各种网络应用层出不穷,并将逐渐深入社会的各个领域及人们的日常生活,改变着人们的工作、学习和生活乃至思维方式。3.网络体系结构由于计算机网络很复杂,设计的软件和硬件技术很多,由此应该将其分层设计实现。计算机网络各层及其协议的集合称为网络体系结构。网络体系结构一般用模型来表达。1) OSI模型在20世纪80年代早期,国际标准化组织(ISO)即开始致力于制定一套普遍适用的规范集合,以使得全球范围的计算机平台可以进行开放式通信。国际标准化组织创建了一个有助于开发和理解计算机的通信模型,即开放系统互联(OpenSystemsInterconnection,OSI)模型。OSI模型将网络体系结构划分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图5.8所示。OSI模型各层的主要功能如表5.2所示。2) TCP/IP模型TCP/IP模型是由传输控制协议/互联网协议(TransmissionControlProtocol/InternetProtocol,TCP/IP)及各协议之间的关系来描述的。通过TCP/IP,不同操作系统、不同架构的多种物理网络之间均可进行通信。TCP/IP协议族的层次与OSI模型的层次并不大严格对应。TCP/IP模型是四层结构,图5.9描述了TCP/IP模型和OSI模型之间大体上的对应关系。TCP/IP在网络接口层并没有定义具体的协议,它可以利用其他网络所定义的底层协议。网际层对应OSI模型的网络层,主要通过IP来处理数据分组。传输层与OSI模型的传输层功能相同,提供了两个传输层协议:可靠的面向连接的传输控制协议(TCP)和无线连接的用户数据报协议(UDP)。应用层包括所有高层协议。在TCP/IP模型中,IP是其核心,所有的数据传输都是通过IP完成的。IP是一个分组交换协议。IP只负责将数据分组传送到目的主机,无论传输正确与否,不做验证,不发确认,也不保证数据分组的到达顺序,而这些问题是由传输层的TCP来解决的。TCP为应用层提供了可靠的、无差错的通信服务。在数据分组到达目的地址后,TCP检查数据分组在传输过程中是否有错误,如果接收端发现有损坏的数据分组,就要求发送端重新发送被损坏的数据分组,确认无误后再将数据分组重新组合成完整的报文。5.2.2计算机网络技术1. InternetInternet即在TCP/IP协议下实现的全球性的互联网络。Internet可以连接各种各样的计算机系统和计算机网络,不论是微型的计算机还是大/中型计算机,不论是局域网还是广域网,不管它们在世界上任何地方,只要遵循TCP/IP协议,就可以连入Internet。Internet提供了丰富的、瞬息万变的信息资源,成为人们获取信息的一种方便、快捷、有效的手段,可是说是信息社会的重要支柱。2. IntranetIntranet(企业内联网)是把Internet技术应用到企业内部建立的基于开放技术的新型网络体系结构,可以说是组织内部的Internet。Intranet采用浏览器/服务器(Browser/Server,B/S)系统结构。这种结构实质上是C/S结构在新的技术条件下的延伸。在传统的C/S结构中,Server仅作为数据库服务器,进行数据的管理,大量的应用程序都在客户端进行。这样,每个客户都必须安装应用程序和工具,因而,客户端很复杂,系统的灵活性、可扩展性都受到很大的影响。在Intranet结构下,C/S结构自然延伸为三层或多层结构,形成B/S应用模式。在这种方式下,Web服务器既是浏览服务器,又是应用服务器,可以运行大量的应用程序,从而使客户端变得很简单。3. 虚拟专网(VirtualPrivateNetworks,VPN)如果一家企业是分布式的,外地员工需要像通过局域网一样访问企业内部数据,在过去,只能通过调制解调器或远程访问服务器访问局域网内部数据。这种方式不仅价格昂贵,而且传输速度慢。虚拟专网采用加密、认证和通道技术,提供了Internet上两点间的安全通信。这样,对采用Internet技术的企业而言,好像有了一个专用的广域网一样。由于虚拟专网是在Internet的点对点通信,不仅适合于移动或者远程用户,而且适用于分公司和总公司之间以及企业与供应商、分销商之间的通信等,从而构成了安全的Extranet。在虚拟专网中,采用了协议通道技术,数据包首先被加密,然后封装到IP包中并通过Internet传输,在目的端由特定的主机或路由器解密。4. ExtranetExtranet即扩展的Intranet(ExtendedIntranet),它通过Internet把分散在不同地理位置的Intranet联系起来。Internet不能提供数据传输过程的安全性,而采用Extranet进行远程系统通信时,可利用通道技术提高通信两端的安全性级别。Extranet通过虚拟专用网络方式使企业与其他企业或客户联系起来,完成共同目标的合作网络。Extranet既不像Internet那样提供公共服务,也不像Intranet那样仅仅提供对内服务,它可以有选择地向公众开放其服务或向有选择的合作者开发其服务,为电子商务或其他商业应用提供安全广域网平台。通常情况下,Extranet只是Intranet和Internet基础设施上的逻辑覆盖,而不是物理网络的重构。5.3大数据和云计算5.3.1大数据1. 大数据的概念大数据不是一个确切的概念,根据维基百科的定义,大数据是指无法在一定时间内用传统数据库软件对其内容进行抓取、管理和处理的数据集合。大数据的产生是计算机和网络通信技术广泛应用的结果,而互联网、云计算、移动互联网、物联网、社交网络等新一代信息技术的发展,对大数据的产生起到了催化剂的作用,由此带来了四大变化:一是数据由企业内部向企业外部扩展;二是数据由Web1.0向Web2.0扩展;三是数据由互联网向移动互联网扩展;四是数据由计算机/互联网向物联网扩展。这四个变化,让数据产生的源头数量成倍地增加,数据量也大幅度地增长。大数据不只是数据规模大,更由于其多样性、非结构化特征明显导致数据存储、处理和挖掘异常困难。业界通常用4个V,即数据体量巨大(Volume)、数据类型繁多(Variety)、数据流动快(Velocity)、价值密度低(Value)来概括大数据的特征。2. 大数据分析的特征与传统的数据分析方法相比,大数据时代数据分析的转变可以用更多、更杂、更好三个特征来描述。(1) 更多:不是随机样本,而是全体数据。(2) 更杂:不是精确性,而是混杂性。(3) 更好:不是因果关系,而是相关关系。3. 大数据处理的总体架构与关键技术大数据应用需要一个统一的平台,使得用户能够在统一的平台上对不同类型的数据进行处理和存储,集成各种工具和服务来管理异构存储环境下的各类数据,并建立一个实时预测分析解决方案,整合结构化的数据仓库和非结构化的分析工具。在这个大数据平台上,用户可以在任何时间、任何地点通过任何设备进行大数据的集中共享和协同访问。1) 大数据平台Hadoop的总体架构大数据的产生、组织和处理主要通过分布式文件处理系统来实现,其主流的技术是Hadoop+MapReduce。Apache基金会发布了基于开源技术的大数据平台Hadoop的总体架构,如图5.11所示。2) 大数据存储结构HDFS即Hadoop分布式文件系统(HadoopDistributedSystem),前身为Google文件系统(GoogleFileSystem,GFS),运行于大规模集群之上,集群由廉价的普通计算机构成。整个文件系统采用的是元数据集中管理与数据块分散存储相结合的模式,并通过数据复制来实现高度容错。HBase即Hadoop数据库,是GoogleBigtable的开源实现。HBase建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的分布式非关系型(NotOnlySQL,NoSQL)数据库系统。3) 大数据处理框架MapReduce是一个分布式计算软件框架。基于MapReduce编写的应用程序能够运行在由普通计算机组成的大规模集群之上,并以一种可靠、容错的方式并行处理TB级以上的数据集,特别适合用于海量的结构化、半结构化和非结构化数据的混合处理。MapReduce采用先分后合的数据处理方式。Map即“分解”,把海量数据分割成了若干部分,分给多台处理器并行处理;Reduce即“合并”,对各台处理器处理后的结果进行汇总操作以得到最终结果。4) 大数据访问框架大数据访问框架实现了对传统关系数据库和Hadoop的访问,其主流技术包括Mahout、Pig、Hive、Sqoop等。Mahout:一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合。Mahout最大的优点就是基于Hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。Pig:基于Hadoop的数据流处理语言,可以将类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Hive:一个数据仓库工具,是MapReduce实现的用来查询和分析结构化数据的中间件。Hive的类SQL查询语言可以查询和分析存储在Hadoop中的大规模数据。Sqoop:用于在Hadoop与传统的数据库间进行数据的传递,它可以将一个关系数据库中的数据导入Hadoop的HDFS,也可以将HDFS的数据导入关系数据库。5) 大数据服务框架大数据访问框架之上是大数据服务框架,用于实现对大数据的组织和调度,为大数据分析做准备,其主流技术包括Zookeeper、Flume等。Zookeeper:主要用来解决分布式应用中经常遇到的一些数据管理问题,如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。Flume:一个分布式、高可靠、高可用的海量日志采集、聚合和传输的系统,支持在系统中定制各类数据发送方,用于收集数据;对数据可进行简单处理,并写到各种数据接收方。5.3.2网络计算随着计算机技术和网络技术的发展以及全球经济模式的变化,网络计算模型也在不断发展。所谓网络计算,是指网络上的多台计算机协同处理一个复杂的计算任务,每台计算机负责一部分,这样可以大大提高运算效率。从集中式计算到分布式计算,再到移动计算和普适计算,每种计算模型都各有特点。企业信息系统的应用结构也随着计算模型的变化而变化。1. 集中式计算集中式计算诞生于早期的大型机时代,当时计算机庞大而昂贵,一个组织机构不可能为每个用户单独提供整台计算机,主机必然是共享的,所有用户都是通过系统的终端设备(哑终端)使用主机的资源。终端设备仅仅是一个输入输出接口设备,没有任何处理和存储能力。主机应用程序既负责与用户的交互,又负责对数据的管理。这种计算机模式又称为主机/终端模式。由于物流设备的限制,采用这种计算模式的所有计算数据和程序都只能位于主机系统上,从而形成典型的“集中存储、集中计算”模式。集中式系统是以主机为中心的计算环境,数据管理、事务处理高度集中,初始成本高。这种模式下的信息系统维护与升级只涉及主机,管理成本低。一般来说,集中式计算可靠、高效、安全,管理也方便。但随着用户的增多,对主机处理能力的要求越来越高,一旦原有主机不能满足需要,企业要投入高昂的成本进行主机的升级或替换。同时各主机平台之间的差异越大,不同主机之间的资源共享和互操越困难。该模型适用于大规模集中式应用,如科学与工程计算和集中式事务数据处理。2. 分布式计算20世纪80年代以后,随着微型计算机技术和局域网的兴起,计算机应用领域被大大拓宽。桌面办公应用和数据库技术的大力发展,使协同计算和分布式计算的理念得以迅速推广。分布式计算又可以分为几种不同的计算模型。1) 客户-服务器模型随着客户-服务器计算模型的出现,人们找到了解决异构平台之间资源共享的最佳方法,用户可以选择适合自己需要的客户端、操作系统和应用程序。基于客户-服务器结构的分布式计算逐渐成为企业应用平台的主流计算模型,其结构如图5.12所示。2) 浏览器-服务器模型为了解决传统两层结构客户-服务器模型中的固有问题,出现了三层客户-服务器模型,即客户-应用服务器-数据库服务器模型。在这种三层结构中,客户端应用程序只完成基本的显示、输入和输出;应用逻辑在中间的应用服务器上进行处理,应用服务器接收客户端的请求,根据应用逻辑将该请求转化为数据库请求与数据库服务器进行交互,并将交互结果返回给客户端;而数据则放在后端的数据库服务器上。其模型如图5.13所示。3) P2P计算模型P2P是在Internet上实施网络计算的新模型。在这种模型下,服务器与客户端的界限消失了,网络上所有的节点都可以“平等”共享其他节点的计算资源。系统中的成员同时扮演服务器与客户端的角色,网络应用的核心从中央服务器向网络边缘的终端设备扩散。在这个分布式系统中,各个节点是逻辑对等的,节点之间可以直接进行数据通信而不必通过中间的服务器,每个节点都可以请求服务(客户端的特性),也可以提供服务(服务器的特性)。在P2P网络中,每个节点都为网络提供了一些资源,当越来越多的节点加入网络时,网络的性能就会增强。因此,当网络增大时,它的性能也会增强,这是与客户-服务器计算模型的不同之处。在客户-服务器网络中,当网络增大(即越来越多的客户端加入)时,中央服务器的压力就会增大,最后有可能会导致服务器瘫痪。P2P计算模型带来的一个重要变化是改变了“内容”所在的位置,内容从“中心”走向“边缘”。也就是说,内容将不是存放在几个主要的服务器上,而是存放在所有用户的个人计算机上。除了帮助优化网络性能之外,P2P计算模型还可以用来消除由于单点故障而影响全局的危险。在企业应用方面,可以利用客户端之间的分布式服务代替一些费用高昂的数据中心功能,在客户端上实现数据的备份和存储。3. 移动计算移动计算是随着移动通信、互联网、数据库、分布式计算等技术的发展而兴起的新技术。移动计算是移动终端和无线网络的结合。移动终端具有多样性,如笔记本电脑、平板电脑、智能手机,以及可穿戴式设备,如智能手表、手环、眼镜等。大部分移动计算是通过移动网络进行的。除了消除时间和空间的限制,实现随时随地的通信之外,移动计算还可以实现产品和服务的可定位性。了解用户在任何时刻的位置是为其提供相关产品和服务的关键。基于产品及服务的位置而实现的电子商务应用,被称为定位电子商务。全球定位系统(GlobalPositioningSystem,GPS)可以将各种精确的定位信息传递到用户持有的无线设备上。例如,可以利用移动设备来寻找距离最近的电影院、餐馆或停车场。同时GPS还能够将用户的位置告知他人。定位服务可以针对全体人员,如购物中心内所有的顾客;也可以针对特定的目标,如依据用户所处的不同位置及不同喜好提供不同的信息,将定位服务和个性化服务结合起来。4. 普适计算普适计算,又称普存计算、普及计算、遍布式计算、泛在计算,是一个强调和环境融为一体的计算概念,而计算机本身则从人们的视线里消失。在普适计算的模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。普适计算的含义十分广泛,所涉及的技术包括移动通信技术、小型计算设备制造技术、小型计算设备上的操作系统技术及软件技术等。在信息时代,普适计算可以降低设备使用的复杂程度,使人们的生活更轻松、更有效率。实际上,普适计算是网络计算的自然延伸,它使得不仅个人电脑,而且其他小巧的智能设备也可以连接到网络中,从而方便人们即时地获得信息并采取行动。科学家认为,普适计算是一种状态,在这种状态下,iPad等移动设备、谷歌文档或远程游戏技术Online等云计算应用程序、4G或广域Wi-Fi等高速无线网络将整合在一起,清除“计算机”作为获取数字服务的中央媒介的地位。随着每辆汽车、每台照相机、每台电脑、每块手表以及每个电视屏幕都拥有几乎无限的计算能力,计算机将彻底退居到“幕后”以至于用户感觉不到它们的存在。5.3.3云计算1. 云计算的概念云计算的定义有很多种,被业界广泛接受的是美国国家标准与技术研究院(NIST)所给出的定义:“云计算是一种模型,它可以随时随地、便捷地、随需应变地访问可配置计算资源共享池中的资源(如网络、服务器、存储、应用和服务),只需与最小的资源管理工作或服务提供商进行交互,这些资源就能够被迅速供应和释放。”在当今充满竞争的环境中,组织在提高效率和转变IT流程以达到事半功倍的效果方面的压力越来越大。企业需要缩短产品上市时间,需要更大的灵活性、更高的可用性,并降低成本来满足不断变化的业务需求以及加快创新的步伐。这些业务需求使IT团队面临许多挑战。一些主要挑战是连续向世界各地的客户提供服务,快速更新技术和更快地调配IT资源,并在实现所有这一切的同时降低成本。随着云计算这种新计算模式的出现,这些长期挑战得到了解决,通过云计算,组织和个人能够以服务的形式获取和调配IT资源。云计算的优点主要有:(1) 降低了IT成本:用户可根据按使用付费或按订阅价格购买云服务,从而减少或消除了用户的IT资金开支。(2) 业务灵活性:云计算可提供快速分配和扩展计算容量的能力。云计算可将调配和部署新应用程序和服务所需的时间从数月减少到数分钟,使得企业能够更快地对市场变化做出响应,并缩短产品上市时间。(3) 灵活扩展:云计算使用户能够轻松增加、减少计算资源需求。用户可单向和自动地扩展计算资源,而无须与云服务提供商进行交互。云计算灵活的服务调配功能通常可向云服务用户提供一种无限可扩展的体验。(4) 高可用性:云计算能够确保不同级别的资源都具有可用性,具体取决于用户的策略和优先级。冗余基础架构组件(服务器、网络路径和存储设备以及群集软件)支持云部署的容错功能。这些技术可覆盖位于不同地理区域的多个数据中心,从而避免由于区域故障而引起的数据不可用情况。因此,对于企业用户而言,云计算帮助他们降低了初始投资,需要时购买,不需要时就退购。云计算帮助企业解决了信息化基础设施构建问题,因此对于许多对成本比较敏感的中小企业而言具有极大的价值。云计算模型由三种交付模式、四种部署模型、五个基本特性构成。2. 云交付模式云交付模式是云计算服务提供者提供的事先打包好的信息技术资源组合。三种常见的交付模式是:基础设施作为服务(IaaS)、平台作为服务(PaaS)和软件作为服务(SaaS)。这三种模式是互相关联的,并且可以组合起来使用。1) 基础设施作为服务(IaaS)IaaS是指向用户提供的功能用于调配处理、存储网络和其他基础计算资源,用户能够在其中部署和运行任意软件(包括操作系统和应用程序)。用户不管理或控制基础云基础架构,但可控制操作系统和部署的应用程序;可以有限制地控制选择的网络组件(例如主机防火墙)。IaaS是云服务堆栈的基本层,它是SaaS和PaaS的基础。2) 平台作为服务(PaaS)PaaS是指向用户提供的功能将部署到云基础架构用户创建的或获得的应用程序上,这些应用程序是使用提供商支持的编程语言、库、服务和工具创建的。用户不管理或控制基础云基础架构(包括网络、服务器、操作系统或存储),但可控制已部署的应用程序,并可以控制应用程序宿主环境的配置设置。PaaS还用作应用程序开发环境,由云服务提供商提供相关服务。用户可使用这些平台对其应用程序编码,然后在云架构上部署这些应用程序。由于已部署应用程序的工作负载各不相同,因此计算资源的可扩展性通常由计算平台以透明方式进行保证。3) 软件作为服务(SaaS)SaaS是指用户可以使用云平台上提供的应用。可从各种客户端设备通过瘦客户端接口(例如Web浏览器(如基于Web的电子邮件))或程序接口访问这些应用程序。用户不管理或控制基础云基础架构(包括网络、服务器、操作系统、存储甚至单个应用程序功能),但可控制应用中的用户特定设置。在SaaS模式中,应用程序(如客户关系管理(CRM)、电子邮件和即时消息(IM))作为云服务提供商的服务来提供。云服务提供商以独占方式管理所需的计算基础架构和软件来支持这些服务。SaaS模式允许用户更改一些应用程序配置,以自定义应用程序。3. 云部署模型1) 公有云在公有云模式中,云基础架构被调配为由公众公开使用,它可由企业、学院或政府组织或这些组织的组合拥有、管理和操作。它的存在以云提供商为前提。用户使用提供商通过Internet提供的云服务,并支付定量使用费用或订阅费用。公有云的优势在于其低资金成本和良好的可扩展性。但是,对于用户来说,这些优势会带来一些风险:无法控制云中的资源,涉及机密数据的安全性,存在网络性能和互操作性问题。常见的公有云服务提供商包括Amazon、Google和S。

温馨提示

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

评论

0/150

提交评论