下载本文PDF版本 PDF

工程师统计

将统计技术应用于运维数据


海因里希·哈特曼

现代IT系统从网络设备、操作系统、应用程序和其他组件收集越来越多的数据。这些数据需要进行分析,以获取关于用户体验和业务绩效的重要信息。例如,需要检测故障,需要衡量服务质量,并且需要预测未来几天和几个月的资源使用情况。

规则 #1:花更多时间编写分析指标含义的代码,而不是编写收集、移动、存储和显示指标的代码。
-- Adrian Cockcroft1

统计是从数据中提取信息的艺术,因此成为运维现代IT系统的必要工具。尽管社区内对这一事实的认识不断提高(见上述引言),但 для 学习此领域相关统计方法的资源仍然难以找到。

大学提供的统计学课程通常要求学生事先掌握概率论、测度论和集合论知识,这是一个很高的入门门槛。更糟糕的是,这些课程通常侧重于参数方法,例如 t 检验,这些方法不适用于此类分析,因为它们依赖于对数据分布的强烈假设(即正态性),而运维数据不符合这些假设。

经典参数统计的这种不相关性可以用历史来解释。统计学的起源可以追溯到 17 世纪,当时计算成本很高,数据是一种稀缺资源,这导致数学家花费大量精力来避免计算。

今天,舞台已经发生了根本性的变化,允许采用不同的统计问题方法。考虑一下大学统计学课程中使用的一本教科书2中的这个例子

一位水果商收到了一批 10,000 个橙子。他想知道其中有多少是烂的。为了弄清楚,他抽取了 50 个橙子的样本,并计算了烂橙子的数量。他可以对烂橙子的总数做出哪些推论?

本章继续解释各种推理方法。翻译成 IT 领域的例子可以如下

DB 管理员想知道有多少请求的完成时间超过一秒。他测量所有请求的持续时间,并计算完成时间超过一秒的请求数量。完成。

丰富的计算资源已完全消除了对复杂估计的需求。

因此,本文对统计学采取了不同的方法。我们将不介绍关于推理统计学的教科书材料,而是通过四个部分介绍描述性统计方法,这些方法对于当前情况来说是可访问且相关的。我们将讨论几种可视化方法(第 1 节),精确理解如何使用直方图总结数据(第 2 节),访问经典摘要统计量(第 3 节),并了解如何用稳健的、基于分位数的替代方案替换它们(第 4 节)。我已尝试将先决数学知识降至最低(例如,通过提供源代码示例以及公式,只要可行。(免责声明:源代码是故意低效的,仅用作数学计算的说明。使用风险自负!)

可视化数据

可视化是最基本的数据分析方法。人脑处理几何信息的速度远快于数字或语言。当呈现适当的可视化效果时,人们几乎可以立即捕捉到相关属性,例如典型值和异常值。

本节将介绍基本的可视化绘图方法并讨论它们的属性。这里使用 Python 工具链 (IPython8、matplotlib12 和 Seaborn17) 生成图表。本节不演示如何使用这些工具。许多替代绘图工具(R、MATLAB)以及随附的教程在线提供。源代码和数据集可以在 GitHub4 上找到。

须状图

一维数据集 X = [x1, ..., xn] 最基本的可视化方法是须状图(图 1)。它由单个轴组成,轴上为每个样本绘制小线,称为

Statistics for Engineers

须状图适用于所有与样本的时间顺序无关的问题,例如常用值或异常值。如果数据集中有多个具有相同样本值的样本,则会出现问题。这些样本在须状图中将无法区分。可以通过向样本添加少量随机位移(抖动)来解决此问题。

尽管须状图具有简单而诚实的特性,但它并不常用。即使须状图更合适,也经常使用直方图或折线图代替。

直方图

直方图是一种流行的一维数据可视化方法。直方图不是在轴上绘制须状线,而是将轴划分为若干个箱子,并在其顶部绘制一定高度的条形图,使得箱子内的样本数量与条形的面积成正比(图 2)。

Statistics for Engineers

第二维度的使用通常使直方图比须状图更容易理解。特别是,诸如“样本的哪个比率低于 y?”之类的问题可以通过比较面积来有效地估计。这种便利是以使用额外的维度以及必须对值范围和箱子大小做出的额外选择为代价的。

直方图将在下一节中更详细地介绍。

散点图

散点图是二维数据集最基本的可视化形式。对于每对值 x,y,在画布上绘制一个点,该点在笛卡尔坐标系中的坐标为 (x,y)

散点图是比较两个指标的好工具。图 3 绘制了两个不同数据库节点的请求率散点图。在顶部显示的图中,点主要集中在对角线上,这意味着如果一个节点处理了许多请求,则另一个节点也是如此。在底部图中,点散布在整个画布上,这表示负载分布高度不规则,并可能表明数据库配置存在问题。

Statistics for Engineers

除了上面概述的故障检测场景之外,散点图也是容量规划和可扩展性分析3,15不可或缺的工具。

折线图

折线图是迄今为止实践中最流行的可视化方法。它是散点图的一种特殊情况,其中时间戳绘制在 x 轴上。此外,在连续点之间绘制一条线。图 4 显示了折线图的示例。

Statistics for Engineers

添加线条会给人一种各个样本之间连续过渡的印象。这种假设应始终受到质疑并谨慎对待(例如,仅仅因为 CPU 在下午 1:00 和下午 1:01 空闲,这并不意味着它在此期间没有做任何工作)。

有时,实际数据点会从可视化中完全省略,仅显示线条。这是一种不良做法,应避免。

折线图是显示时间相关模式(例如周期或趋势)的绝佳工具。对于与时间无关的问题(例如典型值),其他方法(例如须状图)可能更适合。

使用哪一个?

选择合适的可视化方法取决于要回答的问题。时间依赖性重要吗?那么折线图可能是一个不错的选择。如果不是,那么须状图或直方图可能是更好的工具。您想比较不同的指标吗?然后考虑使用散点图。

生成这些图应该成为例行公事。您的监控工具可能已经能够为您提供其中一些方法。要获得其他方法,请弄清楚如何导出相关数据并将其导入您选择的软件工具(Python、R 或 Excel)。试用这些可视化效果,看看您的机器数据是什么样的。

要发现更多可视化方法,请查看 Seaborn 画廊18

直方图

直方图在 IT 运维中扮演着两种不同的角色:可视化方法和聚合方法。

为了全面理解直方图,让我们首先为可视化部分中已经介绍的 Web 请求率数据构建一个直方图。图 5 中的列表包含完整的实现,此处逐步讨论。

Statistics for Engineers

1. 构建直方图的第一步是选择应覆盖的值范围。要做出此选择,您需要一些关于数据集的先验知识。最小值和最大值是实践中流行的选择。在本例中,值范围为 [500, 2200]

2. 接下来,将值范围划分为若干个箱子。箱子通常大小相等,但没有必要遵循此惯例。箱子划分在此处由箱子边界序列表示(第 4 行)。

3. 计算给定数据集中每个箱子包含多少样本(第 6-13 行)。位于两个箱子边界上的值将分配给较高的箱子。

4. 最后,生成一个条形图,其中每个条形图都基于一个箱子,并且条形图的高度等于样本计数除以箱子宽度(第 14-16 行)。除以箱子宽度是一个重要的归一化步骤,因为否则条形面积与样本计数不成正比。图 5 显示了生成的直方图。

在选择直方图的范围和箱子边界时的不同选择会大大影响其外观。图 6 显示了相同数据的 100 个箱子的直方图。请注意,它与须状图非常相似。在另一个极端,选择单个箱子将导致直方图只有一个条形图,其高度等于样本密度。

Statistics for Engineers

软件产品为值范围和箱子宽度做出默认选择。通常,值范围被视为数据的范围,并使用等间距的箱子。存在几种公式用于选择在某些假设下产生“理想”结果的箱子数量——特别是,n1/2 (Excel) 和 3.5σ/n1/3 (Scott's rule7)。在实践中,当应用于包含许多异常值的运维数据(例如请求延迟)时,这些选择不会产生令人满意的结果。

对于熟悉概率论的读者,请注意直方图是概率密度函数的估计器。9

直方图作为聚合方法

当测量高频数据(例如 I/O 延迟,其到达速率可能超过每秒 1,000 个样本)时,存储所有单个样本不再可行。如果您愿意忘记排序并牺牲一些准确性,则可以通过使用直方图数据结构来节省大量空间。

基本思想是,与其将单个样本存储为列表,不如使用在直方图计算中作为中间结果出现的箱子计数向量。图 5 中的示例得出了以下值

sample_count = [0, 10, 8, 4, 25, 23, 4, 2]

用于存储直方图的精确内存表示形式各不相同。重要的一点是每个箱子的样本计数都是可用的。

直方图允许近似计算各种摘要统计量,例如平均值和分位数,这些将在以下各节中介绍。精度取决于箱子大小。

此外,直方图可以轻松聚合。如果数据库集群的每个节点都有具有相同箱子选择的直方图的请求延迟,则可以通过添加每个箱子的样本计数来推导出整个集群的延迟分布。聚合的直方图可用于计算整个集群的平均值和分位数。这与为各个节点单独计算平均值或分位数的情况形成对比。例如,不可能从各个节点的第 99 百分位数推导出整个集群的第 99 百分位数。14

高动态范围直方图

HDR(高动态范围)直方图为箱子宽度提供了一种实用的选择,该选择允许内存高效的表示形式,适用于捕获机器生成数据(例如 I/O 延迟)中常见的非常广泛的范围。同时,HDR 直方图在实践中往往会产生可接受的可视化表示形式。

HDR 直方图在值范围内动态更改箱子宽度。典型的 HDR 直方图在 1 到 10 之间具有 0.1 的箱子大小,箱子边界为:1、1.1、1.2、...、9.9、10。类似地,在 10 到 100 之间,箱子大小为 1,边界为 10、11、12、...、100。对于所有 10 的幂,此模式都会重复,因此在 10k 和 10k+1 之间有 90 个箱子。k 的典型范围是 -127...128;通常会添加一个额外的箱子用于 0 值。

一般定义稍微复杂和冗长,因此此处未提供,但感兴趣的读者可以参考 http://hdrhistogram.org/6 了解更多详情和内存高效的实现。

从之前的描述中应该很明显,HDR 直方图跨越了非常大的值范围 ([10-127, 10128])。箱子大小类似于浮点数精度:值越大,可用精度越低。此外,箱子边界独立于数据集。因此,前面描述的聚合技术适用于 HDR 直方图。

直方图作为热图

观察数据分布随时间的变化需要在直方图图上增加一个额外的维度。一种方便的方法是将样本密度表示为热图而不是条形图。图 7 显示了以这种方式可视化的请求率数据。浅色表示低样本密度,深色表示高样本密度。

Statistics for Engineers

随时间捕获的多个直方图热图可以组合成单个二维热图。

图 8 显示了一个特别有趣的示例,即 Web 请求延迟的 HDR 直方图序列的可视化。请注意,数据的分布是双峰的,一个模式恒定在 ~5ms 左右,另一个更分散的模式从 ~10 ms 上升到 ~50 ms。在这个特定案例中,第二个模式是由会话处理程序中的一个错误引起的,该错误不断向二叉树添加新条目。每次传入请求都必须遍历这棵树,导致延迟延长。如果您仔细观察,甚至可以发现平均遍历时间的对数增长。

Statistics for Engineers

经典摘要统计量

摘要统计量的目的是提供数据集基本特征的摘要。它相当于商业环境中的“电梯演讲”:只有基本信息,没有所有细节。

好的摘要统计量应该能够回答诸如“典型值是什么?”或“数据中有多少变化?”之类的问题。一个理想的属性是对异常值的稳健性。单个错误测量不应改变数据集的粗略描述。

本节着眼于经典摘要统计量:平均值和标准差。在下一节中,我们将介绍它们的基于分位数的对应物,后者对异常值更稳健。

平均值

数据集 X = [x1,..., xn]平均值平均数定义为

或用 Python 代码表示时

def mean(X): return sum(X) / len(X)

如果在(无质量)轴上的点 xi 上放置相等权重的权重,则平均值具有质心的物理意义。当 xi 的值彼此接近时,平均值是典型样本的良好表示。相反,当样本集中在几个中心或存在异常值时,平均值可能远离每个单独的数据点(图 9)。

Statistics for Engineers

平均值在 IT 运维中很常见。平均值的一个常见应用是数据汇总。例如,当在一分钟的采样周期内到达多个样本时,计算平均值作为“一分钟汇总”并存储,而不是原始样本。类似地,如果每分钟都有数据可用,但您只对小时间隔感兴趣,则可以通过取平均值来“按小时汇总数据”。

尽管平均值很丰富,但在衡量服务性能时,平均值会导致各种问题。引用 Optimizely.com 的 Dogan Ugurlu 的话:“为什么?因为查看您的平均响应时间就像测量医院的平均温度一样。您真正关心的是患者的体温,特别是最需要帮助的患者。”16 在下一节中,我们将介绍中位数和分位数,它们更适合此类性能分析。

尖峰侵蚀

在监控系统中将指标视为折线图通常会揭示一种称为尖峰侵蚀的现象。5 要重现此现象,请选择一个指标(例如,ping 延迟),该指标在离散的时间点经历尖峰,并放大其中一个尖峰,并在 y 轴上读取尖峰的高度。现在缩小图形,并再次读取同一尖峰的高度。它们相等吗?

图 10 显示了这样的图形。尖峰高度已从 0.8 降至 0.35

Statistics for Engineers

这怎么可能?结果是汇总过程的产物,该过程通常在显示长时间范围内的图形时使用。在一个月的时间内收集的数据量(超过 40,000 分钟)大于用于绘图的像素数量。因此,数据必须汇总到更大的时间段才能绘制。当平均值用于汇总时,单个尖峰与越来越多的“正常”样本平均,因此高度降低。

如何做得更好?解决此问题的直接方法是选择替代的汇总方法,例如最大值,但这会牺牲有关典型值的信息。另一种更优雅的解决方案是将值汇总为直方图,并为更大的视图范围显示二维热图而不是折线图。这两种方法都在图 10 最右侧的图形中进行了说明。

偏差度量

一旦确定了数据集的平均值 μ,下一步自然就是衡量各个样本与平均值的偏差。实践中经常发现以下三种偏差度量。

最大偏差定义为

并给出了数据集中到平均值的距离的上限。

平均绝对偏差定义为

并且是与平均值的典型偏差的最直接数学翻译。

标准差定义为

虽然此定义背后的直觉并不明显,但此偏差度量因其良好的数学特性(作为从二次形式派生的)而非常受欢迎。实际上,所有这三种偏差度量都适合于 p 偏差的连续族11,该族以“中心”位置为特征的标准差。

图 11 显示了请求延迟数据集的平均值和所有三种偏差度量。您可以立即观察到以下不等式



Statistics for Engineers

可以证明这种关系在一般情况下成立。

异常值的存在会显着影响所有三种偏差度量。最大偏差甚至大于平均值,因此表示数据集可能偏差到负值范围,这对于请求延迟是不可能的。

标准差的注意事项

我们中的许多人都记得学校里的以下经验法则

• 68% 的所有样本都位于平均值的一个标准差范围内。

• 95% 的所有样本都位于平均值的两个标准差范围内。

• 99.7% 的所有样本都位于平均值的三个标准差范围内。

这些断言依赖于数据呈正态分布的关键假设。对于运维数据,这种情况几乎从未发生,并且该规则完全失败:在上一个示例中,超过 0.97% 的样本位于平均值的一个标准差范围内。

 

以下战例可以在 P. K. Janert 的书10中找到

数据库的 SLA(服务级别协议)将延迟异常值定义为超出三个标准差的值。实施 SLA 检查的程序员天真地记住了上述规则,并计算了最慢 0.3% 的查询的延迟。

在实践中,此规则与原始定义几乎无关。特别是,此规则盲目地将每个数据集的 0.3% 标记为异常值。此外,事实证明,报告的值捕获了运行时间为数小时的长时批处理作业。最后,程序员硬编码了一个看似合理的阈值 ~50 秒,无论实际输入如何,都将其报告为“三个标准差”。

实际的 SLA 从未更改。

分位数和异常值

上一节介绍的经典摘要统计量非常适合描述均匀分布,但很容易受到异常值的影响。此外,它们不包含有关分布尾部的太多信息。

分位数是一种灵活的工具,它提供了经典摘要统计量的替代方案,后者不易受异常值的影响。

在介绍分位数之前,我们需要回顾以下概念。数据集 X 在值 y 处的(经验)累积分布函数 CDF(y) 是低于值 y 的样本比率

或用 Python 代码表示

def CDF(X,y)
   lower_count = 0
   for x in X: if x <= y: lower_count += 1
   return float(lower_count) / len(X)

图 12 显示了请求率数据集的示例。请注意,CDF(X,y) 取值在 0 到 1 之间,并且作为 y 的函数单调递增。

Statistics for Engineers

现在我们转向分位数的定义。固定一个介于 0 和 1 之间的数字 q 和大小为 n 的数据集 X。粗略地说,q 分位数是一个数字 y,它将 X 分成两边,其中 q 比率的样本低于 y,其余 1 - q 比率的样本高于 y

更正式地,Xq 分位数是一个值 y,使得

• 至少 q × n 个样本小于或等于 y

• 至少 (1 - q) × n 个样本大于或等于 y

熟悉的示例是最小值(它是 0 分位数)、最大值(它是 1 分位数)和中位数(它是 0.5 分位数)。特殊分位数的常用名称包括 百分位数(对于 k/100 分位数)和 四分位数(对于 k/4 分位数)。

请注意,分位数不是唯一的。有多种方法可以使它们变得唯一,但这些方法涉及并非显而易见的选择。维基百科列出了常见软件产品中发现的九种不同的选择。13 因此,如果人们谈论q 分位数或中位数,则应始终小心并质疑做出了哪种选择。

作为一个关于分位数如何非唯一的简单示例,取一个包含两个值的数据集 X = [10,20]。哪些值是中位数、0 分位数、0.25 分位数?尝试自己弄清楚。

好消息是 q 分位数始终存在且易于计算。实际上,设 S 是数据集 X 的排序副本,使得最小元素 X 等于 S[0],最大元素 X 等于 S[n - 1]。如果 d = floor(q × (n - 1)),则 S[d] 将具有 d+1 个样本 S[0],...,S[d],它们小于或等于 S[d],以及 n - d + 1 个样本 S[d],..., S[n],它们大于或等于 S[d]。由此可见,S[d] = y 是一个 q 分位数。对于 d = ceil(q × (n - 1)),同样的论点也成立。

以下列表是上述构造的 Python 实现

def quantile_range(q,X)
   S = sorted(X)
   n = len(X)
   return (
       S[int(math.floor(q * (n - 1)))],
       S[int(math.ceil(q * (n - 1)))]
   )

不难看出,上述构造由最小和最大可能的 q 分位数组成。符号 Qmin (X, q) 表示最小 q 分位数。最小分位数具有以下属性:Qmin (X, q) ≤ y 当且仅当 X 的至少 n × q 个样本小于或等于 y 时。当检查大于 y 的样本比率时,最大分位数的陈述也成立。

分位数与上一节讨论的累积分布函数密切相关。这些概念在以下意义上彼此相反:如果 CDF(X, y) = q,则 yXq 分位数。由于此属性,累积分布函数值也称为逆分位数

服务级别监控的应用

分位数和 CDF 提供了一种强大的方法来衡量服务级别。要了解其工作原理,请考虑以下在实践中仍然常见的 SLA:“当每分钟测量一次,持续一小时时,服务的平均响应时间不应超过三毫秒。”

此 SLA 在捕获消费者的服务体验方面做得不好。首先,单个请求的完成时间超过 90 毫秒可能会违反该要求。此外,低总体负载导致测量的请求在 0.1 毫秒内完成的较长时间段可以补偿以不可接受的 100 毫秒或更长响应时间服务大量外部请求的较短时间段。

捕获客户体验到的服务质量的 SLA 如下所示:一小时内 API 服务的所有请求中,应有 80% 在 3 毫秒内完成。

此 SLA 不仅更易于制定,而且还避免了上述问题。单个长时间运行的请求不会违反 SLA,如果超过 20% 的查询受到影响,则繁忙时段且响应时间较长将违反 SLA。

为了检查 SLA,以下是分位数和 CFD 的两种等效公式

• 最小 0.8 分位数最多为 3 毫秒:Qmin (X1h, 0.8) ≤ 3ms

• 3 毫秒逆分位数大于 0.8:CDF(X1h, 3ms) ≥ 0.8。

此处 X1h 表示在一小时窗口内的样本。这两个公式都可用于有效监控服务级别。图 13 显示了 Qmin (X1h, 0.8) 的折线图。请注意,在 6 月 24 日,分位数如何升至 3 毫秒以上,表明违反了 SLA。图 14 显示了逆分位数 CDF(X1h, 3ms) 的图,该图在右轴上取值在 0% 到 100% 之间。SLA 违规表现为逆分位数降至 80% 以下。

Statistics for Engineers

Statistics for Engineers

因此,分位数和逆分位数提供了当前服务级别的互补视图。

结论

本文概述了一些在 IT 运维中找到应用的统计技术。我们讨论了几种可视化方法、它们的质量以及彼此之间的关系。直方图被证明是捕获数据和可视化样本分布的有效工具。最后,百分位数和逆百分位数的概念被证明可应用于监控服务级别。

参考文献

1. Cockcroft, A. 2014. Monitorama - 请不要再是分钟、毫秒、单体或监控工具; http://de.slideshare.net/adriancockcroft/monitorama-please-no-more

2. Georgii, H.-O. 2002. Stochastik. DeGruyter。

3. Gunther, N. J. 2007. Guerrilla Capacity Planning. 柏林: 施普林格出版社.

4. Hartmann, H. 2015. 工程师统计学; https://github.com/HeinrichHartmann/Statistics-for-Engineers

5. Hartmann, H. 2016. 展示数据; http://www.circonus.com/spike-erosion

6. HDR Histogram: 高动态范围直方图; http://hdrhistogram.org/

7. 直方图; https://en.wikipedia.org/wiki/Histogram

8. IPython; https://ipython.pythonlang.cn

9. Izenman, A. J. 2008. 现代多元统计技术。纽约: 施普林格出版社。

10. Janert, P. K. 2010. 使用开源工具进行数据分析。O'Reilly。

11. Lp 空间; https://en.wikipedia.org/wiki/Lp_space

12. Matplotlib; https://matplotlib.net.cn

13. 分位数; https://en.wikipedia.org/wiki/Quantile

14. Schlossnagle, T. 2015. 数学的问题:为什么你的监控解决方案是错误的; http://www.circonus.com/problem-math/

15. Schwarz, B. 2015. 使用通用可扩展性定律进行实用可扩展性分析; https://www.vividcortex.com/resources/universal-scalability-law

16. Ugurlu, D. 2013. 最具误导性的响应时间度量:平均值; https://blog.optimizely.com/2013/12/11/why-cdn-balancing/

17. Waskom, M. 2012-2015. Seaborn:统计数据可视化; http://stanford.edu/~mwaskom/software/seaborn/

18. Waskom, M. 2012-2015. Seaborn 示例库; http://stanford.edu/~mwaskom/software/seaborn/examples/index.html

喜欢它,讨厌它?请告诉我们

feedback@circonus.com

海因里希·哈特曼 是 Circonus 的首席数据科学家。他获得了德国波恩大学纯数学博士学位,研究方向为弦理论的几何方面,之后在英国牛津大学担任研究员。 2012 年,他转型进入计算机科学领域,并担任多家不同公司和研究机构的独立顾问。 他现在领导 Circonus 监控产品的数据分析开发。

Circonus 是一个用于本地部署或 SaaS 部署的监控和分析平台。 其完全可自动化的以 API 为中心的平台比其监控的系统更具可扩展性和可靠性。 Circonus 平台专为微服务和 DevOps 的需求而构建,提供百分位数分析、图表、仪表板和机器学习智能,从而实现业务优化。 如果您不使用 Circonus,您的结果将是平均水平。

版权所有 © 2016 归所有者/作者所有。 出版权已许可给 。

acmqueue

最初发表于 Queue 卷。 14,第 1 期——
数字图书馆 中评论本文





更多相关文章

Qian Li, Peter Kraft - 事务和无服务器是天生一对
数据库支持的应用程序是无服务器计算令人兴奋的新领域。 通过紧密集成应用程序执行和数据管理,事务性无服务器平台实现了许多在现有无服务器平台或基于服务器的部署中不可能实现的新功能。


Pat Helland - 任何其他名称的身份
新兴的系统和协议既收紧又放宽了我们对身份的概念,这很好! 它们使完成工作变得更容易。 REST、物联网、大数据和机器学习都围绕着有意保持灵活有时又模棱两可的身份概念。 身份概念是我们分布式系统的基本机制的基础,包括互换性、幂等性和不变性。


Raymond Blum, Betsy Beyer - 实现数字永久性
当今的信息时代正在为世界所依赖的数据创造新的用途和新的管理方式。 世界正在远离熟悉的物理人工制品,转向更接近信息本质的新的表示方式。 我们需要流程来确保知识的完整性和可访问性,以保证历史将被知晓和真实。


Graham Cormode - 数据速写
你是否曾经感到被无止境的信息流淹没? 似乎如潮的新电子邮件和短信要求持续关注,还有电话要接听、文章要阅读、敲门声要回应。 将这些碎片拼凑在一起以跟踪重要内容可能是一个真正的挑战。 为了应对这一挑战,流数据处理模型越来越受欢迎。 目标不再是捕获、存储和索引每一分钟的事件,而是快速处理每个观察结果,以便创建当前状态的摘要。





© 保留所有权利。

© . All rights reserved.