有哪些可视化 Web 服务,可以部署在数据库所在服务器上,客户端访问可视化服务的网站查看数据库数据的可视化展现的内容。客户端用户可以直接在网页中进行配置 sql 语句,可以在不用写前端代码,就能对查询结果集制定不同的数据展现方式。
例如 给定一个 sql 语句,可视化服务将 sql 语句进行包装后,扔给数据库进行查询,查询结果集为单行单列的 json 字符串结果集,将结果集进行可视化展示,展示方式包含列表和图表。
如果是列表展示,则能定义外观,包括行外观,能展示的列的数量,表格结构布局等,通过设置交互 ui (例如按钮)为 select 语句配置 limit 语句和 order by 语句增加分页和指定列排序的功能。
也可以以表格模式访问数据表,对数据表选定行进行增删改等。
针对 postgresql
1
lower 2020-07-22 16:22:14 +08:00
你说的好像是 phpMyAdmin ?
|
2
mnssbe 2020-07-22 16:23:36 +08:00
superset
|
4
fanzheng 2020-07-22 16:27:38 +08:00
metabase
superset redash metabase 有用过,满足你的要求。 |
5
MoYi123 2020-07-22 16:31:16 +08:00
https://github.com/parse-community/parse-server 里面的 dashboard
但是必须建一些它必须的表。 |
6
szdubinbin 2020-07-22 16:34:20 +08:00
会 sql 事情就方便太多了,metabase,superset 就很好满足你的要求,superset 可以用的图表库花样多一点。
|
7
tctc4869 OP @fanzheng
@mnssbe @szdubinbin 这些支持表格展示么?比如给定一个查询语句,比如给出 select id,name,age from table where type=1;以表格形式展现该语句查询的结果集。 可以根据以该 select 语句为根基,通过设置交互 ui 为其进行 where 条件配置,分页配置,排序配置。 比如设置一个 where 条件配置,and age >18,设置一个选框,该选框选中后,查询语句就会变成 select id,name,age from table where type=1 and age>18,取消选中后会变回原样。 比如设置指定列排序的操作交互 ui,设置一个下拉框,下拉选项里有名字( name ),年龄( age ),设置在 ui 操作上进行 order by 的列 配置 还有分页继承功能,比如下一页,上一页,跳转目标页功能 |
8
fanzheng 2020-07-22 17:23:59 +08:00
@tctc4869 都是免费开源的,可以自己去试一下的。superset 和 redash 是 python 的,部署麻烦一点,metabase 有一个 jar 文件,直接运行`java -jar metabase.jar` 就可以。
|
9
lower 2020-07-22 17:26:50 +08:00
没注意看最后一句话,postgresql 的,新版的(>=10 )客户端不就是 web 版的嘛??不过我觉得很难用
|
10
chucongqing 2020-07-22 17:34:14 +08:00
grafana
|
11
tctc4869 OP @fanzheng 不是,我问题的是关于他们的可视化功能,它们的数据可视化功能支不支持列表模式展示,不会仅仅只是把一个 select 语句的结果集转成图表显示在页面上吧?
比如用户给定一个 select id,name,age from table where type=1 的查询语句。点击某个按钮,弹出一个查询结果集展示的数据列表页面,展示基于 select id,name,age from table where type=1 以及该语句扩展的查询。并且该类页面还支持数据分页。支持配置交互 UI 追加 sql 语句。(比如配置一个选框,被选中后,sql 语句会变成 select id,name,age from table where type=1 and age>18,未选择会变回原样) 我把这个叫查询页面实例,可以把这个查询页面实例保存。下次打开网站再次使用的时候,就不用每次都配置 sql 语句了,就可以使不知道 sql 语句知识的用户查询数据了。 |
12
graetdk 2020-07-22 18:37:44 +08:00
推荐 Superset,参考: https://mianbaoduo.com/o/bread/YpmVm54=
|
13
tctc4869 OP @graetdk 支持列表模式浏览么,列表模式浏览,如果用 html 前端的话来说,就是使用 table 标签或类似的 ui 组件去展示数据?而不是图表?
|
15
tctc4869 OP @graetdk 关于列表的话,只考虑查询吧
关于查询,是否支持分页,如果不支持分页的话,查询数据量太大可不好啊,比如 给定 select id,name,age from table where type=1,在分页模式下,页数为 20,执行查询时的 sql 语句会追加变成 select id,name,age from table where type=1 limit 20 offset 1 支持配置交互 ui 来追加 sql 语句么? 配置交互 ui 来追加 sql 语句,通过 ui 事件给执行时的 select 追加 sql 语句,以上面给定的 select 语句为例,比如配置一个选框,它的追加内容是“and age >18”,选框选中事件,点击查询会把执行的 select id,name,age from table where type=1 追加成 select id,name,age from table where type=1 and age >18 。 这些以上设想的功能配置可不可以保存封装为一个列表查询实例,以后每次写同样的查询都不用再次手打,在网页界面上“列表查询实例”列表里显示保存的列表查询实例,这样的话,可以不会 sql 的用户也可以通过点击“列表查询实例”的项来查询数据了。 |
16
hoyixi 2020-07-22 19:33:28 +08:00
postgresql 不是有个 pgAdmin 吗
不过如果是业务的真实环境,公网暴露数据库服务器,并且允许远程登陆,是不太好的做法。 |
18
tuchg 2020-07-22 19:41:33 +08:00 via Android
楼主可以看看 BI 工具,基本满足需求,我最近用了几天
|
20
lekai63 2020-07-22 19:46:12 +08:00 via iPhone
需求跟你有点像,区别是我的插入和更新逻辑稍微复杂些。
最后考虑用 go-admin 撸一个。 |
21
renmu123 2020-07-22 19:57:47 +08:00 via Android
4 楼把主流的开源工具都说完了,就是对 MongoDB 支持都不太好
|
22
tctc4869 OP @hoyixi
pgAdmin 不行,这个是 dbms,而且它是面向开发者的,它不适合,至少也能让不懂 sql 数据库知识的人轻松地使用数据查询。 可以让懂 sql 数据库的人设计封装一套数据可视化方案并封装进行重复使用,这样就能让不懂 sql 数据库知识的人查询数据了。 |
23
ychost 2020-07-22 20:33:32 +08:00
dms.aliyun.com 免费的,用过最爽的,没有之一
|
24
wittyfans 2020-07-22 20:34:15 +08:00 via iPhone
powerbi,superset,dash+plotly,看你的需求
|
25
20150517 2020-07-23 00:44:26 +08:00
搞什么这么复杂,grafana 不香吗?简单又简单,直接连接数据库,带一句 sql 就行了
|
26
daimiaopeng 2020-07-23 08:27:54 +08:00
|
27
tctc4869 OP @20150517
@chucongqing 关于 grafana,我有问题,我下了 grafana windows 版本,但是目前启动点击 grafana-server.exe 过会就闪退了。 而用命令行执行 grafana-server.exe ,得到 Grafana-server Init Failed: Could not find config defaults, make sure homepath command line parameter is set or working directory is homepath 执行命令:grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpassword 得到 Incorrect Usage: flag provided but not defined: -homepath [31mError [0m: [31m✗ [0m flag provided but not defined: -homepath 这个怎么解决啊,初次使用 grafana 。 |