关注一下
同时补充一些背景,这块我参与的比较深所以有一些观点刚好也借此机会跟同行们讨论一下。
首先是BI层
由于存在自主分析的需求,所以聚合结果或者临时表这种方式业务上不可行,客户常见的分析维度经过多轮筛选依旧在70+个,且个人认为随着产品更加扁平维度会以标签的形式扩充,那时候维度可能不再是70一年膨胀到2000个也不是没有可能。所以传统数仓+BI的方式实现起来碰见了一个很大的瓶颈,因为预处理变成一个几乎不可能完成的任务。
单纯BI的架构基本上发挥了Cognos(CA11)的全部主力功能,集群环境+海量内存+DQM查询方式+动态立方体+针对性的调优已经全部上线,但是有碍于庞大的指标体系,还有自助分析的需求,只要查询发送到数据库层那么速度就下来了。所以个人感觉如果想在BI层做进一步的优化那么空间相对是比较小的。
其次是数据库层
考虑到OLAP的需求,Oracle作为数仓基本上瓶颈出现在千万行级别事实表上的汇总和分组操作,继而转向大数据解决思路,由于存在表关联Join操作排除了一些不支持join类型的方案,后来历经hive——>impala——>spark这样的路线,全部上真实数据之后在现有硬件环境下(3台高配hadoop集群)spark表现最好。但是看到在hadoop上性能的提升后个人觉得数据库层的突破是正路子。
其他尝试过的手段包括: