近实时分析策略

Posted

技术标签:

【中文标题】近实时分析策略【英文标题】:Strategies for near real-time analytics 【发布时间】:2015-03-10 17:39:43 【问题描述】:

我有几个不同的“维度”,主要是层次结构我想运行一些保存在层次结构中各个级别的指标。当您在此层次结构中导航时,指标会根据您当前的选择进行更新。

在传统的 OLAP 系统中,您会拥有一些带有事实表的维度表,然后执行 ETL 以将数据导入数据仓库并针对该数据运行查询。我想近乎实时地做到这一点。实时执行此操作意味着 ETL 必须近乎实时地运行(可能是缓存在内存中的数据点)。

如果层次结构是 (X -> Y -> Z),那么如果我有 5 个 X、2 个 Y 和 5 个 Z 作为维度,那么我需要运行 (5 * 2 * 5) => 50 个查询来获得填充事实表?如果这个层次结构变得更大,那么我可以轻松地运行数百万个查询。我不确定我是否正确地考虑了这个问题,如果有实时数据分析经验的人可以分享他们的经验,这将非常有帮助。

【问题讨论】:

我认为如果你能解释一下实际的表结构,这将更容易理解——X、Y 和 Z 是单独的维度表吗?还是构建在一个维度表中的层次结构?真实姓名和有关它们之间关系的信息也会有所帮助。在这一点上,我不了解 50 个查询或潜在的数百万个查询,但我怀疑有了这种信息,它会变得更加清晰! 【参考方案1】:

不明白为什么需要数百万次查询来更新事实数据。每个表的简单“增量 ID”可以告诉 OLAP 系统每次需要刷新数据时需要加载哪些行。

也许您可以查看icCube,它允许接近real-time 分析;由于多维数据集不缓存任何聚合,因此每次加载新数据时,都可以进行查询。

【讨论】:

以上是关于近实时分析策略的主要内容,如果未能解决你的问题,请参考以下文章

基于 MaxCompute 的实时数据处理实践

第6篇: ElasticSearch写操作—原理及近实时性分析(完整版)

创建实时数据仓库

实时即未来,大数据项目车联网之原始数据实时ETL任务消费数据策略

实时即未来,大数据项目车联网之原始数据实时ETL任务消费数据策略

怎样利用Spark Streaming和Hadoop实现近实时的会话连接