导读
本篇内容是笔者在做 开箱即用的 BI 东西 系列的过程中的一些个人总结。为了确保文章的全体结构,特独自提炼出这一篇关于 DataEase 的解析。各位读者请定心,本篇内容会很独立,没有其他上下文也不影响阅览。
正文
DataEase 简介
DataEase是开源的数据可视化剖析东西,协助用户快速剖析数据并洞悉事务趋势,然后实现事务的改善与优化。DataEase 支撑丰厚的数据源连接,能够经过拖拉拽方法快速制作图表,并能够便利地与他人共享。
这是其 官网文档 给的定义,其实跟其他 BI 可视化东西相同,都是为了能够经过拖拽、点选等可视化操作生成图表。一起,它们能够从各种数据库或其他数据源导入数据进行消费。如下图官网给的示例。
能够在 在线体验地址 体验。快速了解其操作能够观看 快速入门 和 DataEase入门教育视频 的视频。
规划剖析
剖析之前,咱们要先提出关键问题,也便是剖析什么。
- 各种数据源的数据结构和类型都不太相同,它是怎么做到一致多种数据源的?
- 每种图表需求装备的特点也不同,特点终究要绑定到数据字段上的,它是怎么用可视化的方法做到这种绑定的? 其实这两个问题适用于一切的 BI 可视化东西,也是它们底层要处理的问题。下面咱们来看下 DataEase 的处理思路,先上产品架构图。
数据集
第一个重要的概念 —— 数据集,用它来处理数据源一致的问题。数据集里的数据类型只要:文本
、时间
、数值
、数值(小数)
、地理位置
这几类。不管从什么数据源导入的数据,都会被转换为数据集。这儿拿比较特别的 Excel 方法举个例子,看其怎么生成一个数据集。为便利理解概念,列一下与 MySQL 的对比:
Excel | MySQL | 数据集 |
---|---|---|
文件 | 数据库 | 数据集分组 |
Sheet | 表 | 数据集 |
列 | 字段 | 字段 |
行 | 记载 | 记载 |
这么一列实际上就比较清楚了,假如看了 快速入门 的介绍视频,能够知道,上传 Excel 文件并挑选 Sheet 后,就能够开始生成多个数据集了。那么数据类型怎么确认呢?
首要会根据 Excel 自带的列信息剖析,匹配相应的数据类型。然后还供给了手动修改数据类型的功用。其他数据源的接入也大同小异。经过供给主动剖析 + 手动设置的功用,处理了各种数据源数据类型与数据集数据类型的映射问题。
第 1 个问题处理结束。
维度/目标
数据格式一致的问题经过数据集处理了,下面来看看视图(图表)的问题。
从产品架构图能够看出,DataEase 支撑 ECharts 和 AntV 两种图表库,笔者毫不怀疑,假如还有更多图表库,DataEase 支撑起来也不会太麻烦。那么它们是怎么做到的呢?咱们看一下生成视图的步骤:
从上图能够看到,右侧数据操作区别成了左右两列。
- 左侧是维度、目标列表。都是数据集里的字段,所以内容会根据挑选的数据集不同而改变;
- 右侧是图表特点字段。会根据挑选图表类型的不同而改变; 咱们能够注意到,图表特点每一项后面都标明了维度或目标,反响快的小伙伴应该已经明白了:DataEase 便是靠维度/目标的概念将数据集与图表特点关联起来的。
试想一下,假设有别的一个图表库 xxCharts,只需求将图表的各种特点打上维度或目标的标签,就能够直接接入 DataEase 的视图系统,这便是笼统的法力。
那么维度和目标在数据集这边是怎么定义的呢?
首要,导入数据时,DataEase 会根据字段类型归类,数值类型的为目标,字符、时间类型的为维度。然后,在数据集的字段办理页面下,能够修改字段的维度/目标类型。
仍然是主动剖析 + 手动设置的功用规划,处理了数据集的问题。至于图表库,那就需求 DataEase 在代码层面装备了。
第 2 个问题处理结束。
总结
DataEase 经过添加数据集这个概念或许说是笼统,处理了不同数据源数据格式一致的问题。这让视图层只需求考虑对数据集格式的适配即可,屏蔽了数据源层面的复杂度。
再经过添加维度/目标的概念,让数据集字段(数据集层)和图表特点(即视图层)得以解耦。
这两个笼统终究达成的效果便是:一头不怕数据源的扩展,一头不怕视图层的扩展,整个架构让两端都稳了,这便是笼统和架构规划的法力。
All problems in computer science can be solved by another level of indirection.——David Wheeler
计算机科学范畴的任何问题都能够经过添加一个间接的中间层来处理。——大卫惠勒 更多 DataEase 系统架构相关的材料能够查看官方文档:系统架构