大数据关键技术
- 格式:doc
- 大小:224.50 KB
- 文档页数:6
d A l l t h i n g s i n t he i r b e i n大数据关键技术大数据技术,就是从各种类型的数据中快速获得有价值信息的技术。
大数据领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和呈现的有力武器。
大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。
一、大数据采集技术 数据是指通过RFID 射频数据、传感器数据、社交网络交互数据及移动互联网数据等方式获得的各种类型的结构化、半结构化(或称之为弱结构化)及非结构化的海量数据,是大数据知识服务模型的根本。
重点要突破分布式高速高可靠数据爬取或采集、高速数据全映像等大数据收集技术;突破高速数据解析、转换与装载等大数据整合技术;设计质量评估模型,开发数据质量技术。
大数据采集一般分为大数据智能感知层:主要包括数据传感体系、网络通信体系、传感适配体系、智能识别体系及软硬件资源接入系统,实现对结构化、半结构化、非结构化的海量数据的智能化识别、定位、跟踪、接入、传输、信号转换、监控、初步处理和管理等。
必须着重攻克针对大数据源的智能识别、感知、适配、传输、接入等技术。
基础支撑层:提供大数据服务平台所需的虚拟服务器,结构化、半结构化及非结构化数据的数据库及物联网络资源等基础支撑环境。
重点攻克分布式虚拟存储技术,大数据获取、存储、组织、分析和决策操作的可视化接口技术,大数据的网络传输与压缩技术,大数据隐私保护技术等。
二、大数据预处理技术主要完成对已接收数据的辨析、抽取、清洗等操作。
1)抽取:因获取的数据可能具有多种结构和类型,数据抽取过程可以帮助我们将这些复杂的数据转化为单一的或者便于处理的构型,以达到快速分析处理的目的。
2)清洗:对于大数据,并不全是有价值的,有些数据并不是我们所关心的内容,而另一些数据则是完全错误的干扰项,因此要对数据通过过滤“去噪”从而提取出有效数据。
引言:随着信息技术的快速发展,大数据已经成为了当前社会经济发展的重要驱动力。
而在大数据的背后,有许多关键技术支撑着它的发展。
本文将详细阐述大数据的关键技术,并分析其在实际应用中的重要性。
概述:大数据是指数据量规模巨大,类型繁多,处理速度快的数据集合。
在处理大数据时,关键技术起着至关重要的作用。
这些关键技术包括存储技术、计算技术、分析技术、挖掘技术和隐私保护技术。
下面将逐一进行详细阐述。
正文:一、存储技术1. 分布式文件系统:分布式文件系统通过将大数据分布在多个物理节点上,实现数据的存储和管理。
典型的分布式文件系统包括Hadoop Distributed File System(HDFS)和Google File System (GFS)。
2. 分布式数据库:分布式数据库是指将数据分布在多个节点上进行存储和管理的数据库系统。
典型的分布式数据库包括Apache Cassandra和MongoDB等。
3. 列式存储:列式存储是一种将数据按照列进行存储的方式,相比于传统的行式存储,它能够提供更高的查询性能。
HBase和Cassandra等数据库采用了列式存储的方式。
二、计算技术1. 分布式计算:分布式计算是指将计算任务分布在多个计算节点上进行并行计算的技术。
Apache Spark和MapReduce是常用的分布式计算框架。
2. 并行计算:并行计算是指将一个大任务划分成多个子任务,并且这些子任务可以并行地进行计算。
典型的并行计算模型有共享内存模型和消息传递模型。
3. 可扩展性:可扩展性是指系统在面对大规模数据时,能够保持高性能和低延迟的能力。
具备良好可扩展性的系统能够自动根据工作负载的增加或减少来调整资源的分配。
三、分析技术1. 数据预处理:大数据分析的第一步是进行数据预处理,包括数据清洗、数据集成和数据转换等过程,以确保数据的质量和准确性。
2. 数据挖掘:数据挖掘是指从大数据中发现潜在模式、关联规则和异常值等有价值的信息。
大数据分析的关键技术和应用场景随着数字化时代的到来,数据的规模与维度呈几何级数增长。
在如此庞大的数据海洋中,如何挖掘其中的价值成为了现代企业亟需解决的问题。
而大数据分析技术的引入,使得企业可以更加深入地挖掘数据背后的内在联系,并获得更加精准的信息。
一、大数据的关键技术1、分布式计算技术分布式计算技术是大数据技术的重要组成部分。
它充分利用了云计算、集群计算、并行计算等技术,将大数据划分为多个任务,由多个计算单元同时处理,大大缩短了计算时间。
例如Hadoop,它分布式存储和处理海量数据,可快速、可扩展性地分析更多的数据。
2、机器学习技术机器学习技术是将人工智能应用到大数据分析和挖掘中的重要手段。
它可以自动发现大数据中的模式和规律,并通过这些发现实现预测和决策。
例如深度学习技术可以处理大量的噪声和非结构化数据,更好地揭示数据的隐含规律。
3、云计算技术云计算技术可以帮助企业创建虚拟化的基础架构、存储和计算机环境。
基于云计算技术,企业可以快速实现大规模集群化计算,提高数据存储与分析的效率。
例如AWS云计算环境,为企业提供了便于部署、安全性高、高伸缩性的大数据分析环境。
二、大数据分析的应用场景1、金融行业金融行业作为高度信息化的行业之一,利用大数据分析技术可以更好地发现市场的机会和风险、建立更科学的金融风控体系和信用评估模型、提高交易执行效率和客户服务体验。
例如,利用机器学习算法对国内外市场数据进行有效分析可以提高对汇率风险和债券市场波动风险的有效识别,以尽可能降低风险。
2、互联网行业互联网行业作为数字化与信息化最为成熟的行业之一,大量的访问日志、用户搜索关键词、点击流和交易记录等数据都为企业的运营和管理提供了优质的数据来源。
例如,淘宝利用大数据分析技术,通过分析用户画像和行为,可以更加精准地推荐商品,提高商品匹配度,从而提高销售转化率。
3、制造业制造业是数字化转型的重要领域,利用大数据分析技术可以实现机器智能、智能制造和智能物流等目标。
大数据的关键技术及其应用场景大数据是指规模巨大、复杂度高且难以处理的数据集合。
随着科技的发展和互联网的普及,大数据的应用场景越来越广泛。
本文将介绍大数据的关键技术以及它们在各个领域的应用场景。
一、关键技术1.数据采集与存储:大数据的第一步是收集和存储海量的数据。
数据采集可以通过各种传感器、移动设备、社交媒体等手段进行。
而数据存储则需要高效、可扩展的存储系统,如分布式文件系统和云存储技术。
2.数据清洗与预处理:大数据往往包含大量的噪音和冗余信息,需要进行数据清洗和预处理。
数据清洗可以通过去重、去噪声、填补缺失值等方式进行。
预处理则包括数据转换、标准化、归一化等操作,以便后续的分析和挖掘。
3.数据分析与挖掘:大数据的核心是数据分析和挖掘。
通过使用各种统计学、机器学习和数据挖掘算法,可以从大数据中提取出有用的信息和知识。
常见的数据分析和挖掘技术包括聚类分析、关联规则挖掘、分类与预测等。
4.数据可视化与展示:大数据分析结果往往需要以直观、可理解的方式展示给用户。
数据可视化技术可以将抽象的数据转化为图表、图形等形式,帮助用户更好地理解和利用数据。
二、应用场景1.金融行业:大数据在金融行业的应用非常广泛。
通过分析大量的金融数据,可以提高风险管理和投资决策的准确性。
例如,银行可以利用大数据技术实现反欺诈系统,及时发现和阻止欺诈活动。
同时,大数据还可以用于个人信用评估、股票市场预测等方面。
2.医疗保健:大数据在医疗保健领域的应用有助于提高医疗服务的质量和效率。
通过分析大量的医疗数据,可以实现个性化的诊断和治疗方案。
此外,大数据还可以用于疾病预测、流行病监测等方面。
3.智能交通:大数据可以帮助城市交通管理部门实现智能交通系统。
通过分析大量的交通数据,可以实时监测道路拥堵情况,优化交通信号控制,提供实时的交通导航等服务。
4.电子商务:大数据在电子商务领域的应用主要体现在个性化推荐和精准营销方面。
通过分析用户的购买历史、浏览行为等数据,可以给用户推荐他们感兴趣的商品,提高购买转化率。
随着信息技术和人类生产生活交汇融合,全球数据呈现爆发增长、海量集聚的特点,对经济发展、社会管理、国家管理、人民生活都产生了重大影响。
近年来,我国政府、企业、科研机构都投入了大量的精力开展大数据相关的研究工作,大数据在政策、技术、产业、应用等方面均获得了长足发展。
大数据是信息化发展的新阶段。
随着信息技术和人类生产生活交汇融合,互联网快速普及,全球数据呈现爆发增长、海量集聚的特点,对经济发展、社会管理、国家管理、人民生活都产生了重大影响。
近年来大数据在政策、技术、产业、应用等多个层面都取得了显著发展。
在政策层面,大数据的重要性进一步得到巩固。
党的十九大提出“推动互联网、大数据、人工智能和实体经济深度融合”,深刻分析了我国大数据发展的现状和趋势,对我国实施国家大数据战略提出了更高的要求。
在技术层面,以分析类技术、事务处理技术和流通类技术为代表的大数据技术得到了快速的发展。
以开源为主导、多种技术和架构并存的大数据技术架构体系已经初步形成。
大数据技术的计算性能进一步提升,处理时延不断降低,硬件能力得到充分挖掘,与各种数据库的融合能力继续增强。
在产业层面,我国大数据产业继续保持高速发展。
权威咨询机构 Wikibon 的预测表示,大数据在 2022 年将深入渗透到各行各业。
在应用层面,大数据在各行业的融合应用继续深化。
大数据企业正在尝到与实体经济融合发展带来的“甜头”。
利用大数据可以对实体经济行业进行市场需求分析、生产流程优化、供应链与物流管理、能源管理、提供智能客户服务等,这非但大大拓展了大数据企业的目标市场,更成为众多大数据企业技术进步的重要推动力。
随着融合深度的增强和市场潜力不断被挖掘,融合发展给大数据企业带来的益处和价值正在日益显现。
在利用大数据提升政府管理能力方面,我国在 2022 年出台了《政务信息系统整合共享实施方案》、《政务信息资源目录编制指南(试行)》等多项政策文件推进政府数据汇聚、共享、开放,取得了诸多发展。
大数据的关键技术及其应用场景大数据是当今信息时代的重要产物,它以庞大的数据量、多样的数据类型和高速的数据处理能力为特征,对各个领域的发展起到了重要的推动作用。
而大数据的关键技术则是支撑大数据应用的基础,下面将介绍几个关键技术及其应用场景。
一、数据采集与存储技术数据采集是大数据应用的第一步,而数据存储则是保障数据的可靠性和高效性的重要环节。
在数据采集方面,传感器技术的发展使得各种设备和系统能够实时采集和传输各类数据,如温度、湿度、压力等。
而在数据存储方面,分布式文件系统和分布式数据库技术的应用,能够将海量的数据存储在多个节点上,提高数据的可靠性和访问效率。
二、数据清洗与预处理技术由于大数据的来源多样且数据质量参差不齐,因此需要对数据进行清洗和预处理,以提高数据的准确性和可用性。
数据清洗技术主要包括去重、填充缺失值、异常值处理等操作,而数据预处理技术则包括数据标准化、特征选择、降维等操作。
这些技术的应用场景包括金融风控、医疗诊断、智能交通等领域。
三、数据挖掘与分析技术数据挖掘是从大数据中发现隐含模式、规律和知识的过程,而数据分析则是对数据进行统计和推理,为决策提供支持。
数据挖掘技术包括关联规则挖掘、分类与预测、聚类分析等方法,而数据分析技术包括统计分析、机器学习、人工智能等方法。
这些技术的应用场景包括市场营销、舆情分析、智能推荐等领域。
四、数据可视化与交互技术大数据的特点是数据量庞大且多样,如何将数据转化为可视化的图表和图像,以方便用户理解和分析,是数据可视化技术的核心任务。
数据可视化技术主要包括图表绘制、地理信息展示、虚拟现实等方法。
此外,交互技术也是数据应用中的重要环节,通过人机交互的方式,使用户能够方便地查询、分析和操作数据。
这些技术的应用场景包括数据报表展示、智慧城市、虚拟现实游戏等领域。
五、数据安全与隐私保护技术随着大数据的广泛应用,数据安全和隐私保护问题也日益突出。
数据安全技术主要包括数据加密、访问控制、防火墙等方法,而隐私保护技术则包括数据匿名化、脱敏处理、隐私保护算法等方法。
⼤数据的关键技术:数据采集,数据存储和管理,数据处理和分
析,数据隐私和安全
分布四个部分
1. 数据采集
通过爬⾍⼯具,ETL⼯具获取数据,然后经过清洗、转换和集成将数据加载到数据仓库或者数据集市中。
extract, transform,load
2. 数据存储和管理
典型的存储地⽅:⽂件系统和数据库
由于海量的数据导致单机存储的⽅式不够⽤,转⽽存到多个机器上(甚⾄上百台机器):分布式⽂件系统和分布式数据库(分布式存储技术)
原有的关系型数据库也不能⽀持现有的海量数据,现在以Nosql为基础的⾮关系型数据库存储了⼤概90%的数据量。
3. 数据处理和分析
原有的单机计算⽅式已经解决不了那么海量的数据了,如何实现实时⾼效的计算(分布式处理技术)
现在分布式架构的mapreduce、saprk等可以解决⼤数据的计算问题
4. 数据隐私和安全
由于数据源的多样性,诞⽣了
隐私数据保护体系
数据安全保护体系
这四个部分最重要的是第2和第3部分
第2的分布式存储技术--------------将数据分布式的存储
google公司提出GFS
hadoop中的HDFS
第3的分布式处理技术------------在多台机器上计算同⼀个任务(数据在哪台机器上,就在哪台机器上进⾏计算)
google公司提出MAPReduce
hadoop开源实现了
可以看出hadoop包含了两块,存储⽅式HDFS,处理⽅式mapreduce。
大数据关键技术有哪些(一)引言概述:随着大数据时代的到来,大数据的处理和分析成为业务领域中的一个重要挑战。
为了应对这一挑战,大数据关键技术得以发展和应用,以提供高效的数据处理和分析解决方案。
本文将介绍大数据关键技术的第一部分。
正文内容:一、数据存储技术1. 分布式文件系统:如Hadoop Distributed File System (HDFS),提供高可靠性和可伸缩性的文件存储方案。
2. 列式存储:将数据按照列存储,提高数据压缩率和查询效率。
3. 内存数据库:将数据存储在内存中,提高数据读写速度。
二、数据处理技术1. 批处理:通过将数据划分为批次进行处理,适用于对历史数据进行分析。
2. 流式处理:实时处理数据流,适用于对实时数据进行分析和决策。
3. 图计算:通过图的结构和算法进行大规模数据的分析和计算。
三、数据挖掘技术1. 分类与预测:通过训练模型对数据进行分类和预测,如决策树、支持向量机等。
2. 聚类分析:发现数据中的相似性,将数据聚集在一起形成群组,如k-means算法等。
3. 关联规则挖掘:挖掘数据中的关联关系,如购物篮分析、关联规则算法等。
四、数据可视化技术1. 图表可视化:通过绘制图表展示数据分布和趋势,如折线图、柱状图等。
2. 地理可视化:将数据在地理空间上进行可视化展示,如地图、热力图等。
3. 交互可视化:与用户进行交互,让用户自由探索数据,如可拖动、可放大缩小等。
五、数据安全与隐私保护技术1. 数据加密:对数据进行加密处理,确保数据传输和存储的安全。
2. 访问控制:限制用户对数据的访问权限,确保数据的隐私性。
3. 匿名化处理:对数据进行脱敏处理,保护用户的隐私。
总结:本文介绍了大数据关键技术的第一部分,包括数据存储技术、数据处理技术、数据挖掘技术、数据可视化技术以及数据安全与隐私保护技术。
这些技术在大数据时代的应用中发挥着重要作用,为数据处理和分析提供了有效的解决方案。
在后续的文章中,将继续探讨大数据关键技术的其他方面。
阐述大数据的关键技术大数据是指在传统数据处理软件难以处理的庞大的、复杂的数据集。
这种数据可以是结构化的,比如数据库里的表格,也可以是非结构化的,比如社交媒体上的文字或图片。
大数据通常涉及数据挖掘、存储、处理、分析等方面的技术。
下面将详细介绍几个关键的大数据技术:1.分布式存储与计算:大数据的第一个关键技术是分布式存储与计算。
由于大数据的规模极大,传统的存储和计算方法无法满足需求。
因此,分布式存储与计算技术被引入。
这种技术利用多台计算机协同工作,每台计算机处理一部分数据,大大提高了数据处理速度。
例如,Hadoop和Spark 等框架就是这种技术的典型代表。
2.数据挖掘与机器学习:大数据的另一个关键技术是数据挖掘和机器学习。
在大数据时代,我们需要从海量数据中提取有价值的信息,这就需要使用数据挖掘和机器学习的方法。
这些方法可以自动地发现数据中的模式和规律,从而为决策提供支持。
例如,深度学习、神经网络等技术就是常用的机器学习方法。
3.数据库技术:虽然传统的关系型数据库在处理大数据时面临挑战,但是一些新型的数据库技术,如NoSQL数据库,能够更好地处理大数据。
NoSQL数据库可以处理海量的数据,并且不需要严格的结构化查询语言,因此更加灵活。
例如,MongoDB、Cassandra等就是常见的NoSQL数据库。
4.数据处理与分析:大数据的处理和分析是一个复杂的过程,涉及到数据的清洗、转换、聚合等多个步骤。
这些步骤需要使用一些专门的技术和工具,比如数据管道、数据处理算法等。
通过这些技术和工具,我们可以将原始的数据转化为有价值的信息。
5.可视化技术:可视化是展示大数据的一种重要手段。
通过图形、图表等方式,我们可以将复杂的数据以易于理解的形式呈现出来。
这可以帮助我们更好地理解和分析数据。
例如,Tableau、PowerBI等工具就是常用的数据可视化工具。
6.隐私保护与安全:随着大数据的使用越来越广泛,隐私保护和安全问题也变得越来越重要。
大数据关键技术摘要:结合大数据系统的一般结构,介绍和对比了当前大数据领域在文件存储、数据处理和数据库领域的关键技术。
通过各种技术的对比,得到了一些分析结果。
分析结果表明大数据系统的解决方案必将落地于现有的云计算平台;云计算平台的分布式文件系统、分布式运算模式和分布式数据库管理技术是解决大数据问题的基础;一些大的依靠数据盈利的大公司必然会是大数据应用的主体。
关键词:大数据;分布式文件系统;分布式数据库;MapReduce技术21世纪,世界已经进入数据大爆炸的时代,大数据时代已经来临。
从商业公司内部的各种管理和运营数据,到个人移动终端与消费电子产品的社会化数据,再到互联网产生的海量信息数据等,每天世界上产生的信息量正在飞速增长。
2009年数据信息量达到8000亿GB,而到2011年达到1.8ZB[1]。
图灵奖获得者JimGray提出的“新摩尔定律”:“每18个月全球新增信息量是计算机有史以来全部信息量的总和”,已经得到验证。
大数据的“大”不仅仅体现在数据的海量性,还在于其数据类型的复杂性。
随着报表、账单、影像、办公文档等在商业公司中得到普遍使用,互联网上视频、音乐、网络游戏不断发展,越来越多的非结构化数据进一步推动数字宇宙爆炸。
数据海量而复杂,这是对大数据的诠释。
与传统的数据相比,大数据具有规模性(Volume)、多样性(Variety)、高速性(Velocity)和低价值密度(Value)的4V特点[2]。
规模性和高速性是数据处理一直以来研究和探讨的问题,多样性和价值密度低是当前数据处理发展中不断显现出来的问题,而且在可以预见的未来,随着智慧城市、智慧地球等各种新设想的不断成为现实,上面的4中问题将会变得更加凸显,而且是不得不面对的问题。
数据的产生经历了被动、主动和自动3个阶段[3]。
大数据的迅猛发展是信息时代数字设备计算能力和部署数量指数增长的必然结果。
解决大数据研究中的问题,必须要从大数据的产生背景进行研究。
大数据的产生源于规模效应,这种规模效应给数据的存储、管理以及数据的分析带来了极大的挑战,数据管理方式上的变革正在酝酿和发生。
大数据的规模效应要求其存储、运算方案也应当从规模效应上进行考虑。
传统的单纯依靠单设备处理能力纵向发展的技术早已经不能满足大数据存储和处理需求。
以Google等为代表的一些大的数据处理公司通过横向的分布式文件存储、分布式数据处理和分布式的数据分析技术很好的解决了由于数据爆炸所产生的各种问题。
1 大数据关键技术1.1 大数据系统的架构大数据处理系统不管结构如何复杂,采用的技术千差万别,但是总体上总可以分为以下的几个重要部分。
大数据系统结构如图1所示。
从数据处理的一般流程可以看到,在大数据环境下需要的关键技术主要针对海量数据的存储和海量数据的运算。
传统的关系数据库经过近40年的发展已经成为了一门成熟同时仍在不断演进的数据管理和分析技术,结构化查询语言(SQL)作为存取关系数据库的语言得到了标准化,其功能和表达能力也得到的不断增强。
但是,关系数据管理系统的扩展性在互联网环境下遇到了前所未有的障碍,不能胜任大数据分析的要求。
关系数据管理模型追求的是高度的一致性和正确性。
纵向扩展系统,通过增加或者更换CPU、内存、硬盘以扩展单个节点的能力,终会遇到“瓶颈”。
大数据的研究主要来源于依靠数据获取商业利益的大公司。
Google公司作为全球最大的信息检索公司,其走在了大数据研究的前沿。
面对呈现爆炸式增加的因特网信息,仅仅依靠提高服务器性能已经远远不能满足业务的需求。
如果将各种大数据应用比作“汽车”,支撑起这些“汽车”运行的“高速公路”就是云计算。
正是云计算技术在数据存储、管理与分析等方面的支持,才使得大数据有用武之地。
Google公司从横向进行扩展,通过采用廉价的计算机节点集群,改写软件,使之能够在集群上并行执行,解决海量数据的存储和检索功能。
2006年Google首先提出云计算的概念。
支撑Google公司各种大数据应用的关键正是其自行研发的一系列云计算技术和工具。
Google公司大数据处理的三大关键技术为:Google 文件系统GFS[4]、MapReduce[5]和Bigtable[6]。
Google的技术方案为其他的公司提供了一个很好的参考方案,各大公司纷纷提出了自己的大数据处理平台,采用的技术也都大同小异。
下面将从支持大数据系统所需要的分布式文件系统、分布式数据处理技术、分布式数据库系统和开源的大数据系统Hadoop等方面介绍大数据系统的关键技术。
1.2 分布式文件系统文件系统是支持大数据应用的基础。
Google是有史以来唯一需要处理如此海量数据的大公司。
对于Google而言,现有的方案已经难以满足其如此大的数据量的存储,为此Google 提出了一种分布式的文件管理系统——GFS。
GFS与传统的分布式文件系统有很多相同的目标,比如,性能、可伸缩性、可靠性以及可用性。
但是,GFS的成功之处在于其与传统文件系统的不同。
GFS的设计思路主要基于以下的假设:对于系统而言,组件失败是一种常态而不是异常。
GFS是构建于大量廉价的服务器之上的可扩展的分布式文件系统,采用主从结构。
通过数据分块、追加更新等方式实现了海量数据的高效存储,如图2所示给出了GFS体系结构。
但是随着业务量的进一步变化,GFS逐渐无法适应需求。
Google对GFS进行了设计,实现了Colosuss系统,该系统能够很好地解决GFS单点故障和海量小文件存储的问题。
除了Google的GFS,众多的企业和学者也从不同的方面对满足大数据存储需求的文件系统进行了详细的研究。
微软开发的Cosmos[7]支撑其搜索、广告业务。
HDFS[8]、FastDFS[9]、OpenAFS[10]和CloudStore[11]都是类似GFS的开源实现。
类GFS的分布式文件系统主要针对大文件而设计,但是在图片存储等应用场景中,文件系统主要存储海量小文件,Facebook为此推出了专门针对海量小文件的文件系统Haystack[12],通过多个逻辑文件共享同一个物理文件,增加缓存层、部分元数据加载到内存等方式有效地解决了海量小文件存储的问题。
Lustre是一种大规模、安全可靠的,具备高可靠性的集群文件系统,由SUN 公司开发和维护。
该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10 000个节点,数以拍字节的数量存储系统。
1.3 分布式数据处理系统大数据的处理模式分为流处理和批处理两种[13-14]。
流处理是直接处理,批处理采用先存储再处理。
流处理将数据视为流,源源不断的数据形成数据流。
当新的数据到来即立即处理并返回所需的结果。
大数据的实时处理是一个极具挑战性的工作,数据具有大规模、持续到达的特点。
因此,如果要求实时的处理大数据,必然要求采用分布式的方式,在这种情况下,除了应该考虑分布式系统的一致性问题,还将涉及到分布式系统网络时延的影响,这都增加了大数据流处理的复杂性。
目前比较有代表性的开源流处理系统主要有:Twitter的Storm[15]、Yahoo的S4[16]以及Linkedin的Kafka[17]等。
Google公司2004年提出的MapReduce编程模型是最具代表性的批处理模型。
MapReduce 架构的程序能够在大量的普通配置的计算机上实现并行化处理。
这个系统在运行时只关心如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中的计算机之间必要的通信。
对于有些计算,由于输入数据量的巨大,想要在可接受的时间内完成运算,只有将这些计算分布在成百上千的主机上。
这种计算模式对于如何处理并行计算、如何分发数据、如何处理错误需要大规模的代码处理,使得原本简单的运算变得难以处理。
MapReduce就是针对上述问题的一种新的设计模型。
MapReduce模型的主要贡献就是通过简单的接口来实现自动的并行化和大规模的分布式计算,通过使用MapReduce模型接口实现在大量普通的PC上的高性能计算。
MapReduce编程模型的原理:利用一个输入键-值(Key/Value)对集合来产生一个输出的key/value对集合。
MapReduce库的用户用两个函数表达这个计算:Map和Reduce。
用户自定义的Map函数接受一个输入的key/value值,然后产生一个中间key/value对集合。
MapReduce库把所有具有相同中间key值的value值集合在一起传递给Reduce函数。
用户自定义的Reduce函数接收一个中间key的值和相关的一个value值的集合。
Reduce函数合并这些value值,形成一个较小的value值集合。
MapReduce的提出曾经遭到过一系列的指责和诟病。
数据专家Stonebraker就认为MapReduce是一个巨大的倒退,指出其存取没有优化、依靠蛮力进行数据处理等问题。
但是随着MapReduce在应用上的不断成功,以其为代表的大数据处理技术还是得到了广泛的关注。
研究人员也针对MapReduce进行了深入的研究,目前针对MapReduce性能提升研究主要有以下几个方面:多核硬件与GPU上的性能提高;索引技术与连接技术的优化;调度技术优化等。
在MapReduce的易用性的研究上,研究人员正在研究更为高层的、表达能力更强的语言和系统,包括Yahoo的Pig、Microsoft的LINQ、Hive等。
除了Google的MapReduce,Yunhong Gu等人设计实现了Sector and Sphere云计算平台[18],包括Sector和Sphere两部分。
Sector是部署在广域网的分布式系统,Sphere是建立在Sector上的计算服务。
Sphere是以Sector为基础构建的计算云,提供大规模数据的分布式处理。
针对不同的应用会有不同的数据,Sphere统一地将它们以数据流的形式输入。
为了便于大规模地并行计算,首先需要对数据进行分割,分割后的数据交给SPE执行。
SPE是Sphere 处理引擎,是Sphere的基本运算单元。
除了进行数据处理外SPE还能起到负载平衡的作用,因为一般情况下数据量远大于SPE数量,当前负载较重的SPE能继续处理的数据就较少,反之则较多,如此就实现了系统的负载平衡。
1.4 分布式数据库系统传统的关系模型分布式数据库难以适应大数据时代的要求,主要的原因有以下几点:(1)规模效应带来的压力。
大数据时代的数据远远超出单机处理能力,分布式技术是必然的选择。
传统的数据库倾向于采用纵向扩展的方式,这种方式下性能的增加远低于数据的增加速度。
大数据采用数据库系统应该是横向发展的,这种方式具有更好的扩展性。
(2)数据类型的多样性和低价值密度性。