1
大数据简史
dashuj
有很多方法可以描述历史。在描述计算机科学历史的一部分时,一种方法是用技术来描述它,另一种方法是从组织的角度来描述它。
我们将从市场营销的角度来描述大数据的简要历史。
01
类比——占领制高点
我们用一个类比来描述大数据的历史以及这一切是如何演化的。将要使用的类比是占领制高点的军事策略。
图1显示,军事战术家早就知道,在任何军事冲突中占领制高点都是重要的。我们看到一支军队在山脊上放置了一门大炮,从而占据了指挥位置。
图1 战场
在许多方面,掌控了数据库技术就相当于占领了制高点。无论哪家公司的数据库管理系统(DBMS)服务于数据量最大的公司,都是在战场上占有指挥优势的公司。在这种情况下,战场就是数据库市场,争夺的是市场份额。有多少客户注册了DBMS并正在使用该DBMS,就是衡量其在战场上是否成功的标准。
还有一些DBMS并不以可以管理的数据量作为其独特的标准。这些DBMS有自己的战场和自己的战场成功标准。然而大数据的战场是一个以管理海量数据为标志的战场。
02
占领制高点
图2显示了推动大数据时代到来的事件。
图2 大数据简史
在计算机行业诞生之初,计算机系统、应用软件、操作系统都有很多。由于厂商众多,从中选择技术是一项存在风险并且痛苦的工作。早期的系统存在许多问题,主要问题之一是没有标准化—语言没有标准化、操作系统没有标准化、应用程序没有标准化。由于所有东西都没有标准化,因此都必须在定制的基础上制作。此外,所有这些定制代码都必须在定制代码的基础上进行维护。总而言之,早期的时候一片混乱。
03
IBM360的标准化
随后,IBM推出了360系列处理器。IBM 360是第一个大规模成功的标准化尝试。有了IBM 360,编写的代码可以升级到360系列产品中更大的处理器上,而代码几乎不需要改动。今天,我们认为软件和系统的可互换性是理所当然的。但曾经有一段时间,软件和系统的升级是一个令人头痛的问题。
在IBM 360问世后不久,IBM就推出了信息管理系统—IMS。IMS运行在IBM 360系列产品上。IMS并不是第一个DBMS,但IMS是第一个可以在标准化软件上运行的DBMS。此外,IMS还能够管理大量的数据。(注意:大量是一个完全相对的数字。IMS早年能够处理的数据量与今天能够处理的数据量相比微不足道。但IMS所能处理的数据量在当时是相当大的。)
IBM公司已经认识到并凭借IMS占据了大规模、标准化数据库管理的制高点。从军事角度看,IBM享有制高点。
04
在线事务处理
很快人们就发现,除了数据库管理外,IMS还可以做其他事情。IMS不仅可以管理数据库,当IMS与数据通信(DC)监测器结合在一起时,还可以进行所谓的在线事务处理。此时,IBM和IMS准备做一件引人注目的事情—从事在线事务处理。
在线事务处理的引人注目之处在于,有了在线事务处理,计算机可以深深地扎根于企业结构之中。虽然计算机能够用于增强许多业务流程,但是,随着在线事务处理的出现,计算机才真正可以被编入企业日常运作的结构中。计算机此前从未成为企业经营的重要组成部分,现在,计算机发挥了前所未有的重要作用。
通过在线事务处理,组织得以建立起航空、租车等预订系统。有了在线事务处理系统,出现了在线银行出纳系统和自动柜员机。总而言之,在线事务处理系统使企业能够完成以前不可能完成的事情。
在这一点上,IBM牢牢把握住了企业处理的制高点。
05
Teradata和MPP处理
一家名为Teradata的公司进入了这个行业。Teradata公司的特色是一种叫作大规模并行处理(MPP)的数据库技术。利用MPP数据库技术,Teradata可以处理的数据量明显超过IBM。相对于MPP技术的架构,IBM基于IMS的技术在处理大量数据时根本无法跟上。突然间,Teradata 抢占了制高点。
Teradata在市场上的成功并不是一蹴而就的。当时IBM有很好的客户控制能力,在很长一段时间内都能抵挡Teradata的挑战。但Teradata坚持了下来,经过大量的市场推广、大量的销售工作以及大量的技术进步,Teradata开始赢得客户。现在,Teradata开始利用资本的优势占领了制高点。
06
Hadoop和大数据
Hadoop技术几乎是无意中进入了这个领域。为了处理比Teradata更多的数据,Hadoop给出了解决方案。实际上,Teradata对数据管理的限制是经济上的限制,而不是技术上的限制。但Hadoop所要解决的问题是优化数据库管理系统对数据量的管理,而不是管理每一个领域的数据的能力。从对环境内数据单位的管理到对数据量的管理,重点发生了变化。
Hadoop是大数据的核心。有了Hadoop技术,大数据从梦想变成了现实。不过,Hadoop只迎合了少数有专门需求的大型客户。尽管Hadoop及其相关厂商在市场上已经进入了比Teradata更高的领域,但他们还是满足于成为市场上的小众玩家。
07
IBM和Hadoop
在Hadoop被证明是一种可行的商品之后,IBM认识到,通过与Hadoop合作,可以“捎带着”回到制高点。随着大数据的出现,IBM又一次站在了大规模数据库管理系统的制高点上。
08
坚守制高点
坚守制高点的优势是不可估量的。所以,当厂商占据了制高点后,很多机会就会随之出现。厂商可以自由地利用硬件、软件、咨询等方面的机会。
2
何谓大数据
Gartner集团对大数据的定义是:数据体量大(volume),数据变化快(velocity),数据来源多种多样(variety)。
虽然这个定义经常被引用和广泛使用,但它根本不是一个定义。在高速公路上行驶的半挂车所处理的货物符合这个定义,而远洋班轮的货物也符合这个定义。事实上,除了大数据之外,还有很多东西都符合这个定义。
01
另一种定义
Gartner定义的问题在于,它描述了大数据的一些特征,但没有给出识别大数据的特征。
《数据架构:数据科学家的第一本书》中使用的大数据定义如下:
大数据是指体量非常大的数据,是指存储在廉价存储设备上的数据,是指用“罗马人口普查方法”管理的数据,是指以非结构化形式存储和管理的数据。
02
大体量
大多数组织已经拥有足够的数据量来运行日常业务。但有些组织的数据量非常大,有必要研究以下事项:
互联网上的所有数据
卫星发送回来的气象数据
世界上所有的电子邮件
由模拟计算机生成的制造数据
铁道车辆在轨道上穿行
更多的应用
对于这些组织来说,没有有效的、廉价的方法来存储和管理数据。即使数据可以存储在标准的DBMS中,存储成本也会高得离谱。所以对于一些组织来说,需要存储和管理非常多的数据。
在管理非常庞大的数据时,就会出现商业价值的问题。需要解决“能够查看海量数据有什么商业价值”这一根本问题。“构建它,它们就会出现”的老话并不适用于海量数据。在组织着手存储海量数据之前,需要充分了解数据的商业价值在于数据本身。
03
廉价存储
即使大数据能够存储和管理海量数据,如果使用的存储介质很昂贵,那么建立庞大的存储也是不现实的。换一种说法,如果大数据只在昂贵的高性能存储介质上存储数据,那么大数据的成本将非常高。为了成为一个实用的解决方案,大数据必须能够使用廉价的存储介质。
04
罗马人口普查方法
大数据架构的基石之一是被称为“罗马人口普查方法”的处理方法。通过使用这种方法,大数据架构可以适应几乎无限量数据的处理。
当人们第一次听到“罗马人口普查方法”时,显得很反常和陌生。大多数人的反应是 “那到底什么是罗马人口普查方法呢?”然而,这种方法从架构上来说是大数据运作的核心。而且事实证明,很多人对罗马人口普查方法的熟悉程度远远超过了他们所意识到的。
大约2000年前,罗马人决定对罗马帝国的每个人征税。但为了向罗马帝国的公民征税,罗马人首先要进行一次人口普查。罗马人很快就发现,想让罗马帝国的每一个人都通过罗马城门游行来进行统计是不可能的。北非、西班牙、德国、希腊、波斯、以色列、英国等地都有罗马人。不仅有很多人在遥远的地方,想用船、车、驴把大家运到罗马城来,根本也是不可能的事。
于是,罗马人意识到,集中处理(即统计和进行普查)式的人口普查是行不通的。罗马人通过设立“人口普查员”来解决这个问题。人口普查员在罗马组织起来,然后被派往罗马帝国各地,在指定的日子进行人口普查。在进行完人口普查后,人口普查员就返回罗马,在那里集中统计普查结果。
在这样的方式下,正在做的工作被发送到数据,而不是试图将数据发送到一个中心位置,在一个地方做工作。通过分散处理过程,罗马人解决了对大量不同人口进行人口普查的问题。
很多人没有意识到自己对罗马人口普查方法非常熟悉。曾经有一个故事,讲的是两个人—玛利亚和约瑟夫,他们要到一个小城伯利恒去做罗马人的人口普查。在路上,玛利亚在马槽里生了一个小男孩,取名耶稣。牧羊人纷纷来看这个男婴。麦琪送来了礼物。因此,许多人都熟悉的宗教—基督教诞生了。罗马人口普查方法与基督教的诞生密切相关。
罗马人口普查方法说明,如果你有大量的数据需要处理,就不要集中处理。相反,你应该将处理发送到数据,实现分散处理。这样,你可以为处理提供有效的大量数据。
05
非结构化数据
与大数据相关的另一个问题是,大数据是结构化的还是非结构化的。在很多圈子里,有人说所有的大数据都是非结构化的;在另外一些圈子里,有人说大数据是结构化的。
那么,谁是正确的呢?我们将看到,答案完全在于你如何定义“结构化”和“非结构化”。
“结构化”是什么意思呢?结构化的一个广泛使用的定义是:凡是由标准DBMS管理的数据都是结构化的。图3显示了一些由标准数据库管理系统管理的数据。
图3 标准数据库结构
为了将数据加载到DBMS中,需要仔细定义系统的逻辑和物理特性。所有的数据—属性、键、索引等都需要在数据加载到系统之前进行定义。
结构化的含义是“能够在标准的DBMS下进行管理”,这个概念是对结构化含义的一种非常广泛的理解。这个含义已经存在了很长时间,被人们所广泛理解。
06
大数据中的大数据
现在,考虑一下数据存储在大数据中的样子。标准DBMS中没有定义基础架构。各种各样的数据都被存储在大数据中,而且在存储时并没有关于数据结构是什么的概念。图4为大数据中存储的数据。
图4 大数据
如果把结构化的定义理解为“由标准DBMS管理”,那么大数据中存储的数据肯定是非结构化的。然而,对于“结构化”一词的含义有不同的解释。考虑大数据由许多重复记录组成的情况(非常正常)。图5显示,大数据当然可以包含由许多重复记录组成的数据块。在很多情况下,大数据包含的正是这种信息,比如以下几种:
点击流数据
计量数据
电话记录数据
模拟数据
更多类型的重复记录
图5 不同类型的数据
当有重复记录时,同样的数据结构会从一条记录重复到另一条记录。而且很多时候,同样的数据值也是重复的。
当在大数据中发现重复的记录时,没有像标准DBMS中那样的索引设施。但大数据中即使没有索引管理,仍然有指示性数据。
07
重复性数据的语境
图6显示,在大数据的重复记录中,有一些信息可以用来识别记录。有时候,这种信息被称为语境。
图6 语境
为了在记录中找到这些信息,必须对记录进行解析,以确定其价值。但事实上,信息就在那里,就在记录里面。
而当你看到大数据存储块里面所有的重复记录时,每条记录中都有相同类型的数据,格式完全相同。图7显示,这些重复的记录都有相同的识别信息,结构完全相同。
图7 重复的记录具有相同的语境
从重复性和可预测性的角度来看,大数据里面确实有非常结构化的数据。所以在回答“大数据有结构吗”这个问题时,如果从结构的角度看这个问题,意味着结构化的DBMS基础设施,那么大数据不包含结构化的数据;但如果从包含可预测语境的重复性数据的角度来看,那么大数据可以说是结构化的。
可见,这个问题的答案既不是“是”也不是“否”,而是取决于对结构化和非结构化的定义。
08
非重复字性数据
即使大数据可以包含结构化数据,大数据也同样可以包含所谓的“非重复性”数据。非重复性数据的记录是指结构和内容完全相互独立的记录。在存在非重复性数据的地方,如果有任何两条记录彼此相似,无论是内容还是结构,都完全是一种偶然。
一些非重复性数据的例子包括:
电子邮件
呼叫中心信息
保健记录
保险索赔信息
保修索赔信息
非重复性信息包含指示性信息。但是,在非重复性记录中发现的指示性信息是非常粗略的,并且根本没有模式。
09
非重复性数据的语境
图8显示,在大数据环境中发现的非重复性数据块,其形状、形态、结构都很不规则。
图 8 非重复性数据
在数据的非重复性记录中可以找到语境数据。但语境数据必须以完全定制的方式提取(图9)。
图 9 语境—在不同的地方以不同的方式找到
在非重复性数据中可以找到语境。然而,语境的发现方式与使用重复性数据或标准DBMS中的经典结构化数据不同。在后面的章节中,将讨论文本消歧。正是通过文本消歧,实现了非重复性数据的语境。
还有另一种方式来看待大数据中发现的重复性数据和非重复性数据。这种观点如
图10所示。
图10 大数据中的重复性数据和非重复性数据
在图10中可以看到,在大数据中,绝大部分是典型的重复性数据。从数据体量的角度考察,非重复性数据只占大数据的一小部分。
然而,图11显示了一个非常不同的视角。从商业价值的角度来看,大数据中发现的绝大部分价值在于非重复性数据。
图11 一个不同的视角
那么,数据量和数据的商业价值之间就会出现真正的不匹配。对于那些研究重复性数据并希望在其中找到大量商业价值的人来说,他们的未来很可能是失望的。但对于在非重复性数据中寻找商业价值的人来说,却有很多期待。
当你比较在重复性数据和非重复性数据中寻找商业价值时,有一句古老的谚语适用于这里。这句谚语就是“90%的渔民在占鱼总数10%的地方捕鱼”。这句谚语的反义词是“10%的渔民在占鱼总数90%的地方捕鱼”。
RECOMMEND
推荐阅读
1/4
《大数据导论》
面向商业和技术专业人员的大数据指南
作者:[美] 托马斯·埃尔
译者:彭智勇
推荐理由:本书是面向商业和技术专业人员的大数据指南,清楚地介绍了大数据相关的概念、理论、术语与基础技术,并使用真实连贯的商业案例以及简单的图表,帮助读者更清晰地理解大数据技术。本书可作为高等院校相关专业“大数据基础”、“大数据道路”等课程的教材,也可供有一定实践经验的软件开发人员、管理人员和所有对大数据感兴趣的人士阅读。
2/4
《数据架构:数据科学家的第一本书》
作者:[美]W. H. 因蒙(W. H. Inmon)
丹尼尔·林斯泰特(Daniel Linstedt)
玛丽· 莱文斯(Mary Levins)
译者:黄智濒、陶袁
“数据仓库之父”撰写
全面讲解数据架构的理论知识
帮助读者从整体上清晰地认识数据
推荐理由:创新性地提出终端状态架构的概念,把握数据收集、治理、提取、分析等不同阶段的核心技术,从而将大数据技术融入现有的信息基础设施或数据仓库系统。新增关于可视化和大数据的章节,涵盖对数据的商业价值和数据管理等的综合介绍,为大数据技术的未来发展提供新的思路。
3/4
《数据科学导论:Python语言(原书第3版)》
数据科学快速入门指南
全面覆盖进行数据科学分析和开发的所有关键要点
作者:阿尔贝托·博斯凯蒂(Alberto Boschetti)
卢卡·马萨罗
译者: 于俊伟
推荐理由:本书首先介绍如何设置基本的数据科学工具箱,然后带你进入数据改写和预处理阶段,这一部分主要是阐明所有与核心数据科学活动相关的数据分析过程,如数据加载、转换、修复以及数据探索和处理等。通过主要的机器学习算法、图形分析技术,以及所有易于表现结果的可视化工具,实现对数据科学的概述。
4/4
《企业级大数据平台构建:架构与实现》
教你如何从0到1架构与实现一个企业级大数据平台
作者: 朱凯
推荐理由:这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域工作超过20000小时的经验总结。
作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,大家一定能找到灵感和思路来应对实际工作中面对的问题。
扫码关注【华章计算机】视频号
每天来听华章哥讲书
书讯 | 5月书讯(下)| 5天小长假,一起读新书
书讯 | 5月书讯(上)| 5天小长假,一起读新书
资讯 | DB-Engines 5月数据库排名:MySQL或将超越Oracle?
书单 | 8本书助你零基础转行数据分析岗
收藏 | 终于有人把Scrapy爬虫框架讲明白了
上新 | 【新书速递】架构师是怎样炼成的
活动 | 技术大会 | Gdevops全球敏捷运维峰会 - 广州站