概述
Davinci 是宜信出品的DVaaS(数据可视化及服务)的一款BI产品,翻译过来是达芬奇,达芬奇大家都知道著名画家,代表作有《蒙娜丽莎》。所以通过名字就能看出来宜信对着产品的厚望,颇有一种想要成为大师的意思。
百度搜Davinci会搜出DaVinci Resolve这款不知道你知不知道
的调色软件,所以看来宜信这名字没起好,导致宜信Davinci目前来看已经藏着了百度第二页。
宜信公司:成立于2006年,专注围绕普惠金融和财富管理。
宜信技术学院:宜信技术团队,2017年,宜信技术学院正式成立,通过分享在金融科技领域的开源成果、研发实践促进金融科技生态圈企业创新升级,确实很牛的样子。
宜信开源
主要的开源产品可以在宜信技术学院官网上找到:http://college.creditease.cn/techOpenSource
- DBus:专注于数据的收集及实时数据流计算
- Moonbox:是一个DAAS(Data Virtualization as a Service)平台解决方案
- Wormhole:是一个SPAAS(Stream Processing as a Service)平台解决方案
- Davinci:是一个DVAAS(Data Visualization as a Service)平台解决方案
宜信技术学院号称利用开源来支撑智能化运维
技术框架
Davinci 采用前端分离的方式,后端java系,前端react,图表echarts。
前端:Antd + ES6 + TypeScript + WebPack
- Antd:Ant Design of React,基于 Ant Design 设计体系的 React UI 组件库,是蚂蚁金服一套开箱即用的高质量 React 组件,Davici 用Reac 实现,此外Ant Design 还有 Angular、Vue 的实现
- ES6:新一代js语法,过!
- TypeScript:一种由微软开发的开源、跨平台的编程语言,JavaScript的超集,最终会被编译为JavaScript代码
- WebPack:打包工具,过!
后端:springboot + mybatis-plus + maven
后端java,标准的springboot、mybatis-plus框架,容易理解。
此外采用swagger框架生成api接口说明。
图表库:echart,特点就是使用和集成简单,但是没有D3那么灵活。
二次开发
Davinci 源代码github地址:https://github.com/edp963/davinci
二次开发完全可以参考Davinci 的使用手册的文档说明,介绍比较详细,这里只说几个注意点。
注意点一:分支
这里需要注意一下,目前Davinci默认的分支是dev-0.3,目前Davinci最新维护的版本是0.3版本,所以clone最新dev-0.3版本即可。
注意点二:前端install
Davinci 前端启动install的时候,建议使用cnpm install
,不要用npm install
即使设置使用淘宝源也容易出现问题。
注意点三:前端启动错误
前端启动会发现有很多文件报错,有些可能是严格校验导致的,大部分确实存在严格意义上的错误,但是不用管这些错误就可以了,不影响使用和二次开发。
注意点四:前端发布
Davinci 前端发布访问的是davinci-ui文件夹下面,前端打包在webapp的build下面,所以如果正式发布,需要将build下的文件拷贝到davinci-ui下面,bin下面未提供自动前端发布的脚本命令,此外由于每次打包生成的前端文件命名不一样,davinci-ui下的原文件删除即可。
注意点五:邮件定时任务
除了邮件的邮箱配置正确以外,如果想正常接收,需要安装phantomjs。
点评一下
Davinci概览里面已经把架构、设计理念、功能特点等等介绍的挺全面的了,这里在突出强调几个点:
- 数据行列权限控制的比较全
- 大屏display功能亮点,大屏数据可视化展示已然成为未来的趋势,目前不完善,提升改造空间大
- 功能确实很全,透视表功能也比较完善
针对二次开发的优缺点:
- java系并采用主流框架易于二次开发
- 架构清晰,易于理解
- 开源时间短,社区论坛没有,资料相对较少
- 功能多,bug也多
- 代码质量略差,有明显多人开发和功能需求增加引起的规范性上的不完美
- 前端界面尤其移动端效果较差,这个同样也给二次开发带来更大的提升空间
不管怎么说,Davinci还是挺不错的一块BI产品,也比较适合二次开发。
交流学习
刚建的群,学习Metabase、Davinci等开源BI,群号:72569367,感兴趣的可以加一下。