在 Snowflake 中构建 OLAP Cube
Posted
技术标签:
【中文标题】在 Snowflake 中构建 OLAP Cube【英文标题】:Constructing a OLAP Cube in Snowflake 【发布时间】:2020-01-14 16:32:15 【问题描述】:我正在尝试在 Snowflake 中重建 Cognos Transformer 立方体。 1. 我们是否可以选择在 Snowflake 中构建 OLAP 多维数据集(如 SSAS、Cognos Transformer)? 2. 对应该采用的方法或应遵循的步骤有何建议?
【问题讨论】:
【参考方案1】:目前在 Snowflake 中没有类似于 SSAS 多维数据集的选项。将数据加载到数据库后,Snowflake 允许以类似于传统 OLTP 数据库的方式查询数据。
对于数据聚合,Snowflake 库提供了丰富的内置函数集。与 UDF、SP 和物化视图一起,我们可以为预先计算的数据聚合构建自定义解决方案。
对于数据分析,我们仍然必须依赖第三方工具。 Snowflake 提供了多种不同的连接器来从其他分析工具访问其数据库对象。 近期计划推出用于数据聚合、分析和报告的集成工具。
【讨论】:
【参考方案2】:使用 TM1 构建您的 OLAP 多维数据集,然后在 TM1 多维数据集的顶部运行 Cognos。 TM1 将雪花数据塑造成 OLAP 结构没有问题。
【讨论】:
【参考方案3】:Snowflake 不是多维数据库,它提供像 Oracle 一样的“按多维数据集分组”之类的分析语句。但这更像是一个带有聚合的矩阵。没有像 SSAS Cubes、PowerCubes 和其他多维数据库 (MDDB) 那样提供的向下钻取或向上钻取。
一个选项可以是通过创建临时聚合来模拟 OLAP,并使用 javascript 向下钻取/向上钻取。但根据我的经验,相当于钻孔的操作通常需要 10 秒以上(如果没有极高的资源可用)。 Snowflake 可能不是此类用例的最佳解决方案。
【讨论】:
以上是关于在 Snowflake 中构建 OLAP Cube的主要内容,如果未能解决你的问题,请参考以下文章