为什么预计算技术代表大数据行业的未来 一文读懂 (为什么要有预算)

为什么预计算技术代表大数据行业的未来 一文读懂 (为什么要有预算)

了解 Kylin 的技术同仁,一定对预计算这个概念不陌生。业内对于预计算的价值一直褒贬不一,今天笔者将结合自己的十多年的工作经验,从预计算的历史、原理到企业的应用,以及未来的发展来为大家带来更为全面的解读。

预计算的早期形式

预计算是一种用于信息检索和分析的常用技术, 其基本含义是提前计算和存储中间结果,再使用这些预先计算的结果加快进一步的查询。

其实在我们不知道预计算的时候,我们就已经使用过预计算了。 预计算的历史大概可以追溯到 4000 年前古巴比伦人最早使用的乘法表。 你回想小学背过的乘法表(如下图所示), 记住了乘法口诀,我们就可以通过心算来进行一些简单的乘法运算,这个过程其实就是一种简单的预计算。

top="1245">数据库中的预计算

预计算也广泛应用于数据库技术中。比如,关系数据库中的索引其实就是一种预计算。为了快速地检索数据,数据库会主动维护一个数据索引的结构,用来描述表格中一列或者多列数据的缩影。一旦索引的预计算完成,数据库不用每次都重新查找表格的每一行,就能快速地定位数据。假设 N 是表格的行数,有了索引的预计算,数据检索的时间可以从 O(N)减少至 O(log(N)) 甚至到 O(1)。

索引作为一种预计算,带来便利的同时也存在一些弊端。当表格中插入新的行数时,就需要重新进行的计算和储存。 当索引越多,查询响应越快时,那其实也意味着要进行更多的预计算,这当然也会显著减缓数据更新的速度。 下列图表展示了索引数量增加后,表格插入行的性能也相应降低 。

汇总表,通常由物化视图实现,也是数据库中预计算应用的另一种形式。汇总表本质上是对于原始表格的汇总。一个十亿行的交易表按照日期进行聚合以后,可能就只剩几千行了。对数据的分析就可以通过汇总表而不是原始表来完成。受益于汇总表中数据量的大幅缩小,交互式的数据探索在汇总表上能提速数百倍甚至数千倍。而想在原始表格中完成这样的交互式分析几乎是不可能的。构建一个交易表的成本并不低,而且如果需要与初始表格保持同步更新的话,那成本就更高了。不过,考虑到分析速度的大幅提升及其所带来的价值,汇总表仍然是现代数据分析中广泛使用的一种工具。

OLAP 和 Cube 中的预计算

随着数据库技术的演进,数据库根据用途也出现了专精和分工。1993 年,关系数据库之父埃德加·科德(Edgar F. Codd)创造了 OLAP(On-Line Analytical Processing)这一术语来表示联机分析处理。 由此,数据库被分为专精于在线事务处理的 OLTP 数据库,和专精于在线分析的 OLAP 数据库。 就同你推测的一样,OLAP 数据库将预计算技术的运用提升到了更高的层次。

Cube 系统是一种特殊的 OLAP 数据库,它将预计算发挥到了极致。分析时数据可以具有任意数量的维度,而 Cube 就一个数据的多维度数组。将关系型数据载入到 Cube 的过程就是一种预计算,其中包括了对表格的关联和聚合。一个满载的 Cube 约等于 2n 个汇总表,其中 n 是维度的数量。这种巨量的预计算可能需要数小时才能完成!

Cube 的优势和劣势都十分明显。一方面来说,一旦 Cube 构建完成,就能带来最快的分析体验,因为所有的计算都已经预先完成了。无论你想查看数据哪个维度,结果其实都早已计算好了。 除了从 Cube 获取查询结果和进行可视化操作之外,几乎不需要再进行联机计算,这完美实现了低延迟和高并发。

另一方面,Cube 不够灵活,而且维护成本较高。这不仅仅是因为预计算和存储本身消耗资源,更多是因为将数据从关系数据库中载入 Cube 通常需要人工建设数据管道。每次业务需求变更时,都需要一个新的开发周期来更新数据管道和 Cube。这既需要投入时间,也需要投入金钱。

尽管投入不菲,在追求极致的低延迟高并发的大数据多维分析场景下,Cube 技术一直是不可或缺的一个选项。

Cube 图源:

top="2573">大数据时代的挑战与机遇

展望未来,预计算在大数据时代又会面临什么挑战和机遇呢?

先说结论,随着数据总量和数据用户的持续增加,预计算将成为数据服务层中必不可少的基石。 为了更好地解释这一点,我们先要理解数字化转型时代的大背景和预计算的技术特征。

先来看看当下企业数字化转型的一些大背景。

再来总结一下预计算的技术特征

在以上的大背景下,让我们一起来看看,预计算将会如何帮助我们解决一些基本的分析需求。

如何在数据增长的同时依旧保持快速查询响应?

如何更好地满足“平民分析师”的并发需求?

当数据量和用户数量同时增长,如何管理 TCO(总拥有成本)?

总而言之,在数字化转型的时代,预计算将会是大规模数据变现的关键技术。 数据服务系统在预计算加持下,能够同时实现快速响应时间,高并发和低 TCO。当然,就额外的数据准备而言,预计算也有它缺,这一点我们也会在下文展开讨论。

TPC-H 基准里的 7 号查询在 MPP 引擎下的执行计划

预计算未来可期

尽管预计算在大数据领域表现优异,但也确实存在一些缺点,例如,预计算可能会加剧数据管道的延迟,还需要额外的人工运维。不过好消息是,Gartner 预测:“到 2022 年,通过机器学习的增加和自动服务级别管理的壮大,数据管理手动任务将减少 45%”。我们将会在接下来的两年内,看到新一代智能数据库系统缓解甚至彻底消除这些问题。

在不久的将来,新一代数据库将以智能化和自动化的方式融入预计算技术。 下面是我们对未来一些预测:

参考文献

作者介绍

李扬,Kyligence 联合创始人兼 CTO

Apache Kylin 联合创建者及项目管理委员会成员 (PMC),曾任 eBay 全球分析基础架构部大数据资深架构师、IBM InfoSphere BigInsights 技术负责人和摩根士丹利副总裁,IBM“杰出技术贡献奖”获奖者,具有大数据分析领域 10 多年实战经验。

专注于大数据分析、并行计算、数据索引、关系数学、近似算法和压缩算法等前沿技术。在过去 15 年的工作经历中,见证并直接参与了 OLAP 技术的发展 。

原文链接

为什么预计算技术代表大数据行业的未来,一文读懂

声明:本文来自用户分享和网络收集,仅供学习与参考,测试请备份。