公司不让装 Navicat 了,就自己写了一个数据库客户端

17 小时 54 分钟前
 flyxl

写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。

但那些说到底还是「给别人用」。DataZen 是我第一次想只为自己做一个软件。

起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个真正工业级、能天天拿来干活的数据库客户端。

不是玩票,也不是 demo 。就是给自己用。


两个具体痛点

1. 查线上问题,经常要串好几张表,还跨库

处理投诉、排查线上问题,流程大概是这样:

一条链路下来,复制粘贴十几次是常态。烦,还容易填错。

所以做了 Workflow:用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。

2. 老板要数据,要报表

做开发的都懂。临时要个数字、要张图,经常就是「帮查一下上周 xxx 」「对比一下这个月和上个月」。每次打开客户端、写 SQL 、导出、贴到 PPT 或飞书里,重复劳动很多。

所以做了 运营看板( Dashboard ):把常用 SQL 和图表保存下来,定时刷新,多个指标放在一页。老板要看的时候,打开就行,不用每次重新查。

这两个功能,都是我自己日常真的会用到的东西。不是看竞品有什么就抄什么。


做下来的一些体会

一路做下来,也踩了不少坑。

很多功能远看很简单,真正做深才发现不容易。SQL 编辑器、Schema 浏览、大结果集性能、不同数据库方言差异……每个点都能耗掉不少时间。AI 相关的能力也做了(自然语言生成 SQL 、错误诊断、EXPLAIN 分析),但对我来说,Workflow 和 Dashboard 才是最先想解决的

以前总觉得自己还算懂产品,至少比纯写后端的同事更关心体验。做着做着才发现,离「优秀的产品经理」还差得远。中间有好几次,差点去做一些「技术上很酷、但日常用不上」的东西。后来慢慢学会问一句:这个功能,是不是在解决我自己的真实问题?

产品还是要回到用户的痛点上。对我自己来说,就是上面那两件事。


DataZen 是什么

DataZen 是一个开源的数据库客户端,Tauri + Rust + React ,macOS / Windows / Linux 都能用。

除了 Workflow 和 Dashboard ,还有这些:

日常查库

AI 辅助(有,但不是全部)

查询结果转图表

MCP

Driver 插件

还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。

本地优先,开源免费


还不完美

说实话,DataZen 离「极致好用」还有距离。

很多功能能用,但还不够顺手。交互细节、边界情况、各数据库的打磨,都需要时间,也需要更多人的使用反馈。

我一个人做,速度有限。所以开源了——不是因为它已经很好,而是希望有人一起把它做好。

如果你也天天和数据库打交道,欢迎:


最后

做一个「只为自己」的软件,听起来挺理想,过程其实挺磨人的。会怀疑值不值得做,会在细节上卡住,也会在产品方向上走弯路。

但如果有一个你自己每天都会遇到的问题,值得花时间做一个能用的版本出来。先能用,再慢慢改。

链接

也想听听大家:你平时用数据库客户端,最烦的一件事是什么? 这个对我比任何功能清单都有用。

3078 次点击
所在节点    程序员
40 条回复
dot2
6 小时 29 分钟前
相比 DBX 有什么优点呢?我现在用 DBX 感觉挺好用的
datadump
6 小时 16 分钟前
想问一下用的什么模型,多少 token
fstab
6 小时 13 分钟前
可惜了,出来太晚了。

从社区和公众号看,DBX 现在妥妥的免费榜第一了。。
flyxl
5 小时 50 分钟前
@fstab 对我个人来说,这确实是个小小的遗憾,但更重要的是坚持初心,用自己所学为自己做点东西,同时也欢迎提意见提 pr
gdfsjunjun
5 小时 50 分钟前
很早之前用 Navicat ,但是之后转 DataGrip 了,发现更好用,而且界面风格与 IDEA 一致,后端开发无缝切换
flyxl
5 小时 47 分钟前
@datadump 用的 cursor 的年费套餐,每个月 500 次请求,不过今天套餐到期,不能再按年费续期了,中间薅了 openrouter 和 opencode 上的 ox alpha 免费额度,主力模型还是 cursor 上的 opus4.6 和 composer2.5 ,具体 token 消耗没有统计
flyxl
5 小时 45 分钟前
@linauror 我们开发和测试同学也很喜欢这个功能
Kimipoker
5 小时 2 分钟前
我用它的功能是各个数据库跨类型之间的数据迁移.好像 Navicat 才好用点
flyxl
4 小时 27 分钟前
@Kimipoker 是的,毕竟老牌玩家,积累深厚。其实我在实现数据迁移的过程中踩了不少坑,尤其是不同数据库方言差异这块
caola
3 小时 54 分钟前
win 版没有 portable 的包吗,都是安装包的…
jake4545
3 小时 42 分钟前
DBeaver 开源的也还不错啊
feidao158
3 小时 33 分钟前
可以看看 dbx
liuliuliuliu
3 小时 25 分钟前
这个领域,目前没发现超过 datagrip 的
PopRain
2 小时 22 分钟前
AI 时代人手一个 DB TOOLS ,搞得我也蠢蠢欲动,先 star 吧
sir283
1 小时 14 分钟前
dbeaver 也可以啊,还是跨平台开源的。不过现在这个时代,基本人手一个 custom tool 了,也没啥了。
Greendays
1 小时 2 分钟前
navicat 真挺厉害的,我买了 JetBrains 全家桶,里面有个 DateGrip 也是数据库客户端,但用起来完全和 Navicat 两回事。
itechify
49 分钟前
@liuliuliuliu datagrip 不知道怎么自动转格式,例如时间戳毫秒,查询出来自动转到某个时区的时间跟格式化出来
mackyuqi
49 分钟前
@liuliuliuliu #33 这个商用不免费呀,一般公司都不让用😅
knktc
49 分钟前
@gdfsjunjun 去年还是前年有个免费领订阅的活动来着,领了之后用到现在,基本也不用升级
keenkiller
2 分钟前
其实我平时都是用命令行,毕竟从 k8s pod 里连数据库肯定要用命令行,其他的方式运维不让连

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1237986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX