首页 > 数据分析 > 自助式数据分析平台-豌豆BI > 热门文章

豌豆BI敏捷计算引擎——唯快不破

天下武功唯快不破!


我们通过几组测试数据来感受下豌豆BI敏捷分析计算引擎。

(100w行数据,weblogic11g+win2003)


通过测试结果,我们可以看到敏捷看板的计算一般1s不到,高并发情况下3s左右。这样的计算速度给用户体验提供良好的保证,它的最大特点就是 快! 快! 快!


豌豆BI的计算速度是如何做到呢?


计算引擎是BI产品的核心部分,豌豆BI充分吸收数十年来BI产品的经验,倾心打造了新一代的敏捷分析计算引擎。


敏捷分析计算专注于计算性能的优化,它的表现将关系到豌豆BI服务器整体的性能和易用性,如下图,我们可以看到敏捷分析计算引擎在服务器的位置。



敏捷分析计算引擎作为核心,它主要有以下几个方面的表现:


1
整体计算,多线程



我们先来看下一般报表计算引擎的计算执行流程,如下图。一般常见的计算引擎会将一个任务直接分配给一个线程来执行,直到计算完毕后获取结果,计算引擎的任务才算完成。在这个计算过程中,计算任务将独自占有线程,直到计算完毕为止,执行过程有多长时间,就需要等待多长时间。


一般主要的优化思路,是将计算过程中SQL执行部分并行达到优化目的,优化后的流程如下图,虽然大大减少了计算时间,然而这样方式并未达到最佳优化效果。


敏捷分析计算引擎采用了新的算法和架构,利用组件设计的理念,化繁为简,化整为零。它首先将计算任务拆分为多个子任务,使用多线程方式并行计算各个子任务,然后再合并多个子任务的计算结果。在这个过程中,充分利用服务器硬件性能,结合架构特点,从而达到计算速度快,如下图:


2
局部计算,交互速度快,所需即所得



敏捷分析中,我们采用独特的组件模型设计,与敏捷分析计算引擎配合可以天然的支持局部计算,做到了交互速度快,所需即所得。在实际交互的过程中,大部分情况都是局部交互计算,利用该机制,我们将很便捷的对局部进行计算,从而以最快的速度返回计算结果。在该机制下,在遇见局部区域计算复杂的情况下,进一步优化后依然采用多线程进行计算,快速的返回计算结果,如下图:



3
异步计算,提高用户体验



在普通的计算引擎支持下,用户操作不得不面对这种情况,对一个局部区域操作后,就只能等待该局部区域计算完毕后才能有其他的操作,体验感十分糟糕,如下图:

敏捷分析计算引擎采用异步处理机制,当服务器正在计算时,用户的其他操作不会被阻塞,可畅快的与图形交互。用户再也不用备受等待的煎熬,体验感也将大大提高。


4
高扩展性,可对接更多数据源



敏捷分析计算引擎在设计之初就考虑了高扩展性,一方面有基于内存计算的模式,另一方面有充分利用现有数据库计算性能的模式。在敏捷分析计算引擎中嵌入了数据库接口层的扩展入口,能够方便支持多种数据库,同时对于未来的扩展留下接口。总之,目的只有一个,让敏捷分析计算引擎能够要加充的分利用数据源的高性能,获得更好的计算性能。


天下武功,唯快不破,

豌豆BI十年磨一剑,

打造中国探索式BI的先锋。

豌豆BI图表自动联动与下钻技术讲解
<< 上一篇
下一篇 >>
豌豆BI数据预处理绝顶功夫展示
产品资料

联系
电话

您好,商务咨询请联系

咨询热线:400-0011-866

手机咨询:137-0121-6790

社区
交流

产品技术问题交流

bbs.esensoft.com

9分钟快速处理问题