转自:https://github.com/TuiQiao/CBoard/wiki/%E5%89%8D%E8%A8%80#%E9%A1%B9%E7%9B%AE%E8%83%8C%E6%99%AF
项目背景
数据可视化是BI生命周期里面非常重要的一个环节,当前数据可视化的几种常见模式如下:
- 商业软件的几种模式
-
商业BI套件 能够提供BI生命周期全套的解决方案,业界比较知名BI套件老牌的有IBM的Cognos、SAP的BO、Oracle的BIEE,以及新生军Tableau、QlikView等等,这些产品前端可视化都做得非常强大,报表设计、Dashboard设计、Report邮件发送、OLAP分析都不在话下
- 当然与之相对应的也是一笔少则几十万多则上百万的昂贵收费
- 大数据/NoSQL/NewSQL产品五花八门、发展神速,想对所有数据源都提供支持也是很难做到的
- 第三方数据分析平台 这种方案大多通过SDK把数据发送到三方,如友盟、百度统计、TalkingData、CNZZ、Google Analytics等,大概一般对数据比较敏感或者公司规模略大这种形式的数据处理都不能满足需求了
- 另外不乏一些优秀的创业公司或自己开发类似第一种BI套件打包软件和服务,这种解决方案比较适合没有研发能力和不想把精力过多花在软件解决方案上的小型、传统型企业
-
商业BI套件 能够提供BI生命周期全套的解决方案,业界比较知名BI套件老牌的有IBM的Cognos、SAP的BO、Oracle的BIEE,以及新生军Tableau、QlikView等等,这些产品前端可视化都做得非常强大,报表设计、Dashboard设计、Report邮件发送、OLAP分析都不在话下
- 开源软件的几种模式
- Chart Library 优秀的开源的可视化开发组件,以JS库和开发包的形式提供,如:百度的EChart、HighChart、D3、ChartJS等等,程序猿的利器,数据分析师无法直接使用
- Simple Web Reprot 简单网页版数据查询与图表展示,如:Art,功能单一、对SQL查询出来的数据进行数据展示格式有严格要求,数据查询不能重用,图形简陋
- Reporting Tool 附录 12个最好的开源报表工具, 有兴趣的朋友可以自己去体验下
- 开源OLAP 这一块最近比较流行的是基于Mondrian的Saiku和Pivot4J, 这两种开源OLAP平台分析最大的好处是用户可以Self-Service的形式组织自己的数据、全方位多角度交互式的分析数据,我们从13年Saiku2.x的时候就开始使用,感觉非常不错,Saiku3之后并没有太多亮点,模型设计器和Saiku保存的查询组织成Dashboard也只有收费的企业版才有,想利用Saiku做多维分析,个人感觉2.6足以
- Open Source BI Suit Pentaho, SpagoBI功能强大,但是系统架构非常笨重,组件复杂,难以驾驭,
- 关于Dashboard
- 免费的Dashboard设计平台,体验过,如:dashbuilder、razorflow,两者在可视化控制方面做得够不够好,Razorflow Dashboard设计还需要开发人员介入,再如Python系caravel之类产品没有细究过,个人感觉大数据产品主流还是JVM系语言开发的产品适应性比较好
- 业内另外一种普遍的Dashboard开发办法则是全定制,产品、运维提出需求想在一张页面上展示什么样的数据、以什么样的图形展示,前端工程师做好页面,后端服务准备数据。这种开发模式开发生命周期长,页面图表不可重复使用,比较适合业务和需求比较固定的公司。否则不断的页面新增与变更,代价非常之大
在这样的背景下CBoard的出发点为打造一款:
- 及时数据交互。不需要模型(Mondrian Schema, BO Universe)的“多维”数据图表设计Dashboard, 做到xxx广告宣称的"Type SQL, Get Chart"。
- 拖拽维度交互。借鉴了Databrick Cloud Platform和Zeppelin的可视化灵感,SQL或其他任何查询结构返回的二维数据表之后让用户通过简单拖拽列的组合方式进行数据透视、聚合与展示。
- 不仅仅限于JDBC开放的数据连接扩展接口。 目前CBoard支持JDBC数据源与Saiku2.x数据源(后称DataProvider),但是用户可以在不用更改前端界面的前提下继承DataProvider接口,返回二维数组即可,交互所需参数前端自动生成相应交互界面。
Features Of CBoard
- 界面和图表美观大方,Bootstrap原生支持移动端访问
- 架构轻量级,核心代码简洁,整个项目没有依赖任何第三方多维分析工具
- 交互、拖拽式类"OLAP"报表开发体验
- 基于数据集的报表设计,一次数据集获取生成多张图表
- OLAP切片、切块、过滤操作
- 全局查询缓存,避免多次请求重复的数据查询
- 支持常用图表与表格
- 柱线图/堆叠柱线图、双轴图
- 饼图
- KPI
- 交叉表
- 桑基图
- 雷达图
- 支持JDBC协议的各种数据产品
- 支持读取当今比较流行的开源多维分析产品Saiku2保存的报表、并定能选择性的制数据与图形
- 方便扩展实现自己的DataProvider连接任何数据源