第1章 Oracle 12c和云计算

1.1 大数据与云计算

1.1.1 大数据

大数据、云计算是当前的热词,也是技术热点。大数据是由基本的数据组成,而数据(Data)是人们对自然界中的特定信息加工和处理后得到的结果。计算机中的数据是人们对自然界中的信息或者问题进行抽象、加工并映射到信息世界后得到的结果,并使之在图灵机中能够进行处理。

社会进步和科技的快速发展,特别是软硬件和网络技术的广泛应用,使得人们生产、生活和工作要使用大量的数据,使用数据的同时也会生成新的数据,计算机网络中每天都会产生大量的数据,因此人们常说“现在是信息大爆炸时代”。

图灵机中任意两个数据或文件,按照数据类型或文件类型来划分可分为两种:同构(质)数据(Homogeneous Data)和异构(质)数据(Heterogeneous Data)。对数据的处理由以文件处理阶段发展到数据库阶段,并在数据库阶段得到了前所未有的大发展,数据以数据库的形式保存和处理得到广泛的认可,人们也把数据库称为数据仓库,其主要原因是数据库中的数据具有严格的同质性,即数据库中的数据都是结构化数据,因此,人们操作和处理这些数据时就变得非常容易。一个数据库运行的时间越长,数据库中的数据就变得越多,当数据库中数据达到一定的量级时,例如,单个表中的数据达到千万行或者更多,数据量达到TB、PE、EB,数据就达到海量级别。

关于大数据业界还没有一个确切和统一的概念,不同组织和专家对大数据的定义可能不同,但人们普遍认为大数据具有以下特性。

• 数据量大(Volume):数据的量级达到TB、PB甚至EB数据量。

• 数据多样性(Variety):数据源千差万别,使得异构数据类型越来越多,对这些数据需要经过清洗、整理等操作使其变为同构数据。

• 价值密度低(Value):获取的大量数据对于用户有价值的却非常少,例如,要从Internet上获取有关反动言论的信息就符合这一特点。

• 要求响应速度快(Velocity)。

大数据的数据类型

大数据的一个突出特点是数据具有异构性,如果按结构化来划分,大数据的数据类型可分为结构化数据、非结构化数据和半结构化数据。

• 结构化数据(Structured Data):结构化数据是用二维表格的形式进行数据的存储,二维表格由多列组成,每一列的数据具有严格的同质性,每一行数据都具有完全相同的结构。在结构化数据中,每一行数据都是对现实世界实体的一个对象的描述,由于同一实体的不同对象具有相同的属性,因此用二维表格中数据结构相同的行数据来描述和存储具有相同的属性的不同对象,这是结构化数据的实际意义。关系数据库中的数据都属于结构化数据。

• 非结构化数据(Unstructured Data):非结构化数据特点与结构化相反,非结构化数据指不方便用二维表结构来逻辑表达的数据,这些数据没有固定的结构,例如视频、音频、图像、文档等数据。

• 半结构化数据(Semi-structured Data):半结构化数据特点介于结构化数据和非结构化数据之间,其数据有一定的结构,但其结构不完整或者是隐含的、无统一规则。半结构化数据主要来源于网络,如常见的HTML、XML等文件。

大数据是从大量数据中获取有价值的信息,重在数据的效用最大化。

大数据的处理

系统大数据的处理系统主要以Google的Hadoop为代表,Hadoop包括3项关键技术:分布式文件系统(HDFS)、MapReduce编程模式(或Spark)和分布式数据库HBase以及其他相关软件。

1.1.2 云计算

计算机,顾名思义就是用于完成计算任务的机器,从其诞生之日起就是帮助人们实现对问题的求解。随着计算机网络的发展,数据量急剧增加,计算任务和计算量越来越大,因此就出现了网格计算(Grid Computing)和云计算(Cloud Computing)。不论是网格计算还是者云计算,都是基于网络的计算。Oracle公司顺应计算技术发展使Oracle 12c支持云计算。

云计算的定义有很多,美国国家标准和技术研究所(NIST)给出的定义是:云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并能够以最省力和无人干预的方式获取和释放。这种模式具有5个关键功能、3种服务模式和4种部署方式。

云计算的5个关键功能分别是:按需自助服务(On Demand Self-Service);广泛的网络访问(Broad Network Access)能力;动态的资源池(Resource Pooling);快速弹性(Rapid Elasticity);可计量的服务(Measured Service)。

3种服务模式分别是:SaaS(Software as a Service,软件即服务)、PaaS(Paltform as a Service,平台即服务)和IaaS(Infrastructure as a Service,基础设施即服务)。

4种部署方式分别是:公有云、私有云、混合云和社区云。

从以上的阐述可知,云计算和大数据这两个概念既有联系又有区别,因为这两个概念阐述的是一个问题的两个不同的方面。云计算重点解决的是计算技术问题,使单个节点的计算能力最大化;而大数据重点关注数据的价值,希望使数据的价值达到最大化。相对于计算过程而言,大数据更注重数据的效用。

云计算是让位于云端的每个节点计算能力最大化、重在计算技术的应用。

目前,我们国家已经建立了很多的大数据中心和云计算平台,有国家层面的,也有地方政府和企业层面的,这都标志着大数据和云计算在我国正得到广泛的应用。