首页 新闻 会员 周边

什么场景适合使用集算器来充当前端计算引擎?

0
[待解决问题]

BI 的前置计算,用集算器来充当前端计算引擎?什么场景适合使用集算器来充当前端计算引擎?

石葡萄的主页 石葡萄 | 菜鸟二级 | 园豆:349
提问于:2026-05-11 11:56
< >
分享
所有回答(1)
0

一套分布式数据仓库,历史数据逐步装进了仓库,然后,基于数据仓库构建了 BI 系统(主要是多维分析)。刚开始,一切都顺利,但随着时间推移,基于中央数据仓库的应用越来越多,几年下来积累了数十个应用。这些应用都需要依赖数据仓库计算,导致中央数据仓库的负担越来越重,BI 系统的响应开始变得迟钝起来。对于交互性很强的多维分析业务来讲,这是很难容忍的。频繁访问的近期数据量不大,单台服务器已经足够存储,不必采用复杂的分布式体系;集算器的组表提供了列存压缩方案,可以提供高性能的遍历统计运算;集算器提供了简单 SQL 接口,可以直接和 BI 系统对接;上面这些都是常规数据库也能提供的,只是集算器更轻量级一些(它甚至可以直接嵌入到 BI 应用中工作)。
关键的是,集算器提供了开放的计算能力,程序员可以拿到 SQL 语句后用 SPL 分拆其中 WHERE 子句中的时间段参数,识别出该查询涉及的数据范围是哪些。如果只用到本地数据,则由集算器实施计算;如果还涉及更远期的历史数据,则仍将查询发给中央数据仓库完成计算,过程还可以用 SPL 将 SQL 语句翻译成数据仓库接受的语法,完美地实现了可编程的数据网关功能。
这样,前端 BI 系统几乎不用做修改就可以实现后台数据的冷热分离。由于绝大多数频繁访问被集算器接管,要继续转给中央数据仓库的查询请求变得非常少,整体运算性能会有大幅度提高,前端交互响应变得很顺畅。
这是个真实的案例(有个别特征进行了整理以突出典型性)。不过,这里的性能优化并没有涉及到 SPL 的算法优势,主要是应用结构方面的调整。实现这个方案,是不是采用了集算器这个产品并不重要,我们一直提倡的、要把计算从数据库中解放出来的理念才是关键的。开放的计算本身就是一个重要能力,而不是一定要和数据库绑在一起,数据计算需要自己的中间件。
e623ed072c91723cca123fbf606b767

绿草莓 | 园豆:434 (菜鸟二级) | 2026-05-11 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册