数据系统架构-6.BI数据展示平台

6.BI数据展示平台

一、序

在有了数仓、实时、离线的数据之后,我们需要一个数据展示分析的平台。如果为了节约成本这部分我们可以是使用一些开源的BI平台,比如cboard、或者在此基础之上做一些定制化二次开发;另外可以使用一些商用的BI系统,比如FineBI、Tableau、Power BI等一些比较成熟的BI平台;当然我们也可以自己研发BI平台,使用echarts、highcharts、D3等数据图表展示工具,来设计自己的BI系统。三种方式的对比如下:

自由度:自研>开源BI>商用BI
开发成本:自研>商用BI>开源BI
难度:自研>开源BI>商用BI

在实际工作过程中,需要根据公司情况选择合适的BI系统,在三类当中做取舍。我们这边采用了自研BI与开源BI系统相结合的方式,做数据的展示与分析,最大程度上保证系统的可控度,来支持一些特定功能的开发与支持。

二、BI分类

  • 自研型

需要投入一定的开发资源,设计与开发对应的展示系统,处理各种数据查询与展示问题,这种最大的优点就是所有功能都可以设计与定制化,后期维护起来比较方便,学习成本相对较低。如果对应的系统做的通用性比较好,那么之后可以发展成商用BI或开源BI。

  • 开源BI

cboard.png
(上图为cboard)
开源的系统主要是使用起来比较方便,服务部署上开箱即用,如果没有什么特殊的需求,那么直接就可以投入生产使用。同时也避免了开发资源的投入,重复造轮子。在开源BI上做二次开发,也可以满足一些定制化的需求,学习成本稍微高一点。

  • 商用BI系统

商用的各类BI系统,已经相对比较成熟了,功能十分强大,通过配置各类数据源,可以进行各种多维探索式分析。商用BI是体验与使用最方便的,定制化最不方便的一类,如果需要定制化功能那可能价格不菲。

三、自研BI系统设计

做自研的BI系统,一般都是从定制化开发的报表开始的,一个报表对应一套前端后端功能,这样堆砌的功能不方便管理与后期维护,所以我们要设计一套生成配置报表展示的系统,也就是自研BI系统。

BI系统一般设计都是先配置数据源、定义数据集、配置数据报表、组合成看板,由这4个步骤来完成数据的展示看板的配置,最终由对应的业务人员来使用对应的报表来分析业务,为业务决策提供数据支持。

1.离线

第一版:面向指标
自研BI指标版本.png

最开始我们设计了一版,使用指标来组成报表,支持各类图表展示。整体关系如上图所示,我们维护了库、表、表字段、指标的信息。然后通过我们配置的信息自定义图表展示,组合成看板。

指标关联:对于相同维度的表下的指标可以自由组合形成数据报表,判断维度相同需要保证2个数据表的维度个数、维度具体字典配置等信息相同。

最终在这套元信息的基础上形成了核心看板、数据分析看板等,实时看板的配置是一样的逻辑,增加了数据定时刷新的机制。另外目前只支持mysql的数据源配置,实时部分后续大部分数据存储在了hbase当中,使用另外一套元数据管理与实时统计部分打通实现实时数据元信息维护与报表配置。

整体效果如下:
核心看板_副本.png

第二版:面向数据表/数据集

第一版设计的面向指标管理系统,因为指标管理没有推广使用,没有从根本上解决指标口径的问题,如果能够推广和完全按照规范使用,那么这套指标管理系统最终就演化成是之前介绍的数据系统架构-4.指标定义系统

由于在使用的过程中,面向指标的指标没有实际使用起来,在后续的配置使用过程当中指标的配置就变的冗余与鸡肋,所以在第二版当中我们把一个数据表当成一个数据集,通过数据集之间的组合配置形成数据报表。
业务看板3.png

2.实时

实时看板的配置分析,由于存储数据源的不同,我们根据存储的不同设计对接了不同的数据源,比如hbase数据源,定义了描述hbase数据源的元信息。对接了实时统计系统的数据结果。如果少量实时数据存储在mysql当中,可以使用离线的看板配置去配置展示看板,支持定时刷新数据。

实时看板_副本.png

3.移动端优化兼容

由于移动端看数据的需求不断增强,为此我们对移动端展示页面进行了优化,更加的贴合移动端数据展示,提升整体用户的数据感官体验。效果如下:

新版移动端_副本.png

四、数据分发

BI平台除了提供报表的配置展示之外,还需要支持数据的分发,触达到数据使用方的各个终端,满足多样化的数据使用场景。比如根据需要可以定制报表邮件短信提醒企业微信数据播报等。

五、优化升级

  • presto:后期我们引入了presto增加数据查询与分析能力;
  • 数据标准对接服务:打造一套标准化的数据出口服务,可以对接各类数据应用、提供给线上业务使用。

数据服务中台.png

上一篇 《数据系统架构-5.实时离线统计系统》

你可能感兴趣的:(大数据,数据可视化)