以上是在大数据处理方面常用的四种技术原理, 上面这些处理数据的方式极大程度的提高了单位时间内数据处理的能力, 但是其还是没有摆脱数据量和查询时间的线性关系。 于是在OLAP处理方式上, 我们多了一种:
目前还没有一个OLAP系统能够满足各种场景的查询需求。 其本质原因是, 没有一个系统能同时在数据量、性能、和灵活性三个方面做到完美, 每个系统在设计时都需要在这三者间做出取舍。 这个就有点像我们的CAP理论了~~~
image.png
image.png
前两份主要是针对基于MPP方式的OLAP框架的测评,
image.png
image.png
MPP虽然看起来是更好的选择, 但是因为其是基于内存计算的, 会相对的比较不太稳定, 比如遇到数据倾斜导致内存崩溃, 又比如数据量的大小改变, 和查询语句的不同, 都可能导致查询时间的起伏, 也许很快,但也可能会出现半天出不来数据的情况
预计算则相对的放弃了灵活的查询, 但是却节省了大量的内存计算带来的开销, 而且因为是属于预计算范畴, 对于不支持的数据那就是不支持, 但是对于支持的查询则是可以达到一个比较稳定的查询速度,
对于稳定的天级任务, 我们完全可以使用预计算的方式, 而对于一些类似偶尔的临时任务, 那么可以通过MPP的方式进行导出, 没有必要为了一些特殊的需求而加大机器资源的开销。
而在基于预计算的框架, 我更趋向于kylin, 因为他可以更好的管理数据, 具有更好的SQL支持, 并且其社区在国内比较活跃, 然后有中文文档~~~~~
还有一点就是,现在很多培训机构已经把kylin拉上课程安排了....