We present Holistic Cube Analysis (HoCA), a framework that augments the capabilities of relational queries for data insights. We first define AbstractCube, a data type defined as a function from RegionFeatures space to relational tables. AbstractCube provides a logical form of data for HoCA operators and their compositions to operate on to analyze the data. This function-as-data modeling allows us to simultaneously capture a space of non-uniform tables on the co-domain of the function, and region space structure on the domain of the function. We describe two HoCA operators, cube crawling and cube join, which are cube-to-cube transformations (i.e., higher-order functions). Cube crawling explores a region subspace, and outputs a cube mapping regions to signal vectors. Cube join, in turn, allows users to meld information in different cubes, which is critical for composition. The cube crawling interface introduces two novel features: (1) Region Analysis Models (RAMs), which allows one to program and organize analysis on a set of data features into a module. (2) Multi-Model Crawling, which allows one to apply multiple models, potentially on different feature sets, during crawling. These two features, together with cube join and a rich RAM library, allows us to construct succinct HoCA programs to capture a wide variety of data-insight problems in system monitoring, experimentation analysis, and business intelligence. HoCA poses a rich algorithmic design space, such as optimizing crawling performance leveraging region space structure, optimizing cube join performance, and physical designs of cubes. We describe several cube crawling implementations leveraging different foundations (an in-house relational query engine, and Apache Beam), and evaluate their performance characteristics. Finally, we discuss avenues in extending the framework, such as devising more useful HoCA operators.
翻译:我们提出全维立方分析(Holistic Cube Analysis, HoCA)——一种增强关系查询能力以支持数据洞察的框架。首先定义抽象立方(AbstractCube)这一数据类型,其本质为从区域特征空间到关系表的函数映射。抽象立方为HoCA算子及其组合操作提供了数据逻辑形式,使其能够对数据进行分析。这种"函数即数据"的建模方式允许我们同时捕获函数值域上的非均匀表空间与函数定义域上的区域空间结构。我们描述两种HoCA算子:立方爬取(cube crawling)与立方连接(cube join),两者均为立方到立方的变换(即高阶函数)。立方爬取通过探索区域子空间,输出将区域映射至信号向量的立方体;而立方连接则使用户能够融合不同立方中的信息,这对算子组合至关重要。立方爬取接口引入两项新颖特性:(1) 区域分析模型(RAMs),允许用户将特定数据特征集的分析流程封装为模块化程序;(2) 多模型爬取,支持在爬取过程中对不同的特征集应用多种模型。这两项特性与立方连接及丰富的RAM库相结合,使我们能够构建简洁的HoCA程序,以解决系统监控、实验分析与商业智能领域中的广泛数据洞察问题。HoCA蕴涵丰富的算法设计空间,包括利用区域空间结构优化爬取性能、优化立方连接性能以及立方体的物理设计方案。我们描述了基于不同底层引擎(内部关系查询引擎与Apache Beam)实现的多种立方爬取方案,并评估其性能特征。最后,我们探讨了框架的扩展方向,例如设计更多实用的HoCA算子。