天天看点

关于内部OLAP工具的一些设计思路

更新: 内部olap工具终于来了

https://deepinsight.alipay.com/index.htm#/list/self-analysis

最近一年在蚂蚁接触了很多的数据分析需求,会用到各种交付工具,总的来说是非常方便的,唯一一个没有找到最佳实践的需求场景是OLAP,现有的这些工具基本上都无法直接给到需求方使用;所以特地总结一下olap相关的一些工具设计思路,希望能给平台产品有些帮忙;如果已经有可用的产品了,还请告知~

当前了解到的内部两大主力工具

1、Deepinsight

链接:

https://deepinsight.alipay.com/index.htm#/welcome/home/roleBusiness

无olap功能,但是提供数据集的共享,可以在后台编辑界面实现olap功能,页面如下:

关于内部OLAP工具的一些设计思路

可以用olap的数据源,用olap的方法配置报表,查询就伤不起了

2、FBI

https://sg.fbi.alibaba-inc.com/fbi/home.htm

自称有olap功能,但也是在配置逻辑里面实现的,页面如下:

关于内部OLAP工具的一些设计思路

只能说不DI更难用

3、AEM的olap

https://aem.alibaba-inc.com/project/aes/page/analytics

最像olap的页面,可惜只是应用内部的简单实现,这里列出来就是给大家对比下,页面如下:

关于内部OLAP工具的一些设计思路

这个算是按照 olap的产品思路做的东西了,可惜我们没办法能力复用

4、其他

DI 和 FBI 可以说基本没有olap的产品能力,所以就不具体说了,大家可以去参考其他大厂的olap产品对比下

咱们同学分享的 【产品调研】字节跳动BI解决方案-Datawind

https://www.atatech.org/articles/178756?commentId=302744&msgid=4234715#comment-302744

里面有olap的页面:

关于内部OLAP工具的一些设计思路

字节的这个olap设计是大家比较认可的,几年前在友商那边做的olap就是这种,在产品层面并没有太多复杂的东西,所以我们要求不高的

用户希望的OLAP工具

直接说几个当前数仓环境下,用户的主要诉求,因为和传统的olap已经不太一样了,这个是我们做olap最应该注意的地方。

1、 简单可用

主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果

不需要记住使用方法,点几下鼠标就可以搞定;

配置类的东西交给后台研发同学

2、不怕查询太慢

这一点和olap自身定位有些冲突,但真实场景用户确实可以接受10-20秒的等待;

因为找数据同学提数据、提需求,绝对不止这个时间,分析大部分的场景都不是急迫的,大家都知道大数据量查询慢,所以非常理解;

点几下鼠标,等几分钟,比自己写sql写关联跑任务简单多了

3、配置发布要快

也就是研发侧的响应要快,新增一个数据主题,新增一个维度或者指标,可以快速上线使用;

这就是有和没有的问题,大家可以接受查询慢,但是维度、指标一定要有,这个才是他们可以获取数据的前提;

所以开发配置的功能要高效

技术方案方面

宗旨就是:在慢的基础上尽可能的提供快速查询的能力

计算引擎:odps做预加工和托低计算,adb、explorer等做实时计算,hbase进行distinct预计算或实时计算

查询固化:自动将查询生成odps离线任务和数据

对于到底要不要做预计算,从经验上看,增加了架构的复杂度,预计算的扩展性很差,在当前分布式计算速度已经很快的情况下,直接计算性价比更高;可以在需求层面做分拆,按不同的需求设计不同的粒度数据主题

产品方案方面

主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果

如上,形成6个主要功能区域;

维度和指标一定要分组、筛选功能一定要灵活、分析保存和共享能力一定要有

最后、

还是太懒了,写不了太多东西,希望有用