背景
最近一年在蚂蚁接触了很多的数据分析需求,会用到各种交付工具,总的来说是非常方便的,唯一一个没有找到最佳实践的需求场景是OLAP,现有的这些工具基本上都无法直接给到需求方使用;所以特地总结一下olap相关的一些工具设计思路,希望能给平台产品有些帮忙;如果已经有可用的产品了,还请告知~
当前了解到的内部两大主力工具
1、Deepinsight
链接: https://deepinsight.alipay.com/index.htm#/welcome/home/roleBusiness
无olap功能,但是提供数据集的共享,可以在后台编辑界面实现olap功能,页面如下:
可以用olap的数据源,用olap的方法配置报表,查询就伤不起了
2、FBI
链接: https://sg.fbi.alibaba-inc.com/fbi/home.htm
自称有olap功能,但也是在配置逻辑里面实现的,页面如下:
只能说不DI更难用
3、AEM的olap
链接: https://aem.alibaba-inc.com/project/aes/page/analytics
最像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最应该注意的地方。
1、 简单可用
主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果
不需要记住使用方法,点几下鼠标就可以搞定;
配置类的东西交给后台研发同学
2、不怕查询太慢
这一点和olap自身定位有些冲突,但真实场景用户确实可以接受10-20秒的等待;
因为找数据同学提数据、提需求,绝对不止这个时间,分析大部分的场景都不是急迫的,大家都知道大数据量查询慢,所以非常理解;
点几下鼠标,等几分钟,比自己写sql写关联跑任务简单多了
3、配置发布要快
也就是研发侧的响应要快,新增一个数据主题,新增一个维度或者指标,可以快速上线使用;
这就是有和没有的问题,大家可以接受查询慢,但是维度、指标一定要有,这个才是他们可以获取数据的前提;
所以开发配置的功能要高效
技术方案方面
宗旨就是:在慢的基础上尽可能的提供快速查询的能力
计算引擎:odps做预加工和托低计算,adb、explorer等做实时计算,hbase进行distinct预计算或实时计算
查询固化:自动将查询生成odps离线任务和数据
对于到底要不要做预计算,从经验上看,增加了架构的复杂度,预计算的扩展性很差,在当前分布式计算速度已经很快的情况下,直接计算性价比更高;可以在需求层面做分拆,按不同的需求设计不同的粒度数据主题
产品方案方面
主题选择+维度选择+指标选择+筛选功能+可视化方式 = 查询结果
如上,形成6个主要功能区域;
维度和指标一定要分组、筛选功能一定要灵活、分析保存和共享能力一定要有
最后、
还是太懒了,写不了太多东西,希望有用