文 | 闵令超 网易智企高级应用开发工程师
前言
数据报表分析对于企业管理者的分析决策有着至关重要的作用,因此数据报表的灵活可用以及数据的准确性显得至关重要。本文会介绍基于 Elasticsearch 的数据指标系统,希望对大家有一定的借鉴和帮助。
背景
数据报表通常在业务开发中是必不可少的一部分,对于 To B 的应用更是如此。企业在使用产品的过程中必然需要对于整个的业务情况有一个准确的判断和分析,这就需要我们能够提供给企业尽可能多维度的详细的数据报表。
初始数据报表方案
在项目的初期,为了业务的快速发展,往往采取的是比较简单的架构进行处理,如下图所示。根据产品对于指标的定义,通常开发通过代码的形式直接定义指标的运算,依赖自研或者开源的定时任务调度系统,跑出相应的指标计算结果,保存到中间表中,查询的时候根据不同的筛选条件,从不同的中间表中获取指标的计算结果。

存在的问题
-
口径不一致。在上述架构中,当不同的业务有数据交叉场景时,往往是从其他业务方复制相关指标计算的代码拿来使用,这会造成数据指标口径发生变化时,各个业务的相同的指标出现了指标口径不一致的问题。
-
开发效率低。每次添加指标/修改指标都需要修改代码、添加数据库字段等多步骤 ,导致整个的指标开发周期特别的长。
-
不同维度的指标的计算逻辑处理逻辑、任务不同,每次修改逻辑需要修改多个地方。
基于 Elasticsearch 的数据报表方案
随着业务的发展,指标的定义越来越多,报表也变得越来越丰富,基于定时任务架构的弊端暴露的越来越明显,开发的负担变的越来越重,在这时候,就需要对上述架构升级,减少业务开发的工作量。此阶段,

本文介绍了一种基于Elasticsearch的报表系统设计方案,该方案利用Elasticsearch的强大聚合能力简化了报表开发流程,实现了数据指标的快速迭代和高效管理。
最低0.47元/天 解锁文章
67





