cube.js预聚合对于大数据量处理的问题
cube.js 的预聚合是一个很不错的功能,但是目前是有一些问题的,比如我们包含了大量的数据(几十完,上百万)
目前官方相关的解决方法
- 数据拆分
- 基于文件模式的文件处理(比如cubestore支持csv格式的)
- 基于stream模式的数据处理(目前官方也比较推荐的模式)
一些说明
目前方案都不太好,stream 的driver 是有限的(mysql支持),而且目前cube.js 数据预聚合处理需要download查询数据,然后
再写入外部或者源数据的,也是有问题的,rollup 比较推荐同时可以结合基于时间的分区,会很很多。后期会通过源码分析下cube.js
预聚合的实现机制