一、开源项目简介
Davinci是一个DVAAS(Data Visualization as a Service)平台解决方案。
Davinci面向业务人员/数据工程师/数据分析师/数据科学家,致力于提供一站式数据可视化解决方案。既可作为公有云/私有云独立使用,也可作为可视化插件集成到三方系统。用户只需在可视化UI上简单配置即可满足多种数据可视化需求,并支持高级交互/行业分析/模式探索/社交智能等可视化功能。
二、开源协议
使用Apache-2.0开源协议
三、界面展示
四、功能概述
- 强化集成定制能力和智能社交能力
- 集成定制能力指无缝集成到三方系统,并提供强大的定制化能力,使其和三方系统融为一体。
- 社交智能能力指共享优秀的数据可视化思想,激发用户对数据可视化表达能力和艺术美感的追求,同时也使 Davinci 更加智能的引导和提高用户的数据可视化能力。
- 在数据可视化领域里,Davinci 重视基础的交互能力和多种多样的图表选择能力,同时更加重视集成定制能力和社交智能能力。
功能特点
- 数据源
- 支持多种 JDBC 数据源
- 支持 CSV 数据文件上传
- 数据模型
- 支持友好 SQL 编辑器进行数据处理和转换
- 支持自动和自定义数据模型设计和共享
- 可视化组件
- 支持基于数据模型拖拽智能生成可视化组件
- 支持各种可视化组件样式配置
- 支持自由分析能力
- 数据门户
- 支持基于可视化组件创建可视化仪表板
- 支持可视化组件自动布局
- 支持可视化组件全屏显示、本地控制器、高级过滤器、组件间联动、群控控制器可视组件
- 支持可视化组件大数据量展示分页和滑块
- 支持可视化组件 CSV 数据下载、公共分享授权分享以及可视化仪表板的公共分享和授权分享
- 支持基于可视化仪表板创建数据门户
- 数据大屏
- 支持可视化组件自由布局
- 支持图层、透明度设置、边框、背景色、对齐、标签等更丰富大屏美化功能
- 支持多种屏幕自适应方式
- 用户体系
- 支持多租户用户体系
- 支持每个用户自建一整套组织架构层级结构
- 支持浅社交能力
- 安全权限
- 支持 LDAP 登录认证
- 支持动态 Token 鉴权
- 支持细粒度操作权限矩阵配置
- 支持数据列权限、行权限
- 集成能力
- 支持安全 URL 嵌入式集成
- 支持 JS 融入式集成
- 多屏适应
- 支持大屏、PC、Pad、手机移动端等多屏自适应
场景支持
- 安全多样自助交互式报表
- 一次配置即可实现可视组件高级过滤、高级控制、联动、钻取、下载、分享等,帮助业务人员快速完成对比、地理分析、分布、趋势以及聚类等分析和决策。
- 自动布局的 Dashboard(仪表板),适用于大多数通过快速配置即可查看和分享的可视化报表。
- 自由布局的 Display(大屏),适用于一些特定的、需要添加额外修饰元素的、长时间查看的场景,通常配置这类场景需要花一定的时间和精力,如“双11”大屏。
- 实时运营监控
- 实时观察运营状态,衔接各个环节流程,对比检测异常情况,处理关键环节问题。
- 透视驱动与图表驱动两种图表配置模式,满足不同的应用场景需求。
- 快速集成
- 分享链接、IFRAME 或调用开发接口,方便快捷地集成到三方系统,并能够支撑二次开发与功能拓展,充分适应不同业务人员的个性化需求,快速打造属于自己的数据可视化平台。
五、技术选型
模块架构
环境准备
- JDK 1.8(或更高版本)
- MySql5.5(或更高版本)
- Mail Server
- Chrome(需同时安装chromedriver,清注意版本)
- Redis(可选)
2 配置部署
详细内容参考 README.md 文档。
Davinci 0.3 与 0.2 的区别
五个重大变化
- 打通了数据可视化全流程协作模式
- 打通了用户体系和权限体系
- 打通了数据模型和自由分析
- 打通了透视驱动模式和图表驱动模式配置可视化组件
- 打通了自动布局和自由布局支持各种可视化应用
在功能上具体的变化
- 1、全新协作流程
- 多出“项目”的概念,Davinci 0.2 的 Source、View、Widget、Dashboard、Schedule 都从属于一个“项目”,Dashboard 这一层命名为“可视化应用”,Dashboard 属于“可视化应用”里其中的一种。
- 2、全新用户系统
- 在 Davinci 0.2 中,用户权限围绕超级管理员和普通用户展开。Davinci 0.3 里用户角色不再分管理员和普通用户,每个用户都是平级的,都可以创建组织和团队,组织和团队拥有对项目进行浏览、添加、修改、删除、点赞以及收藏等操作权限,组织可以转交拥有者,团队可以转交维护者。通过这个系统既能完全实现用户权限控制,同时又拥有了社交化。
- 3、数据模型与自由分析
- 对于用户配置好的数据视图,Davinci 0.3 可以为其自动生成数据模型,数据模型里将字段分作“维度”和“指标”两种类型,用户也可以手动指定维度和指标。在 Widget 内支持用户对指定的维度进行自由钻取,方便用户进行数据探索分析工作。
- 4、全新 Widget 编辑器
- 在 Davinci 0.3 中,用户通过预先配置好的数据模型,在 Widget 编辑器中可以选择想要显示的维度和指标,编辑器自动推荐出适合用来可视化的图形。可以通过颜色对字段进行分组编码。
- 5、全新可视化应用 Display
- 在 Davinci 0.3 中,可视化应用里除了包含之前的 Dashboard 外,还多了 Display。Display 支持用户将 Widget 以自定义布局和背景的方式放置到画布中,同时 Display 本身也支持自定义尺寸和背景,在多种搭配之下用户可以自己打造多样化的可视化应用。
- 名称解释:
- 钻取 是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;是指自动生成汇总行的分析方法。通过向导的方式,用户可以定义分析因素的汇总行,例如对于各地区各年度的销售情况,可以生成地区与年度的合计行,也可以生成地区或者年度的合计行。
- 而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。例如,用户分析“各地区、城市的销售情况”时,可以对某一个城市的销售额细分为各个年度的销售额,对某一年度的销售额,可以继续细分为各个季度的销售额。通过钻取的功能,使用户对数据能更深入了解,更容易发现问题,做出正确的决策。
- 钻取允许你驾驭一个报表内的不同层次的信息。在你的商业模式中,我们定义不同层次的信息,这些定义方式也代表着你的商业构建方法。
- 什么是“数据钻取”?
- 什么是数据钻取?“钻取”,简单来说,就是按照某个特定层次结构或条件对数据进行细分呈现。钻取分为上钻(Drill up)和下钻(Drill down):上钻是通过减少维数,将低层次的细节数据概括到高层次的汇总数据,在更大的粒度上查看数据信息;下钻是增加新的维数,从汇总数据深入到细节数据,在更小的粒度上观察和分析数据信息。
六、源码地址
https://download.csdn.net/download/weixin_37576193/87727207