暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

很干!开源大数据可视化工具调研报告

闲话少说聊数据 2021-06-15
3167

    今天来聊下数据部门都逃不过的可视化工具选择。为什么需要可视化?领导鬼知道数仓,模型,范式是什么鬼。拿东西出来看呀!这时候酷炫屌炸的可视化就很能体现数据部门价值了。


对比结论

先上我们的调研结论:

(这个结论是结合了部门人员的技能情况,及需求情况,每个公司都不一样,只做为参考)

开源工具选型建议 Superset>Davinci>Redash>Metabase


对比结果表格


可视化诉求

  • 1、该项目使用技术栈,自己的团队是否熟悉?

  • 2、当前的技术架构是否会阻碍项目今后的发展?

  • 3、该项目在生产环境中部署和运维是否有难度?

  • 4、是否有完整的对接接口(权限、API、可视化嵌入)?

  • 5、多用户、多角色、多权限问题(数据源、图表、仪表盘、表级别、行级别、字段级别)?

  • 6、访问日志和使用统计日志?

  • 7、告警功能(数据集/报表)?

  • 8、多级菜单功能?

  • 9、图标丰富性、扩展性?

  • 10、邮件、企业微信、飞书?


各工具详细对比

一、Superset

  1. 关注度和活跃度

Star数量:38.5k

  1. 技术架构和部署运维

技术架构

Superset 的后端用 Python 开发,主要用到的开源组件:

Flask App Builder(简称 FAB)构架在 Flask 之上的一个应用开发框架,可以根据数据库的表结构,自动生成增删查改的前端界面,功能上类似 Django Admin。

SQLAlchemy比较成熟的数据库ORM解决方案。

部署方式

部署比较简单,Web 服务器是一个标准的 WSGI 应用,存储层支持用任意的 SQL 数据库(只需 SQLAlchemy 支持),所以部署方面无论是高可用还是水平扩展都很方便。

API 接口

FAB 原生支持 RESTful API,可以对大部分对象做 CRUD 操作。但认证方式不够灵活,只能通过 cookie,这对于脚本或是服务器端调用不太友好。

  1. 报表自定义程度

制作报表流程

数据库-->图表-->定义图表类型、指标和维度、图表样式-->看板-->权限

SQL工具箱-->自定义SQL-->定义图表类型、指标和维度、图表样式-->看板-->权限

适合人员

业务人员、数据工程师、数据分析师、数据科学家

  1. 权限对接

Superset提供了基于用户和角色的权限系统,使用OLTP数据库,用于存储其内部信息,例如您的用户列表,切片和仪表板定义。

现阶段还没有开放用户和角色的API。

  1. API开放

提供了除用户和角色的大部分API功能

https://superset.apache.org/docs/rest-api


二、Metabase

  1. 关注度和活跃度

Star数量:24.8k

  1. 技术架构和部署运维

技术架构

Metabase 的后端是用 Clojure 写的,前端是用 React + Redux 写的单页应用。

部署方式

Metabase 提供了 Jar 文件,Mac 应用程序,Docker 镜像等方式可以让使用者在本地快速尝试该项目。而在生产环境中,它提供了如何在 AWS、Heroku、Kubernetes 上部署的详尽文档。

API接口

唯一提供完整 API 文档的项目,这使得开发者即使完全不会 Clojure,依然可以凭借丰富的 API 与文档完成许多二次开发。

  1. 报表自定义程度

制作报表流程

自定义SQL-->定义图表类型、指标和维度、图表样式-->看板-->权限

适合人员

业务人员、数据工程师、数据分析师、数据科学家

  1. 权限对接

已提供权限对接的接口调用,也可做报表的嵌入做二次开发。

  1. API开放

比较完善的API接口,可以满足很多业务需求

https://www.metabase.com/docs/latest/api-documentation.html


三、Redash

  1. 关注度和活跃度

Star数量:18.7k

  1. 技术架构和部署运维

技术架构

Redash 的服务器端同样是用 Python 来写的,Web 框架以 Flask 为基础,并充分利用了 Flask 的插件生态圈,主要用了以下的组件:

  • API 框架:Flask-RESTful

  • 数据库:Flask-SQLAlchemy

  • 认证:Flask-Login

部署方式

Redash 除了 SQL 数据库外,还依赖于 Redis,但 Redis 只用来保存查询锁(防止多个相同查询同时进行),不需要做持久化。总体上说,Redash 的部署也比较简单。另外,Redash 直接提供了 AWS 上的镜像,以及开发环境的 docker-compose 配置,无论是对运维人员还是开发人员都蛮贴心的。

API接口

Redash 也提供了完整的 RESTful API 接口,它前端的单页应用就是通过这套 API 与后端通讯的,所以理论上在前端界面上做的任何事,都可以用 API 来完成。它的 API 原生支持 API Token 的认证方式。

  1. 报表自定义程度

制作报表流程

数据库-->自定义SQL-->图表-->定义图表类型、图表样式-->看板-->权限

适合人员

数据工程师、数据分析师、数据科学家

  1. 权限对接

未提供用户和角色权限,可做报表的嵌入做二次开发(基于api_key)。

  1. API开放

提供Queries、Dashboard相关API

https://redash.io/help/user-guide/integrations-and-api/api


四、Davinci

  1. 关注度和活跃度

Star数量:3.4k

  1. 技术架构和部署运维

技术架构

Davinci的服务器用 Java 来写的,Web 框架以 TypeScript 为基础

部署方式

Davinci主要依赖于 Mysql,部署也比较简单。另外,Davinci既可作为公有云/私有云独立部署使用,也可作为可视化插件集成到三方系统。

API接口

Davinci支持开放接口

  1. 报表自定义程度

制作报表流程

自定义SQL-->定义图表类型、指标和维度、图表样式-->看板-->权限

适合人员

业务人员、数据工程师、数据分析师、数据科学家

  1. 权限对接

提供用户和角色权限,可以做到数据行列权限控制粒度,可做报表的嵌入做二次开发(基于api_key)。

  1. API开放

开放


文章转载自闲话少说聊数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论