找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3384

积分

0

好友

448

主题
发表于 昨天 19:35 | 查看: 3| 回复: 0

你平时用哪款数据库管理工具?

  • DBeaver:功能确实全面,但安装包将近 500MB。
  • DataGrip:出自 JetBrains,强大却有着 600MB 的体量。
  • Navicat:老牌工具,功能稳定,不过是付费软件。
  • TablePlus:界面颜值高,可惜支持的数据库类型有限。

有没有想过,一个数据库管理工具能够做到:安装包仅约 15MB、兼容 16 种以上数据库、开源且免费,甚至还内嵌了 AI SQL 助手

今天要介绍的就是这样一个新近开源的项目——DBX,它正是为实现这些目标而设计的。

它是什么?

DBX 是一款开源、轻量级且跨平台的数据库管理工具。

它的核心定位非常清晰:

  • 极致小巧:安装包约 15MB,得益于不内嵌 Chromium 浏览器。
  • 广泛兼容:支持 超过 16 种数据库,包括 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle 等。
  • AI 赋能:内置 AI SQL 助手,可对接 Claude 或 OpenAI 等模型,将自然语言转化为 SQL。
  • 完全免费:采用 MIT 开源协议,无任何使用负担。

DBX 数据库管理主界面,左侧为对象列表,中间为数据预览表,右侧显示 DDL 建表语句,底部有分页信息

下面是该项目的一些基本信息:

属性 详情
GitHub 仓库 https://github.com/t8y2/dbx
Stars 720(仅创建一周便已获得)
当前版本 v0.3.8
许可证 MIT
创建时间 2026-04-29

这个项目最引人注目的点在于:创建仅一周就收获了 720 个 Star。这明确地反映出一个市场需求——开发者们渴望一款真正轻量级的数据库管理工具。

为什么如此轻量?

传统数据库管理工具体积臃肿,根源在于其底层技术架构

工具 技术栈 体积
DBeaver Java + Eclipse RCP ~500 MB
DataGrip Java + IntelliJ ~600 MB
Beekeeper Studio Electron + Chromium ~150 MB
DBX Tauri + Rust ~15 MB

DBX 采用的是 Tauri 2 框架,而非主流的 Electron。

它们之间的核心区别在哪呢?

技术 WebView 方案 是否内嵌 Chromium 体积差异
Electron 内嵌完整的 Chromium 浏览器 大(~150MB 起步)
Tauri 调用操作系统自带的 WebView 小(~15MB)

Electron 会为每个应用都打包一个完整的 Chromium 浏览器,体积自然居高不下。而 Tauri 则选择直接利用操作系统原生的 WebView:

  • macOS:WKWebView
  • Windows:WebView2
  • Linux:WebKitGTK

这样一来,就无需再捆绑一个庞大的浏览器内核,应用体积得以骤降至原先的十分之一。

技术架构解析

DBX 的架构设计值得我们去深入探究一番。

语言与代码分布

Vue:       45.8% (前端)
Rust:      28.2% (后端)
TypeScript: 24.0% (前端逻辑)
CSS:        0.6%

这个组合非常合理:Vue 负责构建用户界面,Rust 则处理高性能的后端任务。

技术栈一览

层级 技术 说明
框架 Tauri 2 跨平台桌面应用框架,使用系统 WebView
前端 Vue 3 + TypeScript 现代、高效的响应式框架
UI 库 shadcn-vue + Tailwind CSS 基于 shadcn 设计规范
编辑器 CodeMirror 6 轻量且高性能的代码编辑器
后端 Rust 负责高性能的数据库驱动

DBX 三层架构示意图。顶层为 Vue 3 前端UI,中间层为 Tauri 2 框架的 IPC 通信桥,底层为 Rust 后端连接 MySQL、PostgreSQL、Redis 等多种数据库

Rust 后端核心依赖

你可能会好奇,DBX 是如何连接并驱动如此多类型数据库的?秘密就在于其 Rust 后端引入的一系列库:

# 数据库驱动
sqlx = { version = "0.8", features = ["mysql", "postgres", "sqlite"] }
tiberius = "0.12.3"       # SQL Server
redis = "0.32.2"           # Redis
mongodb = "3.2.5"         # MongoDB
duckdb = "1.3.2"           # DuckDB
oracle-rs = "0.1"         # Oracle
russh = "0.60"             # SSH 隧道

选择 Rust 而非 Go 或其他语言,主要基于以下几点考虑:

  • 高性能:Rust 没有运行时和垃圾回收机制,能以接近系统底层的效率工作,数据库驱动效率极高。
  • 内存安全:Rust 在编译期就能杜绝内存安全问题,能有效规避数据库连接中常见的漏洞。
  • 生态契合:Tauri 的后端本身就是 Rust 实现,有着先天的原生支持。

构建优化配置

DBX 之所以能在最终交付时保持约 15MB 的小巧体积,其Cargo.toml(Rust 项目的配置文件)中的发布构建配置同样功不可没:

[profile.release]
panic = "abort"
strip = true           # 移除调试符号表
lto = true             # 启用链接时优化
codegen-units = 1      # 使用单一编译单元,以获得更激进的优化
opt-level = "s"        # 优化目标为压缩体积而非运行速度

这几个配置项直指体积最小化:

  • strip = true:从最终二进制文件中剥离调试信息。
  • lto = true:开启链接时优化,能有效去除无用和冗余的代码。
  • opt-level = "s":指示编译器为体积优化,而不是追求极限运行速度。

这些配置共同构成了 15MB 安装包背后的关键一环。

支持的数据库

DBX 目前支持超过 16 种数据库,覆盖了主流的关系型和非关系型数据库。

类型 数据库
主流关系型 MySQL、PostgreSQL、SQLite、MariaDB
商业数据库 SQL Server、Oracle
大数据/分析 ClickHouse、DuckDB
NoSQL Redis、MongoDB
云原生 TiDB
国产数据库 OceanBase、openGauss、KingBase、GaussDB、Vastbase、GoldenDB

对国产数据库的广泛支持是 DBX 的一个显著差异化优势——大多数开源数据库管理工具都未能覆盖 OceanBase、openGauss 等国产数据库。

核心功能详解

1. 结构浏览

界面左侧栏清晰地展示数据库结构层级,包括数据库/Schema、表、字段、索引、外键、触发器等。同时,它还支持快速搜索和置顶,让你能快速定位目标对象。

DBX 新建连接对话框,类型下拉菜单展示了主流、MySQL兼容和PostgreSQL兼容三大类共20余种数据库选项

你无需手动逐层展开,点击即可一览对象的完整结构。

2. SQL 查询编辑器

DBX 集成了基于 CodeMirror 6 的编辑器,带来了不错的编码体验:

功能 说明
语法高亮 对 SQL 关键词、函数、表名等进行高亮显示
自动补全 智能提示表名、字段名,减轻记忆负担
执行快捷键 Cmd/Ctrl + Enter 即可执行当前 SQL
部分执行 支持仅执行被选中的 SQL 片段
SQL 格式化 一键美化 SQL 格式,提高可读性
-- 编辑器示意
SELECT u.name, o.order_id, o.amount
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.created_at > '2026-01-01'
-- Cmd+Enter 执行

CodeMirror 6 是当前性能顶尖的代码编辑器之一,比 Monaco Editor 更为轻巧,是注重性能的应用的优选。

3. AI SQL 助手

这是 DBX 的核心差异化功能。你将不再受困于复杂的查询语句。

功能 说明
自然语言转 SQL 输入“查询最近一周的订单”,自动生成对应 SQL
SQL 解读 选中一段复杂的 SQL,AI 能为你解释其含义
SQL 优化 AI 会针对你的查询语句给出优化建议
错误修复 当 SQL 执行报错时,AI 可以尝试帮你修复

目前支持的 AI 模型提供商:

  • Claude:推荐使用 Claude 3.5 Sonnet 模型。
  • OpenAI:可使用 GPT-4o 等模型。

使用起来非常直观,例如:

用户输入:"查询每个用户的订单总数,按订单数降序排列"

AI 输出:
SELECT u.name, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id, u.name
ORDER BY order_count DESC

这个功能对于 SQL 不太熟练的开发者而言,无疑是一个巨大的福音。

4. 数据表格

DBX 在数据展示上采用了虚拟滚动技术,能以极高性能处理大数据集。

特性 说明
虚拟滚动 仅渲染当前可视区域内的行,可流畅处理数万乃至更多行数据
行内编辑 直接在结果表格中修改数据,如同操作 Excel
基础操作 支持排序、搜索、分页等标准表格功能
显示优化 支持列宽调整、显示行号、斑马纹等

数据库查询有时会返回成千上万行数据,用传统方式渲染会非常卡顿。虚拟滚动完美解决了这个痛点。

5. 数据导出

支持导出多种格式:

  • CSV:最通用的表格数据格式。
  • JSON:便于程序间数据交换。
  • Markdown:方便生成技术文档。

导出时,你还能自由选择字段、设定过滤条件。

6. 文件预览

这是一个非常独特的功能——你甚至无需连接数据库,直接将文件拖入 DBX 即可预览数据。

支持的文件类型:

  • Parquet(大数据领域常用格式)
  • CSV
  • JSON

其背后是 DuckDB 在默默地工作。处理流程如下:

拖入文件 → DuckDB 读取并解析 → 在表格中展示数据

这完全省去了“导入数据库”的操作,对于数据分析场景来说非常实用。

7. Redis 浏览器

由于 Redis 并非关系型数据库,传统的 SQL 工具无法很好地管理它。DBX 为此提供了专门的解决方案:

功能 说明
模式匹配搜索 支持按 key pattern 进行搜索,如 user:*
全数据类型支持 支持 String、Hash、List、Set、ZSet、Stream 等所有常用类型
值查看与编辑 可直观地查看和修改 Redis 中的值

8. MongoDB 浏览器

同理,DBX 也为 MongoDB 配置了专用浏览器:

功能 说明
文档增删改查 支持完整的 CRUD 操作
结果分页 对大集合文档进行分页浏览
URL 直连 支持通过 URL 连接 Atlas、副本集等

9. 安全防护

数据库操作,安全第一。当你执行 DROPDELETETRUNCATEALTER 等危险操作时,DBX 会弹出二次确认对话框,有效防止因手误造成的数据灾难。

10. SSH 隧道

当需要连接位于内网的远程数据库时,SSH 隧道就成了必需品。DBX 支持通过密钥或密码进行认证,轻松建立安全的连接通道。

11. 其他实用功能

  • 查询历史:所有执行过的 SQL 都会被持久化保存,支持搜索和恢复,方便追溯。
  • 连接颜色标记:可以为不同环境的连接(如生产、测试、开发)设置不同颜色,一目了然,降低误操作风险。
  • 自动重连:当数据库连接意外断开时,会自动尝试重新连接。
  • 自动更新:提示并更新到最新版本。
  • 深色模式:提供深色/浅色主题切换。
  • 多语言:目前已支持英文和简体中文。

如何安装?

macOS

# 通过 Homebrew 安装
brew install --cask t8y2/tap/dbx

# 或从 Release 页面下载 DMG 安装包
# 首次运行时,如果遇到无法打开的情况,请在终端执行(因为应用未用 Apple 证书签名):
xattr -cr /Applications/dbx.app

Windows

# 通过 Scoop 安装
scoop bucket add dbx https://github.com/t8y2/scoop-bucket
scoop install dbx

# 或下载 exe 安装包直接安装

Linux

# 从 Releases 页面下载 AppImage、deb 或 rpm 格式的安装包

从源码构建

# 环境要求
Node.js >= 18
pnpm
Rust >= 1.77

# 开发模式运行
git clone https://github.com/t8y2/dbx.git
cd dbx
pnpm install
pnpm tauri dev

# 构建发布版本
pnpm tauri build

与其他工具的对比

对比项 DBX DBeaver DataGrip Navicat
体积 ~15 MB ~500 MB ~600 MB ~100 MB
技术栈 Tauri + Rust Java + Eclipse Java + IntelliJ C++
数据库支持 16+ 种 80+ 种 30+ 种 10 种
AI 功能 Claude/OpenAI
国产数据库 支持 部分 部分 不支持
开源免费 MIT Apache 2.0 收费 收费
跨平台 全平台 全平台 全平台 全平台

DBX 的优势非常明显:

  1. 体积最小:15MB 的体量,相对于竞争对手 150-600MB 的庞然大物,优势巨大。
  2. AI SQL 助手:目前独有的差异化功能,提升开发效率。
  3. 兼容国产数据库:对 OceanBase、openGauss、KingBase 等有原生支持。
  4. 开源与免费:宽松的 MIT 协议,商业使用也无后顾之忧。

当然,它也存在一些劣势:

  • 支持的数据库种类远不如 DBeaver 丰富(16+ vs 80+)。
  • 作为一个非常年轻的项目,功能的深度和成熟度尚不及老牌工具。
  • 项目刚起步,稳定性与 bug 情况有待长期检验。

适用场景

在以下这些场景中,DBX 会是一个很不错的搭档:

场景 说明
日常开发调试 轻量级,启动快,满足日常的库表查询与 SQL 调试
数据快速分析 借助 DuckDB,可直接拖拽预览 Parquet/CSV 文件
SQL 学习 内置的 AI SQL 助手是新手学习和理解 SQL 的绝佳工具
NoSQL 管理 提供了专用的 Redis 和 MongoDB 浏览器
国产数据库运维 能良好地支持 OceanBase、openGauss 等国产数据库

不适合的场景:如果你的工作涉及复杂的数据库迁移、ETL 高级任务,或者需要连接多达 80 种以上非常规数据库,那么功能更全面的 DBeaver 可能是更稳妥的选择。但仅对日常研发调试而言,DBX 已足够涵盖大多数需求。

我的看法

我认为 DBX 有以下几个值得我们关注的亮点:

  1. Tauri 技术选型精准:果断地选择使用系统原生 WebView 来取代内嵌 Chromium,将体积直接压缩到同类产品的十分之一,这为 Electron 应用的未来发展提供了很好的思路。
  2. Rust 后端设计务实:利用 Rust 在性能和内存安全方面的先天优势来编写数据库驱动,相比 Java 或 Go,它更适合对资源敏感的桌面应用场景。
  3. AI SQL 助手是强力加分项:在主流工具普遍缺乏 AI 功能时,DBX 的自然语言转 SQL、错误修复等功能不仅对新手友好,也能切实提高老手的效率。
  4. 精准切入国产化需求:对 OceanBase、openGauss、KingBase 等国产数据库的支持,精准地满足了国内市场一个正在快速增长、且未被大多开源项目满足的差异化需求。
  5. 社区反响印证了需求:一周内 720 Star 的增长速度,足以证明“轻量化数据库管理”是一个真实且强烈的开发者痛点。DBeaver 和 DataGrip 对许多人来说,确实太重了。

但也有一些需要理性看待的地方:

  • 项目过于年轻:刚创建不久,潜在的不稳定性和未知 bug 是可想而知的。
  • 数据库生态有限:16+ 种的支持量在面对 DBeaver 的 80+ 种时,差距依然显著。
  • macOS 使用门槛:因未签名,初次运行需要手动执行 xattr 命令,对非开发者用户不够友好。

总的来说,如果你在寻找一款极致轻量、纯开源、并且兼容国产数据库的管理工具,那么 DBX 绝对值得你一试。可以在 云栈社区 里和朋友们分享下你的使用体验。

总结

DBX 的核心价值可以概括为:一个仅 15MB 的超轻量数据库管理工具,支持多达 16 种以上数据库,并创新性地集成了 AI SQL 助手。

它采用 Tauri 2 + Vue 3 + Rust 的技术架构,通过摒弃内嵌 Chromium 实现了极致的体积控制。其核心差异化卖点在于对国产数据库的支持、AI SQL 查询能力以及便捷的 DuckDB 文件预览功能。

项目地址https://github.com/t8y2/dbx

一句话总结:厌倦了大而重的数据库管理工具?试试 DBX,15MB 的小身板,或许就足够应对你的日常所需。




上一篇:QEMU 11.0 发布:x86/ARM/RISC-V 全架构增强与虚拟化体验跃升
下一篇:DIY开源ESP32火箭制导系统:3D打印全套教程,技术平权实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-5 01:01 , Processed in 1.144256 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表