一、概述
谈到大数据,离不开云计算、物联网、数据中心这些关键基础技术。
云计算是分布式处理、并行处理和网格计算的,或者说是这些计算机科学概念的商业实现。狭义上云计算指IT基础设施的交付和使用模式,即通过网络以按需、易扩展的方式获得所需资源;广义上云计算指服务的交付和使用模式,即通过网络以按需、易扩展的方式获得所需服务。云计算强调云存储和计算能力,是一个动态的过程。大数据是计算的对象,强调的是服务器的存储能力和计算能力。
物联网的基本思想是,将现实世界中的不同物体,比如RFID、条码、传感器、移动电话等,通过互联网连接起来,实现信息交换和通信,使其相互之间进行协作来完成共同的目的。与互联网相比,物联网具有3个显著特点:1.终端设备多样化;2.数据采集自动化;3.终端智能化。
数据中心的主要作用是对企业的业务系统和数据资源进行集中、集成、共享、运营和管理。数据中心一般由四部分组成:机房场地、辅助设备、IT设备、运维。在大数据时代,数据中心不仅是集中存储数据的组织机构,还应承担更多的责任--采集数据、管理数据、组织数据,尽可能发挥数据的价值和作用。
二、大数据四个阶段
大数据价值链一般分为四个阶段:数据生成、数据采集、数据存储以及数据分析。
1. 数据生成
“大数据是指通过各种纵向或分布式数据源生成的规模庞大、多样化和复杂的数据集”,数据源包括传感器、视频、点击流或所有其他可用的数据源。
2. 数据采集
大数据采集包括数据收集、数据传输和数据预处理。
2.1 数据收集
数据收集是指利用专用的数据收集技术,以从具体的数据生产环境中获取原始数据。常用的收集数据方法有:
1.日志文件
是由数据源系统自动生成的记录文件,用以记录指定的文件格式中的活动,以供后续分析。
2.传感器
主要用于测量物理量,并将物理量转换成可读的数据信号,以供后续处理。
有线传感器网络比较普遍;无线传感器网络(WSNs)已应用于多种应用程序中,无线传感器网络通常包含大量空间分布式传感器节点,这些节点都是采用电池供电的微型设备。
3.网络数据采集方法
网络数据采集主要是采用网络爬虫、分词系统、任务与索引系统等技术进行综合运用来完成的。
2.2 数据传输
数据传输分为两个阶段:外部传输和内部传输。
1.外部传输
全球大部分地区的物理网络基础架构都是由大容量、高速率、高性价比的光纤传输系统组成的。基于IP的WDM(波分复用)网络架构,目前骨干网中已经部署有单通道速率高达40Gb/s的WDM光传输系统,现在已有100Gb/s的商用化接口,预计很快就会实现100Gb/s速率的系统。首次出现在无线系统中的正交频分复用(OFDM),已被认为是未来高速光传输技术的主要候选技术之一。
2.内部传输
当前大多数数据中心内部网络都是基于商品交换来构建标准的胖树型2层或3层结构的。
近年来数据中心网络的光互联引起了极大关注,光互联被认为是一种高吞吐量、低延迟、低能耗的解决方案。目前,光学技术只被用于数据中心的点至点链接中。这些链接是基于低成本的多模光纤(MMF)来实现交换机的连接,带宽高达10Gb/s。光互联能够提供Tb/s级的传输带宽,还能减少能源消耗。
2.3 数据预处理
数据预处理技术:
1.集成
数据集成是现代商业信息学的基石,涉及不同来源数据的结合,以及为用户提供统一的数据视图。
有两种方法已经获得了认可:数据仓库和数据联邦。数据仓库也称为ETL,包括三个步骤:提取、转换和加载。
2.清理
数据清理是一个识别不准确、不完整、或不合理的数据,然后对其进行修改或删除,以提高数据质量的过程。
3.冗余消除
数据冗余是指数据的重复或多余,这种现象常见于各种数据集中。
3. 数据存储
数据存储系统可分为两部分:基础硬件和数据存储方法或机制。
3.1
使用分布式系统保存海量数据时,需要考虑三个方面的因素:
(1)一致性:保证多个副本的数据完全一致的性质为一致性
(2)可用性:在系统中的一部分节点出现故障以后,系统的整体不影响客户端的读/写请求称为可用性
(3)分区容错性:当一个网络因为故障而分解为多个部分的时候,分布式存储系统仍然能够工作
CAP理论指出:一个分布式系统不可能同时满足一致性、可用性和分区容错性这三个需求,最多只能同时满足两个。因此可以分为CA系统、CP系统和AP系统。
CA系统:舍弃了分区容错性,一般情况下认为CA系统为单服务器的存储系统。
CP系统:舍弃了可用性,比较适用于访问量相对不是特别大但是对数据的准确性要求非常高的场景,如交易数据。较常见的有BigTable、Hbase等。
AP系统:没有强一致性特点,在一些高频率请求且对准确性要求不是非常高的环境下比较常用,比如在线社交网络系统。AP系统可以保证最终一致性,所以对实时性要求不高的情况下也可以使用AP系统来提高性能。目前比较著名的AP系统包括Dynamo、Cassandra等。
3.2 大数据存储机制
3.2.1 数据库技术
传统的关系型数据库已不能应对大数据的种类和规模带来的挑战,NoSQL数据库开始被更多的应用于大数据环境下。NoSQL数据库有以下一些基本特征:模式自由、支持简单复制、简单的API、最终的一致性和支持大容量数据。
(1)键-值存储数据库
由一个简单的数据模型组成,数据按照键/值对的形式进行存储。每个键是独一无二的,客户根据键输入查询值。键值数据库通过将关键词分布给节点来提供可扩展性。
1)Dynamo系统
2)Voldemort系统
(2)列式存储数据库
按列而不是行来存储和处理数据。列和行都被分割在多个节点,以此实现可扩展性。
1)Bigtable系统
2)Cassandra系统
(3)文档数据库
与键-值存储数据库相比,文档数据库能支持更为复杂数据的存储。
1)MongoDB系统
2)SimpleDB系统
3)CouchDB系统
3.2.2 数据库编程模型
海量数据集通常通过广域存储在数百甚至数千台商用服务器中,传统的并行模型(如MPI、OpenMP)很难执行如此大规模的并行程序。现在已经提出了一些数据并行编程模型来解决特定领域的应用。这些模型有效地改善了NoSQL数据库的性能并减少了与关系型数据库之间的性能差距,已经成为海量数据分析的基石。
(1)MapReduce模型
(2)Dryad模型
(3)ALL-Pairs模型
(4)Pregel模型
原文地址:http://blog.51cto.com/likerock/2128271