第 1 章 企业数据

1.1 企业数据

如今,人们在处理数据的时候很容易迷失。数据有很多种不同的类型,而且每个类型的数据都有其自身的风格和特质。产品、供应商和应用程序都变得过于专注自己所处的特定世界,忽视了用更加宽广的视野来考察如何将各种事物组合成一个整体。因此,后退一步用更宽广的视野看待数据,经常能够获得更为恰当的观点。

1.1.1 企业的全体数据

试想一下企业里所能找到的所有数据。图1.1.1简要描述了企业中全体数据的情况。

图像说明文字

这里的全体数据包括与企业中各类型数据相关的所有事项。

进一步细分企业中的全体数据有很多种方式。一种细分方式(但是肯定不是唯一方式)是将全体数据划分为结构化数据和非结构化数据,如图1.1.2所示。

图像说明文字

结构化数据是一种可预见、经常出现的数据格式。通常,结构化数据包括记录、属性、键和索引等,可以通过数据库管理系统(database management system,DBMS)进行管理。结构化数据是定义良好的、可预测的,并且可通过复杂的基础设施进行管理。通常,结构化环境中的大多数数据单元都可以很快地进行定位。

相反,非结构化数据是不可预见的,而且没有可以被计算机识别的结构。访问非结构化数据通常很不方便,想要查找给定的数据单元,就必须顺序搜索(解析)长串的数据。非结构化数据有很多种形式和变体。最常见的非结构化数据的表现形式也许就是文本了。然而无论如何,文本都不是非结构化数据的唯一形式。

1.1.2 非结构化数据的划分

非结构化数据可以进一步划分成两种基本的数据形式:重复型非结构化数据和非重复型非结构化数据。与企业数据的划分一样,非结构化数据的细分方式也有很多种。这里给出的只是其中一种细分非结构化数据的方法。图1.1.3展现了非结构化数据的这一细分方法。

图像说明文字

重复型非结构化数据是指以同样的结构甚至同样的形态出现多次的数据。通常,重复型数据会出现很多很多次。重复型数据的结构与之前的记录看起来完全一样或者大致相同。没有用于管理重复型非结构化数据内容的大型复杂基础设施。

非重复型非结构化数据是指记录截然不同的数据。通常,每个非重复型的记录都与其他记录明显不同。

企业数据类型的划分有多种不同的体现。参见图1.1.4中所示的数据。

图像说明文字

结构化数据通常是交易的副产品。每当一次销售完成时,每当银行账户有取款操作时,每当有人在ATM机上办理业务时,每当发送一份账单时,都会产生一条交易记录。交易记录最终会形成一条条结构化的记录。

重复型非结构化数据则有所不同。非结构化的重复记录通常是机器间交互所产生的记录,例如对即将离开生产过程的产品进行模拟验证,或者对消费者的能源用量进行计量等。就拿计量来说,在读取计量读数时,会产生大量在形式和内容上重复的记录。

非重复型非结构化信息与重复型非结构化记录有着根本性的不同。对于非重复型非结构化记录而言,它们无论在形式还是内容上都很少重复或者根本不重复。非重复型非结构化信息的例子有电子邮件、呼叫中心对话和市场调查等。当你查看一封电子邮件时,会有很大概率发现数据库中的下一封邮件与前一封邮件是极为不同的。对呼叫中心信息、质保索赔、市场调查等数据来说也是如此。

1.1.3 业务相关性

重复型非结构化数据和非重复型非结构化数据在很多方面都有着极为不同的特征,其中一方面就是业务相关性。在重复型非结构化数据中,通常只有很少的记录具备真正的业务价值。然而,非重复型非结构化数据则有很大比例与业务相关。

这两种数据在业务相关性方面的不同如图1.1.5所示。

图像说明文字

非结构化重复型数据中只有很小比例是与业务相关的。例如,可以设想一下每天数以百万计的电话呼叫;政府只对其中的极小一部分感兴趣。此外,还可以设想一下生产控制信息;几乎所有生产记录都不会引起人们的兴趣,只有极少数除外(通常是当测量参数超过某个阈值时)。一般情况下,对重复型非结构化的记录而言,还存在一些虽然并不能直接或马上引起人们兴趣但是却存在潜在价值的记录。

对于非重复型非结构化数据而言,人们不感兴趣的记录就没那么多了。尽管其中有垃圾信息和停用词,但是除了这两种类别的信息之外,几乎其他所有的非结构化非重复型数据都是人们感兴趣的。

1.1.4 大数据

值得注意的是,企业中的大数据包括重复型非结构化数据和非重复型非结构化数据,如 图1.1.6所示。

图像说明文字

1.1.5 分界线

一开始,对于非结构化数据的两种类型(重复型非结构化数据和非重复型非结构化数据),我们可能认为它们之间的差别是难以预料、微不足道的。实际上,这两种非结构化数据类型之间的差异并非微不足道。因为这两种非结构化数据类型存在深刻差异,所以它们之间存在一条明显的分界线。

图1.1.7展现了分割两种非结构化数据类型的分界线。

图像说明文字

之所以用这条分界线划分非结构化数据的两种类型,是因为在分界线一边的数据是以一种方式处理的,而在分界线另一边的数据则是以另一种完全不同的方式处理的。实际上,在分界线两边的数据也可能完全不同。

按照数据处理方式进行划分的原因是,重复型非结构化数据几乎完全是通过一个管理Hadoop的固定设施来处理的。对于重复型非结构化数据而言,其重点完全集中在对大数据管理器(例如Hadoop)中的数据进行访问、监视、显示、分析和可视化。

非重复型非结构化数据的重点则几乎完全集中在文本消歧上。这里的重点在于消歧的类型、输出的重新格式化、数据的上下文分析和数据的标准化等。

该分界线值得注意的一点是,围绕分界线两边不同类型的数据形成的学科也是完全不同的。文本消歧与访问和分析Hadoop中的数据是两个极为不同的课题。正是因为这两个领域存在极大差异,可以说这两个领域属于完全不同的范畴,之间毫无关系。

可以用一个比喻来说明管理Hadoop和管理文本消歧这两个领域有多么不同。管理Hadoop就像生物医学领域,而文本消歧领域就像竞技骑牛领域。这两个领域截然不同,二者之间根本没有可比性。研究生物医学领域的人完全不知道骑着一头野牛是什么感觉,而擅长骑野牛的骑牛士与生产新药所需的规程格格不入。

图1.1.8描绘了这两个领域之间的差别。

图像说明文字

1.1.6 大陆分水岭

与非结构化数据分界线相似的另一条分界线是北美大陆分水岭(如图1.1.9所示)。大陆分水岭一侧的降水会流向大西洋方向,而另一侧的降水则流向完全不同的太平洋方向。

图像说明文字

1.1.7 企业数据全貌

图1.1.10展现了企业数据的全貌。

图像说明文字

图1.1.10用于描述不同类型的企业数据如何相互关联,并列展现了不同形式的数据及其如何相互关联。每个数据细分都有其自己的处理和管理方法。

图1.1.11给出了企业数据的另一种描绘方式,将大数据作为一个整体来展现。

图像说明文字

1.2 数据基础设施

如果说数据管理和数据架构有什么秘诀可言的话,那就是从基础设施方面来理解数据。换言之,要理解数据管理和操作所依据的更宽泛的数据架构问题,就不能不去弄明白那些围绕数据的底层基础设施。因此,我们将花点时间来理解基础设施。

1.2.1 重复型数据的两种类型

要理解基础设施,一个很好的起点就是观察企业数据中重复型数据的两种类型。企业数据中的结构化部分存在重复型数据,非结构化中的大数据部分也存在重复型数据。对于重复型结构化数据来说,交易经常是重复型数据的一部分来源。这其中包括销售交易、按库存量单位的进货交易、库存补充交易、支付交易等。在结构化数据领域中,很多这样的交易数据都属于重复型结构化数据的范畴。

另一种重复型数据是非结构化大数据领域中的重复型数据。在非结构化大数据领域中,我们可能会接触到计量数据、模拟数据、生产数据、点击流数据等。

试想一下这两种类型的重复型数据是否相同。它们当然都是重复型的;不过它们之间的区别何在?图1.2.1(象征性地)展示了这两种类型的重复型数据。

图像说明文字

1.2.2 重复型结构化数据

为了了解这两种类型的重复型数据之间的区别,有必要先单独认识每一种类型的数据。首先,让我们来了解一下重复型结构化数据。图1.2.2将重复型结构化数据拆分成了记录和数据块。

图像说明文字

重复型结构化环境中最基本的信息单元是数据块,而每个数据块中又含有若干数据记录。

图1.2.3给出了一条简单的数据记录。

图像说明文字

一般来说,每条数据记录都代表一次交易。例如,有些记录表示某种产品的销售情况,每条记录都表示一次销售活动。

每条记录都包含键、属性和索引等要素。图1.2.4给出了一条记录的分解图。

图像说明文字

如果一条记录代表一次销售活动,那么该记录的属性中可能会包含销售日期、售出的商品、商品的价格、缴纳的税费和购买人等。记录中的键是一个或多个能够唯一定义该记录的属性。销售记录的键可以是销售日期、售出的商品或者销售地点等。

与记录关联的索引建立在记录的属性之上,用于满足对记录的快速访问需求。

与重复型结构化数据关联的基础设施采用数据库管理系统(database management system,DBMS)进行管理,如图1.2.5所示。

图像说明文字

1.2.3 重复型大数据

另一种类型的重复型数据是存在于大数据中的重复型数据。图1.2.6描述了存在于大数据中的重复型数据。

图像说明文字

乍一看,图1.2.6中有大量的重复型记录,但是当进一步观察时就会发现其中所有的重复型大数据记录都被打包成了一个数据串,而这个数据串又存放在一个数据块中,如图1.2.7所示。

图像说明文字

图1.2.7中的结构化基础设施是一种由DBMS(例如Oracle、SQL Server、DB2等)管理的典型基础设施。

大数据的基础设施与标准DBMS的基础设施完全不同。在大数据的基础设施里有一种“块”结构。在这种块结构中存储了很多重复的记录,而每一条记录都与其他记录连成一串。图1.2.8表示了大数据中可能出现的一条记录。

图像说明文字

在图1.2.8中仅有一长串数据,而记录一条接一条地堆叠到一起。系统只能看到一个块和这一长串数据。要查找一条记录,系统需要首先解析该数据串,如图1.2.9所示。

图像说明文字

假设系统要查找指定记录B。该系统需要按照顺序读取数据串,直到系统能够辨别出存在一条记录为止。然后,系统需要检查该记录并且判断它是不是记录B。这就是大数据最原始状态下的搜索处理方式。

不需要太多想象就可以发现,大数据在进行数据查找方面会消耗大量的机器周期。为此,大数据环境采用了一种名为罗马人口统计(Roman census)的方式来进行处理。在2.2节中,还将介绍更多有关罗马人口统计的内容。

1.2.4 两种基础设施

图1.2.10对两种不同的基础设施进行了对比。

图像说明文字

不用太费劲就能够发现围绕大数据和结构化数据的基础设施是极为不同的。围绕大数据的基础设施非常简单、精炼,而围绕结构化DBMS数据的基础设施则复杂、繁冗。

因此,重复型结构化数据和重复型大数据的基础设施存在显著不同是一个事实,没有什么争议。

1.2.5 优化了什么

在研究这两种基础设施时,会很自然地产生这样的问题:不同的基础设施中对哪些要素进行了优化?对于大数据来说,基础设施的优化在于能够使系统管理几乎无限量的数据。图1.2.11显示出在大数据的基础设施中,添加新数据非常简单。

图像说明文字

但是结构化DBMS背后的基础设施所进行的优化完全不同于管理海量数据的情形。对于结构化DBMS环境,其优化的要素在于使系统能够快速而高效地查找任一给定的数据单位。

图1.2.12展示了标准的结构化DBMS基础设施所进行的优化。

图像说明文字

1.2.6 对比两种基础设施

考察不同基础设施的另一种方式是对比查找给定数据单元所需的数据量。为了查找某一给定数据单元,大数据环境需要搜索存储数据的整个主机,而且要找到某一给定项,需要进行很多输入输出操作。在结构化DBMS环境中查找同样的项时,只需要进行很少的输入/输出操作。因此,如果你希望对数据访问的速度进行优化,那么就应该采用标准结构化DBMS这种方式。

相反,为了达到较高的访问速度,标准的结构化DBMS需要一种精心设计的数据基础设施。随着时间的推移,当数据变化时,也要相应地创建和维护基础设施。创建和维护这样的基础设施需要相当可观的系统资源。对于大数据而言,就不需要再建立和维护基础设施了,因为大数据基础设施的建立和维护非常容易。

本节首先说明了重复型数据既存在于结构化数据环境中,也存在于大数据环境中。乍一看,重复型数据是相同的,或者说是非常相似的;但是当你仔细研究基础设施和其中所蕴含的技术细节时,就会发现这两种环境中的重复型数据实际上是极为不同的。

1.3 分界线

1.3.1 企业数据分类

企业数据的分类有多种方式,其中最主要的一种方式是将其分为结构化数据和非结构化数据。非结构化数据又可以进一步划分为两类:重复型非结构化数据和非重复型非结构化数据。这种数据划分如图1.3.1所示。

图像说明文字

重复型非结构化数据的出现频率很高,而且其记录在结构和内容上几乎完全相同。重复型非结构化数据的例子有很多,例如电话呼叫记录、计量数据和模拟数据。

非重复型非结构化数据包含多个数据记录,而且这些记录在结构和内容上都不相似。非重复型非结构化数据的例子有电子邮件、呼叫中心通话、质保索赔等。

1.3.2 分界线

非结构化数据的两种类型之间存在一条分界线。

如图1.3.1所示,分界线是对重复型记录和非重复型记录之间界限的划分。乍一看,重复型非结构化数据记录和非重复型非结构化数据记录之间并没有体现出太多区别;但是情况并非如此。其实,重复型非结构化数据和非重复型非结构化数据之间存在巨大区别。

非结构化数据的两种类型之间存在的主要区别是:重复型非结构化数据关注的焦点在于Hadoop环境中的数据管理,而非重复型非结构化数据关注的焦点在于数据的文本消歧。正如后面将会看到的那样,这种在关注焦点上的区别导致二者在数据认知、数据使用和数据管理方面都存在巨大差别。

这种区别就形成了一条分界线,如图1.3.2所示。

图像说明文字

从中可以看出,非结构化数据的两种类型各自关注的焦点极为不同。

1.3.3 重复型非结构化数据

重复型非结构化数据也称作“以Hadoop为中心”。“以Hadoop为中心”意味着重复型非结构化数据的处理都是围绕着处理和管理Hadoop环境而展开的。图1.3.3展现了重复型非结构化数据 的中心所在。

图像说明文字

Hadoop环境的核心自然就是Hadoop本身了。Hadoop是一种可管理海量数据的技术。在所谓的大数据中,Hadoop处于中心地位,是大数据的主要存储机制。Hadoop的基本特点有以下几个。

 它能够管理海量数据。

 它可以在相对较为便宜的存储器上管理数据。

 它采用罗马人口统计方法管理数据。

 它以非结构化方式存储数据。

Hadoop的这些运行特征使之可以管理非常大的数据量。Hadoop能够管理的数据量明显大于标准关系型DBMS。图1.3.4描绘了Hadoop这种大数据技术。

图像说明文字

不过,Hadoop是一种原始技术。要想发挥作用,Hadoop还需要其独特的基础设施支持。

围绕Hadoop的这些技术服务于对Hadoop中数据的管理,以及访问和分析这些数据。图1.3.5展现了围绕着Hadoop的基础设施服务。

图像说明文字

曾经使用过标准DBMS的人都会比较熟悉围绕着Hadoop的各种服务。这二者的不同点在于:在标准DBMS中,服务也存在于DBMS自身中;而在Hadoop中,许多服务都在外部执行。第二个主要区别是,在整个Hadoop环境中,服务海量数据的需求始终存在。Hadoop环境的开发者必须做好管理和处理庞大数据量的准备。这意味着,许多基础设施任务都只能在Hadoop环境里完成处理。

事实上,Hadoop环境中到处都存在处理超常规海量数据的需求。图1.3.6展示了处理近乎无限量数据的需求。

图像说明文字

因此,我们强调在能够处理海量数据的Hadoop环境中进行常规的数据管理任务。

1.3.4 非重复型非结构化数据

非重复型非结构化环境所强调的重点与大数据技术强调Hadoop的管理极为不同。非重复型非结构化环境强调文本消歧[textual disambiguation;或者说强调文本抽取/转换/装载(extract/ transform/load,ETL)]。图1.3.7说明了这一点。

图像说明文字

文本消歧过程针对非重复型非结构化数据,将其转换成一种可以通过标准分析软件分析的格式。文本消歧涉及许多方面,但是它最重要的一个功能也许就是所谓的语境化(contextualization)。语境化是通过阅读和分析文本而推导出文本上下文的过程。一旦推导出文本的上下文,就可以将文本重新格式化为标准数据库格式,进而用标准商业智能软件来阅读和分析这些文本。

图1.3.8展示了文本消歧过程。

图像说明文字

文本消歧涉及很多方面。由于文本消歧完全避免了自然语言处理(natural language processing,NLP)的缺陷,推导上下文的方法也有很多方面。推导上下文的技巧包括以下几种。

 外部分类法和本体的集成

 相近度分析

 同形异义词消解

 子文档处理

 关联文本消解

 缩略语消解

 简单停用词处理

 简单词根提取

 内联模式识别

文本消歧过程确实涉及太多的方面。图1.3.9给出了文本消歧比较重要的一些方面。

图像说明文字

需要有所关注的是文本消歧所管理的数据量。不过,可处理的数据量相对于转换过程中所发生的数据转换而言又相对次要。事实上,文本消歧是由转换过程主导的,如图1.3.10所示。

图像说明文字

重复型非结构化领域的处理过程和非重复型非结构化领域的处理过程所强调的重点完全不同。

1.3.5 不同的领域

这种差别如图1.3.11所示。

图像说明文字

重复型非结构化数据和非重复型非结构化数据之间存在差异的部分原因在于数据本身。对于重复型非结构化数据而言,不太需要发现数据的上下文。这是因为其中数据的出现频率和重复程度很高,数据的上下文相当明显,或者说相当容易确定。此外,对于重复型非结构化数据来说,通常一开始也没有太多的上下文数据。因此,重点几乎完全在需要管理的数据量上。

但是对于非重复型非结构化数据而言,推导出数据的上下文极为必要。在数据可用于分析之前,需要对数据进行语境化。对于非重复型非结构化数据来说,推导出数据的上下文是一项非常复杂的工作。当然,非重复型非结构化数据还有管理数据量的需要,但是基本需求是把数据的语境化放在第一位。

正是出于这些原因,在管理和处理不同形式的非结构化数据时存在很大区别。

1.4 企业数据统计图

明白企业数据可以划分为不同的类别是一回事,而深入理解这些类别又是另一回事。

图1.4.1展现了企业数据的一种划分方式。

图像说明文字

图1.4.1显示出大数据中的所有数据都是非结构化的,而且大数据可以划分为两个主要类别,即重复型非结构化数据和非重复型非结构化数据。图1.4.1展示了企业数据的主要类别,但是可能具有误导性。有些企业拥有规模极其巨大的重复型非结构化数据,而有些企业则根本就没有重复型非结构化数据。

图1.4.2展示了一个更加符合实际的重复型非结构化数据的统计图。

图像说明文字

图1.4.2显示出重复型数据与其他类型数据的比值谱范围很广。从统计图的视角来看,有些企业中的重复型非结构化数据占多数,但是也有一些企业没有任何重复型非结构化数据。其他一些企业的情况则介于这两种极端情况之间。

业务类型与重复型非结构化数据的多少(或有无)确实有很大关系。图1.4.3按照业务类型给出了重复型非结构化数据所占比例的一般情况。

图像说明文字

从图1.4.3中可以看到,某些行业有很多重复型非结构化数据。气象服务、制造业和公用事业在这方面名列前茅。这些类型的公司存在产生大量重复型非结构化数据的活动。相反,小型零售组织可能根本没有重复型非结构化数据。

在此按照业务的不同,给出了重复型非结构化数据与其他类型数据的比值谱图。

为了对此做进一步研究,另一种方式是按照数据类型进行统计。图1.4.4给出了相应的比值谱图。

图像说明文字

图1.4.4表明,就重复型非结构化数据来说,有些公司拥有大量的气象数据、模拟数据、点击流数据等。

重复型非结构化数据的统计图是一种审视企业数据的很有意思的方式,除此之外还有其他一些有意思的视角,其中之一是从业务相关性的角度来观察。业务相关性是指数据在决策过程中的有用性。有些企业数据是高度业务相关的,而有些企业数据则与企业决策根本不相关。

图1.4.5展示了业务相关性与企业数据之间的关系。

图像说明文字

图1.4.5说明业务相关性实际上可分为三类,即业务相关数据、业务不相关数据和与业务潜在相关数据。

下面对每一种数据类别的内涵进行解释。

第一种类别是结构化数据。结构化数据通常采用DBMS进行管理。图1.4.6说明所有的结构化数据都是业务相关的(至少是潜在相关)。

图像说明文字

很多结构化数据都可以进行在线处理;而且在结构化环境中,进行处理时可以定位和访问所有数据要素。因此,所有结构化数据都可以归类为业务相关数据。

试想这样一个例子。一位顾客到银行要求取款500美元。银行出纳员访问该客户的账户,查询到该账户中有足够的余额。然后,这位银行出纳员授权取款500美元。在这一过程中用到了有关该客户账户的数据,这些数据当然是业务相关的。现在试想一下,如果银行出纳员未能访问银行结构化数据库中的数据呢?难道这些数据即使没有被使用也仍然是业务相关的吗?答案是肯定的,即使这些数据没有被使用,它们仍然是业务相关的。即使它们只是可能会被使用,那么也仍然是业务相关的。

因此,所有的结构化数据都可以看作是业务相关的。它的实际使用与其业务价值关系不大。即使数据没有被积极主动地使用,它也仍然具有业务价值和业务相关性。

现在研究一下重复型非结构化数据的业务相关性。图1.4.7说明只有一小部分重复型非结构化数据是业务相关的。相比较而言,重复型非结构化数据中业务潜在相关的比例要更大一些,而且有很大一部分重复型非结构化数据是业务不相关的。

图像说明文字

为了理解重复型非结构化数据的业务相关性,来看一个重复型非结构化数据的实例:日志磁带。当查看日志磁带时,几乎日志磁带上的所有记录都没有意义。大多数日志记录只是用于“标记时间”,只有极少数重要的记录具有直接的业务相关性。对于点击流数据、模拟数据、计量数据等来说也存在相同的情况。然而,确实存在一些虽然不直接与业务相关但是可能与业务潜在相关的记录。这些业务潜在相关记录并不是马上对业务有用的记录,但是在某些情况下也可能会用到。

现在让我们来看看非重复型非结构化数据的业务相关性。非重复型非结构化数据包括电子邮件、呼叫中心数据、质保数据信息、保险理赔等。图1.4.8描绘了非重复型非结构化数据的业务相关性情况。

图像说明文字

在非重复型非结构化数据中,存在垃圾信息、废话邮件和停用词这样的数据。这些类型的数据是业务不相关的;但是大多数非重复型非结构化类别的数据都是业务相关的(或者说至少是业务潜在相关的)。

现在让我们来看看业务相关性的统计图,因为这也涉及非结构化数据(大数据)。图1.4.9显示了业务相关性的所在之处。

图像说明文字

图1.4.9显示,绝大多数具备业务相关性的大数据都属于非重复型非结构化数据的范畴。重复型非结构化数据所蕴含的业务相关性则相对较少。

图1.4.9也许正好解释了,为什么那些关注点几乎完全集中在重复型非结构化数据上的大数据早期支持者在确立大数据的业务相关性时会历尽艰辛。

1.5 企业数据分析

数据只有用于分析才能够体现其价值。因此,数据架构师必须要牢记:数据的最终用途是为了支持分析(这反过来又是对业务价值的支持)。

企业数据的分析与其他种类数据的分析非常类似,只有一个方面有所不同:大多数情况下,企业数据都有多种来源和多种数据类型。事实上,正是企业数据起源的多样化导致了企业数据分析的纷繁多样。图1.5.1描述了企业数据分析的需求。

图像说明文字

对于所有的数据分析,首先要考虑的是该分析是一次正式分析还是一次非正式分析。正式分析要求得到企业层面的结果甚至法律层面的结果。有时,组织还必须在遵守合规性规则的前提下进行分析,例如那些实施萨班斯—奥克斯利法案(Sarbanes-Oxley Act)和健康保险流通与责任法案(Health Insurance Portability and Accountability Act,HIPAA)的管理型机构。还有很多其他类型的合规性,例如审计合规性等。当进行一次正式分析时,分析师必须提醒自己注意数据的有效性(validity)和数据谱系(lineage)。如果在正式分析中出现了不正确的数据,那么结果将非常可怕。因此,当进行正式分析时,数据的准确性及其谱系情况就非常重要。对于公共企业来说,必须要有外部的公共会计公司签署确认数据的质量和准确性。

另一种分析类型是非正式分析。非正式分析通常需要快速完成并且可以使用任何可获取到的数值。在非正式分析中使用准确的数据固然是一件好事,不过使用准确性略差的信息也并不会造成严重的后果。

在进行数据分析时,必须始终清楚自己所做的是正式分析还是非正式分析。

进行企业数据分析的第一步是从物理上收集要用于分析的数据。图1.5.2说明,企业数据通常都有很多不同的来源。

图像说明文字

在很多情况下,数据来源都是由计算机管控的,因此从物理上收集数据并不是太大的问题。但是当数据存在于纸张等物理介质上时,就必须借助光学字符识别(optical character recognition,OCR)软件等技术来进行处理。如果数据是以通话形式存在的,还必须使用语音识别技术进行处理。

通常,从物理上收集数据是进行企业数据分析的最早步骤。这其中最大的挑战就在于逻辑消解问题。企业数据管理的逻辑消解是要解决这样的问题:将多个不同来源的数据集中到一起,并且无缝读取和处理这些数据。企业数据的逻辑消解面临很多难题,其中一些如下所示。

 消解键结构:企业一部分所采用的键与企业另一部分所采用的类似键存在差别。

 消解定义:企业中以某种方式定义的数据在企业另一部分中是以另一种方式定义的。

 消解计算:企业中以某种方式进行的计算在企业另一部分中是采用不同的公式来计算的。

 消解数据结构:企业中以某种结构组织的数据在企业的另一部分中是采用不同的结构来组织的。

这样的问题还有很多。

在很多情况下,消解都是非常困难的,而且这些困难都是数据中根深蒂固的,很难取得令人满意的消解结果。这样,最后出现的结果就是企业中不同的机构会做出不同分析结果。由不同的组织自己单独进行分析和计算的问题在于,他们得出的结果通常是目光狭隘的;而站在企业层面上的个人也难以洞察在企业的最高层面上发生了什么。

当数据跨越结构化数据和大数据的边界时,企业数据的消解问题就会被放大。即使在大数据的范畴之内,当跨越了重复型非结构化数据和非重复型非结构化数据的边界时,也会出现挑战。

因此,当企业试图在整个企业中创建一个有结合力的整体性数据视图时,就会面临巨大的挑战。如果确实存在企业级的数据基础,就有必要进行数据集成,如图1.5.3所示。

图像说明文字

一旦完成数据集成(至少实际上已经集成了尽可能多的数据),数据就被重新格式化为规范化形式。数据组织结构的规范化并没有多少特殊的魔力,它主要起到以下两个作用。

 规范化是一种组织数据的逻辑方式。

 在规范化数据的基础之上,分析处理工具能够发挥出更好的性能。

图1.5.4指出,进行了规范化的数据很容易进行分析。

图像说明文字

规范化的结果就是可将数据存放于平面文件记录中。一旦数据可存放于规范化的平面文件记录中,就很容易对其进行计算、比较等规范化处理。

规范化是数据用于分析处理时具备的最佳状态,因为在规范化状态下,数据处于一个粒度极低点。当数据处于粒度极低点时,可以采用多种方式对数据进行归类和计算。打个比方,处于规范化状态的数据与硅颗粒类似。原始的硅颗粒可以经过重组和再制造形成多种不同的形态,例如玻璃、计算机芯片和身体植入物等。同样的道理,规范化的数据也可经再处理之后用于多种形式的分析。

(请注意,将数据规范化并不意味着数据一定要以关系结构存放。在大多数情况下,规范化数据都是以关系结构存放的,但是如果有一定道理的话,采用某种非关系结构来存放数据也未尝不可。)

无论采用怎样的结构来组织数据,其结果都是将规范化的数据存放在关系型或者非关系型的数据记录之中,如图1.5.5所示。

图像说明文字

将数据结构化为某种颗粒状态之后,就可以采用多种方式来分析这些数据了。实际上,当企业数据实现了集成并且以粒度化状态存放之后,企业数据的分析就与其他种类数据的分析没有太大区别了。

一般来说,数据分析的第一步是进行数据归类。图1.5.6展示了数据的归类过程。完成数据归类之后,就可以紧接着做多种分析了。一种典型的分析就是异常数据的识别。例如,分析师可能希望找出去年所有消费超过1000美元的顾客,也可能希望找出那些日产量峰值超过25个单位的日期,还有可能希望找出一天之中有哪些重量超过50磅的产品被涂上了红色。图1.5.7展示了异常分析过程。

图像说明文字

另一种简单形式的分析是对数据进行归类和计数。图1.5.8显示了一种简单的归类和计数过程。

图像说明文字

当然,在按照类别进行计数之后,还可以对各个类别进行比较,如图1.5.9所示。

图像说明文字

另一种典型的分析是根据时间变化来比较信息,如图1.5.10所示。

图像说明文字

最后,还有关键性能指标(key performance indicator,KPI)。图1.5.11给出了按照时间推移计算和跟踪KPI的情形。

图像说明文字

1.6 数据的生命周期——随时间推移理解数据

企业中的数据都有着可预见的生命周期。生命周期适用于大多数数据,不过也有一些特例;有些数据并不遵循本书即将介绍的生命周期。数据的生命周期如图1.6.1和图1.6.2所示。

图像说明文字

数据的生命周期揭示了原始数据进入企业信息系统的情况。生成原始数据记录的方式可以有很多种。客户在进行交易的过程中捕获到的数据可以作为交易的副产品。模拟计算机可以读取数据并将数据作为模拟处理的一部分。客户可以发起某种活动(例如打电话)并使用计算机捕获与之相关的信息。数据进入企业信息系统的方式有很多种。

当原始的详细数据进入系统之后,下一步工作就是通过一个捕获/编辑过程来对原始详细数据进行处理。在捕获/编辑过程中,原始的详细数据要经历一个基本的编辑过程。在该编辑过程中,可以对原始的详细数据进行调整(甚至拒绝采用)。一般来说,进入企业信息系统的数据都在最详细的层次上。

在经过捕获/编辑过程之后,原始详细数据就进入了一个组织流程。该组织流程可以像为数据创建索引那么简单,也可以是一个为原始详细数据精心设计的筛选/计算/整合过程。此时,原始详细数据就像一块面团,系统设计师可以采用多种方式来塑造这些数据。

当原始详细数据经过组织流程之后,这些数据就适合存储了。这些数据可以存储在标准DBMS中或者大数据系统中(或者存储在其他形式的存储器中)。数据在存储之后、分析之前,通常还要经历一个集成过程。集成过程的作用是对数据重新结构化。这样,这些数据就可以与其他类型的数据结合使用了。

正是此时,数据进入了使用周期。数据的使用周期将在后面进行讨论。当数据的使用周期结束之后,就可以将其归档或者丢弃。

这里给出的数据生命周期是针对原始详细数据的。汇总数据或合计数据的生命周期稍有不同。图1.6.3展示了汇总数据或合计数据的生命周期。

图像说明文字

大多数汇总数据或合计数据的生命周期与原始详细数据的生命周期在刚开始是一样的。企业不断地摄入原始数据。不过一旦这些原始数据变成了基础设施的一部分,就可以对这些原始数据进行访问、分类和计算。计算结果随后也会作为信息基础设施的一部分保存,如图1.6.3所示。

当原始数据和汇总数据成为信息基础设施的一部分后,数据就会符合有用性曲线(curve of usefulness)所描述的情形。有用性曲线表明,数据在基础设施中保留得越久,则其用于分析的可能性就越低。

图1.6.4说明,当从数据“年龄”的角度来看时,数据越新则数据被访问的可能性就越大。这种现象适用于企业信息基础设施中大多数类型的数据。

图像说明文字

随着数据在企业信息基础设施中保存时间的增加,其被访问的可能性逐渐下降。从实用角度出发,相对较旧的数据会进入休眠状态(dormant)。对于结构化在线数据而言,并不一定会存在数据进入休眠状态的现象。

还有一些类型的业务不会出现数据使用随时间递减的现象,其中一种就是人寿保险行业。在该行业中,精算师经常会查看100多年以前的数据。在某些科研机构和制造业研究机构中,人们也可能会对50多年前取得的结果抱有很大兴趣。但是大多数组织都没有设置精算师的岗位,也没有科研机构。因此对于那些常规组织而言,其关注点几乎总是在最新的数据上。

有用性递减曲线可以通过如图1.6.5所示的曲线来表示。有用性递减曲线说明,随着时间推移,数据的价值会不断降低,至少在访问的可能性方面确实如此。请注意,实际上数据的价值从来都不会降低到零点;但是经过一段时间之后,数据的价值会接近于零。某些时候,数据的价值会变得非常低,对于所有的实际用途而言都没有价值。

图像说明文字

该曲线是一个相当陡的曲线,即经典的泊松分布。该曲线很有趣的一个方面在于:汇总数据和详细数据的有用性曲线实际上是不同的。图1.6.6说明了详细数据和汇总数据在有用性曲线上的差异。

图像说明文字

图1.6.6说明,详细数据的有用性递减曲线要比汇总数据的更加陡峭。此外,随着时间推移,汇总数据的有用性曲线趋于平缓,但是并不会接近零;而实际上详细数据的曲线则会接近零。有时候,汇总数据的曲线还会随着时间的推移开始增加,不过是以非常渐进的速度增长。

还有一种方法可以根据时间变化来观察数据的休眠情况。试想,有用性递减曲线实际上也可以反映数据随时间推移的积累情况。图1.6.7所示的曲线表明,随着时间推移,企业的数据累积量在加速增长。这种现象对每个组织都是确实存在的。

图像说明文字

另一种观察该累积曲线的方式如图1.6.8所示。图1.6.8说明,企业数据会随着时间推移而不断积累,数据的使用也呈现出动态变化的不同分布带。图1.6.8中上面的数据带说明,随着时间推移,有一些数据是频繁使用的;中间的数据带则表示使用频率较低的数据;而下面的数据带用于表示根本没有使用的数据。随着时间推移,这些数据带都会不断延伸。

图像说明文字

这些数据带通常与数据的“年龄”有关。数据越新,它们与企业当前业务就越相关。数据越新,对它的访问和分析也就越多。

当按照时间变化来观察数据时,还会发现另一个有趣的现象。经过很长一段时期之后,数据的完整性会退化。也许“退化”(degrade)这个词在此并不恰当,因为它带有一点贬义的味道。在这里使用这个词并没有贬义,而是简单地表明数据的意义会随着时间的推移而自然正常衰减。

图1.6.9说明了数据完整性随着时间推移不断退化的情形。要理解完整性随着时间推移而退化的现象,先来看一些例子。让我们以肉或者汉堡包的价格随时间变化的情况来说明。1850年,汉堡包每磅的价格是0.05美元。到了1950年,汉堡包每磅的价格是0.95美元。到了2015年,汉堡包的价格是2.75美元。这种按照时间推移来比较汉堡包价格的做法有意义吗?我们的回答是,勉强有点意义。问题并不在于对汉堡包价格的度量上。而是在于度量汉堡包价格的货币上。1850年 1美元的含义甚至与2015年1美元的含义有所不同。

图像说明文字

现在,我们再看看另一个例子。1950年,IBM公司的每股股票价格是35美元;而2015年,同一股票的价格是每股200美元。按照时间来比较股票价格是有效的比较吗?答案是,也勉强算是。2015年的IBM公司与1950年的IBM公司在产品、客户和收入上都不相同,而且美元的价值也不同。采用各种方式,都根本没有办法比较2015年的IBM公司和1950年的IBM公司。随着时间的推移,数据的定义已经发生了变化。1950年IBM公司的股票价格与2015年IBM公司的股票价格相比完全是一个相对数值,因为数值的意义已经发生了彻底的改变。

当时间足够长时,数据及其价值的定义都会发生改变。因此,数据定义的退化是一个不可争辩的事实。

1.7 数据简史

对于一本关于数据架构的书来说,如果没有讲述数据技术的发展,那么它就显得并不完整。首先要谈到的是接线板。这些需要手工接线的电路板是早期形态计算机的“插件”。这种硬线连接方式决定了计算机应该如何处理数据。

1.7.1 纸带和穿孔卡片

然而接线板笨拙且容易出错,只能处理很小的数据量。很快出现了另一种替代品:纸带和穿孔卡片。纸带和穿孔卡片能够处理更大的数据量,而且可以实现更多的功能。不过纸带和穿孔卡片也存在问题。当程序员丢弃一组卡片之后,重建卡片的顺序将是一项非常费力的工作。一旦卡片被穿孔,几乎不可能再对卡片做出改变(虽然在理论上是可以的)。另一个缺点是,这种介质只能存储相对少量的数据(图1.7.1描绘了卡片和纸带介质)。

图像说明文字

1.7.2 磁带

很快,纸带和穿孔卡片就被磁带所代替。磁带是对磁带和穿孔卡片的一种改进。磁带可以存储更大的数据量,而且磁带上存储的记录是大小可变的(以前,穿孔卡片上存储的记录是大小固定的),所以说磁带有了一些重要的改进。

但是磁带也有很多缺陷。缺陷之一就是磁带上的文件必须按顺序访问。这就意味着分析师在寻找一条记录时不得不按顺序搜索整个文件。磁带文件的另一个缺陷是,随着时间的推移,磁带上的氧化物会逐渐剥离。一旦氧化物消失,磁带上的数据就无法恢复了。

尽管磁带文件存在一定缺陷,但是它比起穿孔卡片和纸带而言仍然是一种进步。图1.7.2展示了一个磁带文件。

图像说明文字

1.7.3 磁盘存储器

由于磁带文件的缺陷,很快就有一种替代介质出现了。这种替代介质被称为磁盘存储器(或直接存取存储器)。直接存取存储器的巨大优势在于可以直接对数据进行存取,不再需要仅仅为了访问一个记录而读取整个文件了。有了磁盘存储器,就可以直接定位到某一数据单元。

图1.7.3展现了磁盘存储器。起初磁盘存储器非常昂贵,而且也没有太多的可用容量。但是硬件厂商很快对磁盘存储器的速度、容量和成本进行了改进。时至今日,磁盘存储器仍在不断改进。

图像说明文字

1.7.4 数据库管理系统

随着磁盘存储器的出现,数据库管理系统(database management system,DBMS)诞生了。DBMS能够控制磁盘存储器上数据的存储、访问、更新和删除。DBMS将程序员从重复和复杂的工作中解脱出来。

数据库系统的出现带来了将处理器关联到数据库(和磁盘)的能力。图1.7.4展示了DBMS的出现,以及数据库与计算机的紧密耦合。

图像说明文字

最初,采用简单的单处理器架构就足够了。单处理器架构包括一个操作系统、DBMS和一个应用程序。早期的计算机可以管理所有这些组件。于是很快,处理器的性能得以提升拓展。正是从此开始,对存储能力的考量从改善存储技术本身转变为改善对存储技术的管理。在此之前,数据的发展是通过改进存储介质来取得巨大的飞跃;而在此之后,则是在处理器架构层面上出现了飞跃式发展。

很快,单处理器的性能达到了瓶颈。消费者总是可以购买更大、更快的处理器,但是不久之后,即使最大的单处理器也无法满足消费者对性能的需求了。

1.7.5 耦合处理器

下一个重大进展是多处理器的紧耦合,如图1.7.5显示。通过将多个处理器耦合在一起,处理能力也自然而然地提高了。通过在不同处理器之间共享内存,耦合多个处理器成为可能。

图像说明文字

1.7.6 在线事务处理

随着更强的处理能力和DBMS控制的出现,创建一种新型系统已经成为可能。这种新型系统被称为在线实时系统(online real-time system)。这类系统所做的处理被称为在线事务处理(online transaction processing,OLTP)。

图1.7.6展示了在线实时系统。有了在线实时处理,人们就能以一种此前无法实现的方式来使用计算机。有了在线实时处理系统,人们可以采用此前无法做到方式与计算机进行交互。一夜之间,出现了航空订票系统、银行柜员机系统、自动取款机系统、库存管理系统、汽车预订系统等许许多多的系统。当实时在线处理成为现实之后,计算机在商业上就有了前所未有的应用。

图像说明文字

随着计算机使用的爆炸性增长,人们创建的数据量和数据类型也都有了爆炸性增长。数据如洪水般涌来,人们开始希望能够拥有集成化数据,而不再仅仅满足于从某个应用程序获取数据。随着数据大潮的涌来,人们需要以一种内聚性的方式来看待数据。

1.7.7 数据仓库

于是,数据仓库诞生了,如图1.7.7所示。数据仓库出现后,“事实的唯一版本”或“记录系统”也随之出现。有了“事实的唯一版本”,现在组织就拥有了数据基础,可以充满信心地进行使用。

图像说明文字

随着数据仓库的出现,数据量继续呈爆炸性增长。在数据仓库之前,并没有什么地方可供人们方便地存储历史数据;但是有了数据仓库之后,组织第一次拥有了一个天生为存储历史数据而设计的方便之所。

1.7.8 并行数据管理

有了存储大量数据的能力,自然而然地,对于数据管理产品和技术方面的需求也直线上升。很快出现了一种名为“并行”数据管理的架构方式,如图1.7.8所示。

图像说明文字

有了并行数据管理方法之后,就可以容纳海量数据了。并行方式可以比任何已有的非并行技术管理更多的数据。有了并行管理方式,能够管理多少数据量的限制因素就是经济方面的限制,而不是技术方面的限制了。

1.7.9 Data Vault

随着数据仓库的增长,人们意识到有必要改良数据仓库设计的灵活性,并且改进其数据完整性。这样就产生了Data Vault,如图1.7.9所示。有了Data Vault,目前数据仓库在设计和完整性上都达到了极致。

图像说明文字

1.7.10 大数据

但是数据量还在继续增加。很快就有系统超出了此前最大并行数据库的能力。这时,一种名为大数据的新技术出现了,它对数据管理软件优化的着眼点在所能够管理的数据量,而不是以在线方式访问数据的能力。

图1.7.10描绘了大数据的到来。随着大数据的出现,人们能够捕获和存储几乎无限量的数据。随着海量数据处理能力的出现,人们开始需要一种全新的基础设施。

图像说明文字

1.7.11 分界线

人们不仅意识到需要一种新的基础设施,也开始意识到大数据存在两种明显不同的类型,即前面谈到的重复型大数据和非重复型大数据。重复型大数据和非重复型大数据所需的基础设施明显不同。

图1.7.11说明了对重复型大数据和非重复型大数据之间差别的认识。

图像说明文字

目录

  • 译者序
  • 前言
  • 第 1 章 企业数据
  • 第2章 大数据 
  • 第3章 数据仓库
  • 第4章 Data Vault
  • 第5章 作业环境
  • 第6章 数据架构 
  • 第7章 重复型分析
  • 第8章 非重复型分析
  • 第9章 作业分析1 
  • 第10章 作业分析2
  • 第11章 个人分析
  • 第12章 复合式的数据架构
  • 词汇表