大数据基本概念与应用场景

说起大数据,相比大家都比较熟悉了,但是真正了解大数据和大数据实现的概念的人却很少,下面将和大家分享一下这方便的基本概念以及现在大数据技术在传统行业的应用,enjoy~~~

一、大数据的概念

大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。
在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

二、大数据存储的关键技术

1,分布式文件系统

分布式文件系统所管理的数据存储在分散的存储设备或节点上,存储资源通过网络连接形成存储集群。

(1)高效元数据管理技术。

在大数据应用中,元数据的规模也非常大,元数据的存取性能是整个分布式文件系统性能的关键。常见的元数据管理可以分为集中式和分布式元数据管理架构。集中式元数据管理架构采用单一的元数据服务器,其优点是实现简单,但存在单点故障等问题。分布式元数据管理架构则将元数据分散在多个节点上,从而解决了元数据服务器性能瓶颈问题,提高了可扩展性,但实现复杂,同时还要解决元数据一致性的问题。此外,还有一种无元数据服务器的分布式架构,使用在线算法组织数据,不需要专用的元数据服务器。但是该架构对数据一致性的保证很困难,实现复杂。另外,文件目录遍历操作的效率低下,并且缺乏文件系统全局监控管理功能。

(2)系统弹性扩展技术。

在大数据环境下,数据规模和复杂度的增加往往非常迅速,因此其存储系统必须提供按需扩展的功能。实现存储系统的高可扩展性首先要解决两个方面的重要问题,即元数据的分配和数据的透明迁移。前者主要通过静态子树划分和动态子树划分技术实现,后者则侧重数据迁移算法的优化。此外,大数据存储系统规模庞大,节点失效率高,因此还需要实现一定程度上的自适应管理功能。系统必须能够根据数据量和计算的工作量估算所需要的节点个数,并动态地将数据在节点间迁移,以实现负载均衡;同时,节点失效时,数据必须可以通过副本等机制进行恢复,不能对上层应用产生影响。

(3)存储层级内的优化技术。

在构建存储系统时,需要基于成本和性能来考虑,因此存储系统通常采用多层不同性价比的存储器件组成存储层次结构。大数据由于规模大,因此构建高效合理的存储层次结构,可以在保证系统性能的前提下,降低系统能耗和构建成本。利用数据访问局部性原理,可以从两个方面对存储层次结构进行优化。从提高性能的角度,可以通过分析应用特征,识别热点数据并对其进行缓存或预取,通过高效的缓存预取算法和合理的缓存容量配比来提高访问性能。从降低成本的角度来看,采用信息生命周期管理方法,将访问频率低的冷数据迁移到低速廉价存储设备上,可以在小幅牺牲系统整体性能的基础上,大幅降低系统的构建成本和能耗。

(4) 针对应用和负载的存储优化技术。

传统数据存储模型需要支持尽可能多的应用,因此需要具备较好的通用性。大数据具有大规模、高动态及快速处理等特性,通用的数据存储模型通常并不是最能提高应用性能的模型,而大数据存储系统对上层应用性能的关注远超过对通用性的追求。针对应用和负载来优化存储,就是将数据存储与应用耦合,简化或扩展分布式文件系统的功能,根据特定应用、特定负载、特定的计算模型对文件系统进行定制和深度优化,使应用达到最佳性能。

(5)针对存储器件特性的优化技术。

随着新型存储器件的发展和成熟, Flash、PCM 等逐渐开始在存储层级中占据一席之地,存储软件栈也随之开始逐渐发生变化。以 Flash 为例,起初各厂商通过闪存转换层 FTL 对新型存储器进行封装,以屏蔽存储器件的特性,适应存储软件栈的现有接口。但是随着 Flash 的普及,产生了许多针对应用对 FTL 进行的优化,以及针对 Flash 特性进行定制的文件系统,甚至有去掉FTL这层冗余直接操作Flash的存储解决方案。传统的本地文件系统,包括分布式文件系统,是否能够与新型存储器件耦合,最大程度地利用这些存储器件新特性上的优势,需要存储软件开发者重新审视存储软件栈,去除存储软件栈的冗余,甚至需要修改一些不再合适的部分。

2,分布式数据库

大数据时代,企业对数据的管理、查询及分析的需求变化促生了一些新技术的出现。需求的变化主要集中在数据规模的增长,吞吐量的上升,数据类型以及应用多样性的变化。数据规模和吞吐量的增长需求对传统的关系型数据库管理系统在并行处理、事务特性的保证、互联协议的实现、资源管理以及容错等各个方面带来了很多挑战。为此,在分布式文件系统的基础之上发展出了分布式数据库技术。

(1)事务性数据库技术。

这种技术以NoSQL(即Not Only SQL)为代表。NoSQL系统通过放弃对事务 ACID 语义的方法来增加系统的性能以及可扩展性,具有以下几个特征。
· 支持非关系数据模型,例如采用键值存储等。
· 简单操作往往不支持SQL。
· 具备在多个节点中分割和复制数据的能力。
· 用最终一致性机制解决并发读操作与控制问题。
· 充分利用分布式索引和内存提高性能。
采用NoSQL技术的代表性系统包括 BigTable、Dynamo、HBase、Cassandra、MongoDB。

(2)分析型数据库技术。

自从MapReduce被Hadoop开源实现之后,Hadoop广受欢迎。目前,在大数据领域涌现出了很多针对Hadoop的SQL分析引擎,代表性系统包括Hive、Impala等。其中,Hive是一个基于MapReduce的SQL引擎。Hive提供了一个类似SQL的查询语言(称为HQL)。Hive的基本原理是接受HQL,解析HQL,然后把HQL语句翻译成多个MapReduce的任务,通过MapReduce来实现基本的类似SQL操作。

3,大数据索引和查询技术

随着数据量、数据处理速度和数据多样性的快速发展,大数据存储系统不但要处理已有的大数据,还要能快速地处理新数据,这就催生了满足大数据环境需要的索引和查询技术。分布式是处理大数据的一个基本思路,这同样适用于大数据索引和查询。分布式索引把全部索引数据水平切分后存储到多个节点上,这样可以有效避免单个节点构建索引的效率瓶颈问题。当业务增长,需要索引更多的数据或者更快地索引数据时,可以通过水平扩展增加更多的节点来解决。切分索引数据时要注意数据分布的均匀性,要避免大量索引数据分布到一个或者几个节点上,否则无法达到负载均衡的目的。与分布式索引对应的就是大数据的分布式查询。所有节点或者部分节点的查询结果由主节点或者查询节点进行汇总,然后得到最终结果。

4,实时流式大数据存储与处理技术

实时流式大数据的处理与分布式系统在原理上有很多相似之处,但也有其独特需求。

(1)数据流加载

实时流式大数据系统中,数据通常以流的方式进入系统,如何高效且可靠地将数据加载到大数据存储系统,成为了流式大数据系统实现低延迟处理的基础。此外,能够重新处理数据流中的数据也是一个很有价值的特性。

(2)复杂事件处理

数据流中的数据源是多种多样的,数据的格式也是多种多样的,而数据的转换、过滤和处理逻辑更是千变万化,因而需要强大而又灵活的复杂事件处理引擎来适应各种场景下的需求。

(3)高可用性

数据通过复杂处理引擎和流计算框架时,通常会经过很多步骤和节点,而其中任何一步都有出错的可能,为了保证数据的可靠性和精准投递,系统需要具有容错和去重能力。

(4)流量控制和缓存

整个流系统可能有若干个模块,每个模块的处理能力和吞吐量差别很大,为了实现总体高效的数据处理,系统需要具备对流量进行控制和动态增加和删除节点的能力。当数据流入大于流出的速度时,还需要有一定的缓存能力,如果内存不足以缓存快速流入的数据时,需要能够持久化到存储层。

三、大数据计算的关键技术

1,大数据查询分析计算模式与技术

当数据规模的增长已大大超过了传统的关系数据库的承载和处理能力时,可以使用分布式数据存储管理和并行化计算方法,大力发展大数据查询分析计算技术。这种技术提供了面向大数据存储管理和查询分析的能力。为了满足企业日常的经营管理需求,大数据查询分析计算技术必须解决在数据量极大时如何提供实时或准实时的数据查询分析能力这一难题。能否达到关系数据库处理中小规模数据时那样的秒级响应性能,将决定大数据查询分析计算技术的成败。目前,具备大数据查询分析计算模式的典型系统有Hadoop下的HBase和Hive,Facebook开发的Cassandra, Google公司的Dremel,Cloudera公司的实时查询引擎Impala。此外,为了实现更高性能的数据查询分析,还出现了基于内存的分布式数据存储管理和查询系统,包括Berkeley AMPLab的Spark数据仓库Shark,SAP公司的Hana等。

2,批处理计算模式与技术

最适合于完成大数据批处理的计算模式是MapReduce。MapReduce是一个单输入、先映射转换(map)后合并汇总(reduce)的数据处理过程。首先,MapReduce对具有简单数据关系、易于划分的大规模数据采用分而治之的并行处理思想;然后将大量重复的数据记录处理过程总结成map和reduce两个抽象的操作;最后,MapReduce提供了一个统一的并行计算框架,把并行计算所涉及的诸多系统层细节都交给计算框架去完成,因此大大简化了程序员进行并行化程序设计的负担。
MapReduce的简单易用性使其成为了目前大数据处理领域最为成功、最广为接受和使用的主流并行计算模式。在开源社区的努力下,目前包含MapReduce的Hadoop系统已发展成为非常成熟的大数据处理平台,已构建起了一个包括众多数据处理工具和环境的完整的生态系统。目前国内外的主要IT企业都在使用Hadoop平台进行企业内大数据的计算处理。

3,流式计算模式与技术

流式计算是一种高实时性的计算模式,需要在规定的时间窗口内完成新数据的实时计算与处理,避免造成数据堆积和丢失。对于诸如电信、电力、道路监控等行业应用,以及互联网行业的日志处理来说,它们都同时具有高流量的流式数据和大量积累的历史数据,因此在提供批处理计算的同时,系统还需要具备高实时性的流式计算能力。流式计算的一个显著特点是数据在流动而运算不能移动,不同的运算节点常常绑定在不同的服务器上。目前,具备流式计算模式的典型系统有Facebook的Scribe和Apache的Flume(它们可实现日志数据流处理)。更通用的流式计算系统是Twitter公司的Storm和Berkeley AMPLab 的Spark Steaming。

4,迭代计算模式与技术

为了克服Hadoop MapReduce难以支持迭代计算的缺陷,人们对Hadoop MapReduce进行了改进。例如,Hadoop把迭代控制放到MapReduce作业执行的框架内部,并通过循环敏感的调度器保证前次迭代的reduce输出和本次迭代的map输入数据在同一台物理机上,以减少迭代间的数据传输开销;MapReduce在这个基础上保持map和reduce任务的持久性,规避启动和调度开销;而Twister在前两者的基础上进一步引入了可缓存的Map和Reduce对象,利用内存计算和pub/sub网络进行跨节点数据传输。
目前,一个具有快速和灵活的迭代计算能力的典型系统是Berkeley AMPLab的Spark,它采用了基于分布式内存的弹性数据集模型来实现快速的迭代计算。

5,图计算模式与技术

社交网络、Web链接关系图等都包含大量具有复杂关系的图数据,这些图数据规模常达到数十亿的顶点和上万亿的边数。这样大的数据规模和非常复杂的数据关系,给图数据的存储管理和计算分析带来了很大的技术障碍。为此,需要引入图计算模式。
大规模图数据处理首先要解决数据的存储管理问题,通常大规模图数据也需要使用分布式存储方式。但是,由于图数据的数据关系很强,分布存储就带来了一个重要的图分区问题。在有效的图分区策略下,大规模图数据得以分布存储在不同节点上,并在每个节点上对本地子图进行并行化处理。与任务并行和数据并行的概念类似,由于图数据并行处理的特殊性,人们提出了一个新的“图并行”的概念。目前,提供分布式图计算的典型系统包括Google公司的Pregel,Facebook对Pregel的开源实现Giraph,微软的Trinity,Berkeley AMPLab 的 Spark的GraphX,CMU的GraphLab以及由其衍生出来的目前性能最好的图数据处理系统PowerGraph。

6,内存计算模式与技术

Hadoop的MapReduce是为大数据脱机批处理而设计的,它在分布式的文件系统之上实现大数据处理,它的主要缺陷是由于频繁的磁盘 IO 读写操作而降低了计算性能。随着大量需要高响应性能的大数据查询分析计算问题的出现,MapReduce往往难以满足要求。随着内存价格的不断下降以及服务器可配置的内存容量的不断提高,用内存计算完成高速的大数据处理已经成为大数据计算的一个重要发展趋势。Spark则是分布内存计算的一个典型的系统,SAP公司的Hana就是一个全内存式的分布式数据库系统。

四、大数据的应用

1,智慧医疗

智慧医疗是医疗信息化的升级发展,通过与大数据、云计算技术的深度融合,以医疗云数据中心为载体,为各方提供医疗大数据服务,实现医生与病人、医疗与护理、大医院与社区医院、医疗与保险、医疗机构与卫生管理部门、医疗机构与药品管理之间的六个协同,逐步构建智慧化医疗服务体系。

2,智慧农业

大数据在农业中的应用主要是指依据未来商业需求的预测来进行农牧产品生产,降低菜贱伤农的概率。同时大数据的分析将会更加精确地预测未来的天气,帮助农牧民做好自然灾害的预防工作。大数据同时也会帮助农民依据消费者消费习惯来决定增加哪些品种农作物的种植,减少哪些品种农作物的生产,提高单位种植面积的产值,同时有助于快速销售农产品,完成资金回流。牧民可以通过大数据分析来安排放牧范围,有效利用牧场。渔民可以利用大数据安排休渔期、定位捕鱼范围等。

3,银行大数据

不少银行已经开始尝试通过大数据来驱动业务运营。银行的大数据应用大概有四个方面,客户画像、精准营销、风险管控与运营优化等。

4,保险行业

保险行业过去一般是通过保险代理人(保险销售人员)开拓保险业务,代理人的素质及人际关系网往往是业务开拓的关键因素。随着互联网和智能手机的普及,网络营销、移动营销和个性化的电话销售的作用越来越明显。保险行业大数据应用可以细分客户细分和精细化营销、欺诈行为分析与精细化运营(产品优化、保单个性化、运营分析、代理人甄选等)等

5,证券行业

目前国内外证券行业的大数据应用大致有股价预测、客户关系管理、投资景气指数。其中客户关系管理包括客户细分、流失客户预测。通过分析客户的账户状态、账户价值、交易习惯、投资偏好以及投资收益,来进行客户聚类和细分,可以发现客户交易模式类型,找出最有价值和盈利潜力的客户群,以及他们最需要的服务,从而更好地配置资源和政策,改进服务,抓住最有价值的客户。此外,可以根据客户历史交易行为和流失情况来建模,从而预测客户流失的概率。

6,零售行业

零售行业的大数据应用有两个层面,一个层面是零售行业可以了解客户消费喜好和趋势,进行商品的精准营销,降低营销成本;另一个层面是依据客户购买的产品,为客户提供可能购买的其他产品,扩大销售额,也属于精准营销范畴。另外,零售行业可以通过大数据掌握未来消费趋势,有利于热销商品的进货管理和过季商品的处理。零售行业的数据对于产品生产厂家是非常宝贵的,零售商的数据信息将会有助于资源的有效利用,降低产能过剩。厂商依据零售商的信息按实际需求进行生产,可以减少不必要的生产浪费。

7,电子商务

电子商务是最早利用大数据进行精准营销的行业。除了精准营销,电子商务可以依据客户消费习惯来提前为客户备货,并利用便利店作为货物中转点,在客户下单15分钟内将货物送上门,提高客户体验。马云的菜鸟网络宣称的24小时完成在中国境内的送货,以及刘强东宣传的未来京东将在15分钟完成送货上门,都是基于客户消费习惯的大数据分析和预测。
电子商务可以利用其交易数据和现金流数据,为其生态圈内的商户提供基于现金流的小额贷款,电子商务行业也可以将此数据提供给银行,同银行合作为中小企业提供信贷支持。由于电子商务的数据较为集中,数据量足够大,数据种类较多,因此未来电子商务数据应用将会有更多的想象空间,包括预测流行趋势、消费趋势、地域消费特点、客户消费习惯、各种消费行为的相关度、消费热点、影响消费的重要因素等。依托大数据分析,电子商务的消费报告将有利于品牌公司产品设计,生产企业的库存管理和计划生产,物流企业的资源配置,生产资料提供方产能安排等,有利于精细化社会化大生产和精细化社会的出现。

8,电子政务

通过大数据,政府可以实现精细化管理。政府过去一直都在利用数据来进行管理,但是由于过去没有高效的数据处理平台,造成了很多数据只是被收集,而没有体现其社会价值。由于缺少全局的数据和完善的数据,数据本身没有体现其应用的价值,所以在过去政府并不重视数据价值。依托于大数据和大数据技术,政府可以及时得到更加准确信息,利用这些信息,政府可以更加高效地管理国家这部机器,实现精细化资源配置和宏观调控。

以上是大数据的概念、大数据存储计算的关键技术与现在大数据在各个行业里面的应用,希望对你有帮助。

内容来自于:《大数据技术基础——基于Hadoop与Spark》 作者:陈虹君,罗福强,李瑶

你可能感兴趣的:(大数据,数据分析,hive,大数据,服务器,数据库)