1、引言
随着以博客、社交网络、基于位置的服务LBS 为代表的新型信息发布方式的不断涌现,以及云计算、物联网等技术的兴起,数据正以前所未有的速度在不断的增长和累积,大数据时代已经来到。学术界、工业界甚至于政府机构都已经开始密切关注大数据问题,并对其产生浓厚的兴趣。就学术界而言,Nature 早在2008 年就推出了Big Data 专刊。计算社区联盟(Computing Community Consortium)在2008 年发表了报告《Big-Data Computing: Creatingrevolutionary breakthroughs in commerce, science, and society》,阐述了在数据驱动的研究背景下,解决大数据问题所需的技术以及面临的一些挑战。Science 在2011 年2 月推出专刊《Dealing with Data》,主要围绕着科学研究中大数据的问题展开讨论,说明大数据对于科学研究的重要性。美国一些知名的数据管理领域的专家学者则从专业的研究角度出发,联合发布了一份白皮书《Challenges and Opportunities with Big Data。该白皮书从学术的角度出发,介绍了大数据的产生,分析了大数据的处理流程,并提出大数据所面临的若干挑战。
全球知名的咨询公司麦肯锡(McKinsey)去年6 月份发布了一份关于大数据的详尽报告《Big data: The next frontier for innovation, competition, and productivity》,对大数据的影响、关键技术和应用领域等都进行了详尽的分析。进入2012 年以来,大数据的关注度与日俱增。1 月份的达沃斯世界经济论坛上,大数据是主题之一,该次会议还特别针对大数据发布了报告《Big Data, Big Impact: New Possibilities for International Development》,探讨了新的数据产生方式下,如何更好的利用数据来产生良好的社会效益。该报告重点关注了个人产生的移动数据与其他数据的融合与利用。3 月份美国奥巴马政府发布了《大数据研究和发展倡议》[7](Big Data Research and Development Initiative),投资2 亿以上美元,正式启动“大数据发展计划”。计划在科学研究、环境、生物医学等领域利用大数据技术进行突破。奥巴马政府的这一计划被视为美国政府继信息高速公路(Information Highway)计划之后在信息科学领域的又一重大举措。与此同时,联合国一个名为Global Pulse 的倡议项目在今年5 月发布报告《Big Data for Development:Challenges & Opportunities》,该报告主要阐述大数据时代各国特别是发展中国家在面临数据洪流(Data Deluge)的情况下所遇到的机遇与挑战,同时还对大数据的应用进行了初步的解读。《纽约时报》的文章《The Age of Big Data》则通过主流媒体的宣传使普通民众开始意识到大数据的存在,以及大数据对于人们日常生活的影响。
大数据的火热并不意味着对于大数据的了解深入,反而表明大数据存在过度炒作的危险。大数据的基本概念、关键技术以及对其的利用上均存在很多的疑问和争议。本文从大数据问题背后的本质出发,对现有的大数据研究资料进行全面的归纳和总结。首先简要介绍大数据的基本概念,阐述其同传统数据库的区别。在此基础上,对大数据处理框架进行详细解析。我们认为大数据的发展离不开云计算技术,云计算支撑着大数据存储、管理以及数据分析等。因此本文展开介绍了大数据时代不可或缺的云计算技术和工具。最后全面阐述大数据时代面临的新挑战。
2、大数据的基本概念、来源与应用
2.1 大数据的基本概念
大数据本身是一个比较抽象的概念,单从字面来看,它表示数据规模的庞大。但是仅仅数量上的庞大显然无法看出大数据这一概念和以往的“海量数据”(Massive Data)、“超大规模数据”(Very Large Data)等概念之间有何区别。对于大数据尚未有一个公认的定义,不同的定义基本是从大数据的特征出发,通过这些特征的阐述和归纳,试图给出其定义。在这些定义中,比较有代表性的是3V 定义,即认为大数据需满足3 个特点:规模性(Volume)、多样性(Variety)和高速性(Velocity)。除此之外,还有提出4V 定义的,即尝试在3V 的基础上增加一个新的特性。关于第四个V 的说法并不统一,IDC 认为大数据还应当具有价值性(Value),大数据的价值往往呈现出稀疏性的特点。而IBM 认为大数据必然具有真实性(Veracity)。维基百科对大数据的定义则简单明了:大数据是指利用常用软件工具捕获、管理和处理数据所耗时间超过可容忍时间的数据集。
眼下在大数据定义问题上很难达成一个完全的共识,这点和云计算的概念刚提出时的情况是相似的。在面对实际问题时,不必过度的拘泥于具体的定义之中,把握3V 定义的基础上,适当的考虑4V 特性即可。
2.2 从数据库(Database, DB)到大数据(Big Data, BD)
从数据库(DB)到大数据(BD),看似只是一个简单的技术演进,但细细考究不难发现两者有着本质上的差别。大数据的出现,必将颠覆传统的数据管理方式。在数据来源、数据处理方式和数据思维等方面都会对其带来革命性的变化。
如果要用简单的方式来比较传统的数据库和大数据的区别的话,我们认为“池塘捕鱼”和“大海捕鱼”是个很好的类比。“池塘捕鱼”代表着传统数据库时代的数据管理方式,而“大海捕鱼”则对应着大数据时代的数据管理方式,“鱼”是待处理的数据。“捕鱼”环境条件的变化导致了“捕鱼”方式的根本性差异。这些差异主要体现在如下几个方面:
1、数据规模:“池塘”和“大海”最容易发现的区别就是规模。“池塘”规模相对较小,即便是先前认为比较大的“池塘”,譬如VLDB(Very Large Database),和“大海”XLDB(Extremely Large Database)相比仍旧偏小。“池塘”的处理对象通常以MB 为基本单位,而“大海”则常常以GB,甚至是TB、PB 为基本处理单位。
2、数据类型:过去的“池塘”中,数据的种类单一,往往仅仅有一种或少数几种,这些数据又以结构化数据为主。而在“大海”中,数据的种类繁多,数以千计,而这些数据又包含着结构化、半结构化以及非结构化的数据,并且半结构化和非结构化数据所占份额越来越大。
3、模式(Schema)和数据的关系:传统的数据库都是先有模式,然后才会产生数据。这就好比是先选好合适的“池塘”,然后才会向其中投放适合在该“池塘”环境生长的“鱼”。而大数据时代很多情况下难以预先确定模式,模式只有在数据出现之后才能确定,且模式随着数据量的增长处于不断的演变之中。这就好比先有少量的鱼类,随着时间推移,鱼的种类和数量都在不断的增长。鱼的变化会使大海的成分和环境处于不断的变化之中。
4、处理对象:在“池塘”中捕鱼,“鱼”仅仅是其捕捞对象。而在“大海”中,“鱼”除了是捕捞对象之外,还可以通过某些“鱼”的存在来判断其他种类的“鱼”是否存在。也就是说传统数据库中数据仅作为处理对象。而在大数据时代,要将数据作为一种资源来辅助解决其他诸多领域的问题。
5、处理工具:捕捞“池塘”中的“鱼”,一种渔网或少数几种基本就可以应对,也就是所谓的One Size Fits All。但是在“大海”中,不可能存在一种渔网能够捕获所有的鱼类,也就是说No Size Fits All。
从“池塘”到“大海”,不仅仅是规模的变大。传统的数据库代表着数据工程(Data Engineering)的处理方式,大数据时代的数据已不仅仅只是工程处理的对象,需要采取新的数据思维来应对。图灵奖获得者、著名数据库专家Jim Gray 博士观察并总结人类自古以来,在科学研究上,先后历经了实验、理论和计算三种范式。当数据量不断增长和累积到今天,传统的三种范式在科学研究,特别是一些新的研究领域已经无法很好的发挥作用,需要有一种全新的第四种范式来指导新形势下的科学研究。基于这种考虑,Jim Gray 提出了一种新的数据探索型研究方式,被他自己称之为科学研究的“第四种范式”(The Fourth Paradigm)。
表1 科学发现的四种范式
四种范式的比较如表1所示。第四种范式的实质就是从以计算为中心,转变到以数据处理为中心,也就是我们所说的数据思维。这种方式需要我们从根本上转变思维。正如前面提到的“捕鱼”,在大数据时代,数据不再仅仅是“捕捞”的对象,而应当转变成一种基础资源,用数据这种资源来协同解决其他诸多领域的问题。计算社会科学(Computational SocialScience)基于特定社会需求,在特定的社会理论指导下,收集、整理和分析数据足迹(dataprint),以便进行社会解释、监控、预测与规划的过程和活动。计算社会科学是一种典型的需要采用第四种范式来做指导的科学研究领域。Duncan J. Watts 在《自然》杂志上的文章《Atwenty-first century science》也指出借助于社交网络和计算机分析技术,21 世纪的社会科学有可能实现定量化的研究,从而成为一门真正的自然科学。
2.3 大数据的产生和应用
人类历史上从未有哪个时代和今天一样产生如此海量的数据。数据的产生已经完全不受时间、地点的限制。从开始采用数据库作为数据管理的主要方式开始,人类社会的数据产生方式大致经历了3 个阶段,而正是数据产生方式的巨大变化才最终导致大数据的产生。
1、运营式系统阶段。数据库的出现使得数据管理的复杂度大大降低,实际中数据库大都为运营系统所采用,作为运营系统的数据管理子系统。比如超市的销售记录系统,银行的交易记录系统、医院病人的医疗记录等。人类社会数据量第一次大的飞跃正是建立在运营式系统开始广泛使用数据库开始。这个阶段最主要特点是数据往往伴随着一定的运营活动而产生并记录在数据库中的,比如超市每销售出一件产品就会在数据库中产生相应的一条销售记录。这种数据的产生方式是被动的。
2、用户原创内容阶段。互联网的诞生促使人类社会数据量出现第二次大的飞跃。但是真正的数据爆发产生于Web 2.0 时代,而Web 2.0 的最重要标志就是用户原创内容(UGC,User Generated Content)。这类数据近几年一直呈现爆炸性的增长,主要有两个方面的原因。首先是以博客、微博为代表的新型社交网络的出现和快速发展,使得用户产生数据的意愿更加强烈。其次就是以智能手机、平板电脑为代表的新型移动设备的出现,这些易携带、全天候接入网络的移动设备使得人们在网上发表自己意见的途径更为便捷。这个阶段数据的产生方式是主动的。
3、感知式系统阶段。人类社会数据量第三次大的飞跃最终导致了大数据的产生,今天我们正处于这个阶段。这次飞跃的根本原因在于感知式系统的广泛使用。随着技术的发展,人们已经有能力制造极其微小的带有处理功能的传感器,并开始将这些设备广泛的布置于社会的各个角落,通过这些设备来对整个社会的运转进行监控。这些设备会源源不断的产生新数据,这种数据的产生方式是自动的。
简单来说,数据产生经历了被动、主动和自动三个阶段。这些被动、主动和自动的数据共同构成了大数据的数据来源,但其中自动式的数据才是大数据产生的最根本原因。
表2 典型大数据应用的比较
正如Google 的首席经济学家Hal Varian 所说,数据是广泛可用的,所缺乏的是从中提取出知识的能力。数据收集的根本目的是根据需求从数据中提取有用的知识,并将其应用到具体的领域之中。不同领域的大数据应用有不同的特点,表2 列举了若干具有代表性的大数据应用及其特征。
正是由于大数据的广泛存在,才使得大数据问题的解决很具挑战性。而它的广泛应用,则促使越来越多的人开始关注和研究大数据问题。
3、大数据处理框架
3.1 大数据处理模式
大数据的应用类型很多,主要的处理模式可以分为流处理(Stream Processing)和批处理(Batch Processing)两种。批处理是先存储后处理(Store-then-process),而流处理则是直接处理(Straight-through processing)。
3.1.1 流处理
流处理的基本理念是数据的价值会随着时间的流逝而不断减少。因此尽可能快的对最新的数据做出分析并给出结果是所有流数据处理模式的共同目标。需要采用流数据处理的大数据应用场景主要有网页点击数的实时统计、传感器网络、金融中的高频交易等。
流处理的处理模式将数据视为流,源源不断的数据组成了数据流。当新的数据到来时就立刻处理并返回所需的结果。图1是流处理中基本的数据流模型:
图1 基本的数据流模型
数据的实时处理是一个很有挑战性的工作,数据流本身具有持续达到、速度快且规模巨大等特点,因此通常不会对所有的数据进行永久化存储,而且数据环境处在不断的变化之中,系统很难准确掌握整个数据的全貌。由于响应时间的要求,流处理的过程基本在内存中完成,其处理方式更多的依赖于在内存中设计巧妙的概要数据结构(Synopsis data structure),内存容量是限制流处理模型的一个主要瓶颈。以PCM(相变存储器)为代表的SCM(Storage ClassMemory,储存级内存)设备的出现或许可以使内存未来不再成为流处理模型的制约。
数据流的理论及技术研究已经有十几年的历史,目前仍旧是研究热点。于此同时很多实际系统也已开发和得到广泛的应用,比较代表性的开源系统如Twitter 的Storm、Yahoo的S4以及Linkedin 的Kafka等。
3.1.2 批处理
Google 公司在2004 年提出的MapReduce编程模型是最具代表性的批处理模式。一个完整的MapReduce 过程如图2所示:
图2 MapReduce执行流程图
MapReduce模型首先将用户的原始数据源进行分块,然后分别交给不同的Map任务区处理。Map任务从输入中解析出Key/Value对集合,然后对这些集合执行用户自行定义的Map函数得到中间结果,并将该结果写入本地硬盘。Reduce任务从硬盘上读取数据之后,会根据key 值进行排序,将具有相同key 值的组织在一起。最后用户自定义的Reduce函数会作用于这些排好序的结果并输出最终结果。
从MapReduce的处理过程我们可以看出,MapReduce的核心设计思想在于:
1)将问题分而治之;
2)把计算推到数据而不是把数据推到计算,有效的避免数据传输过程中产生的大量通讯开销。
MapReduce模型简单,且现实中很多问题都可用MapReduce模型来表示。因此该模型公开后,立刻受到极大的关注,并在生物信息学、文本挖掘等领域得到广泛的应用。
无论是流处理还是批处理,都是大数据处理的可行思路。大数据的应用类型很多,在实际的大数据处理中,常常并不是简单的只使用其中的某一种,而是将二者结合起来。互联网是大数据最重要的来源之一,很多互联网公司根据处理时间的要求将自己的业务划分为在线(Online)、近线(Nearline)和离线(Offline),比如著名的职业社交网站Linkedin。这种划分方式是按处理所耗时间来划分的。其中在线的处理时间一般在秒级,甚至是毫秒级,因此通常采用上面所说的流处理。离线的处理时间可以以天为基本单位,基本采用批处理方式,这种方式可以最大限度的利用系统I/O。近线的处理时间一般在分钟级或者是小时级,对其处理模型并没有特别的要求,可以根据需求灵活选择。但在实际中多采用批处理模式。
3.2 大数据处理的基本流程
大数据的数据来源广泛,应用需求和数据类型都不尽相同,但是最基本的处理流程一致。海量Web 数据的处理是一类非常典型的大数据应用,从中可以归纳出大数据处理的最基本流程。ScholarSpace由中国人民大学网络与移动数据管理实验室(WAMDM)开发,目标是建立一个“以人为本”,即以作者为中心来展示多学科中文文献的集成数据库系统。 该系统已经从最初的计算机领域扩展到包括经济、法律等人文社会科学在内的多领域。从数据抽取和集成,一直到最终的结果展示,ScholarSpace 完整的体现出大数据处理的一般流程。在其基础上我们归纳出大数据的基本流程,如图3 所示:
图3 大数据处理基本流程
整个大数据的处理流程可以定义为在合适工具的辅助下,对广泛异构的数据源进行抽取和集成,结果按照一定的标准统一存储。利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展现给终端用户。具体来说可以分为数据抽取与集成、数据分析以及数据解释。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:大数据管理:概念、技术与挑战(上)