DBDelve 的启动时间仅为 1.1 秒,空闲内存占用为 133 MB,在对比基准测试中显著优于 DBeaver 的 5.2 秒启动时间和 606 MB 空闲内存。该工具由 Shayan Abbas 开发,旨在通过避免 Electron 和 Java 虚拟机 (JVM) 的开销来提供“快速且轻量”的体验,开发者认为这些技术是现有数据库客户端臃肿的主要原因。

显示连接选项和主题选择的 DBDelve 欢迎界面
DBDelve 欢迎界面提供粘贴连接 URL、选择引擎或从 DBeaver 和 TablePlus 导入设置的选项。github.com

欢迎界面是用户的第一个交互点,便于快速设置和主题选择。

架构与性能目标

DBDelve 主要的技术区别在于它使用了 Rust 和 GPUI 框架。通过选择原生方法,开发者寻求提供“瞬时启动”和“流畅滚动大型表格”的体验,而其他客户端可能会崩溃或达到内存限制。

在 M1 Pro 芯片和 32 GB 内存上进行的基准测试中,DBDelve 在查询包含 100 万行数据的表格时,展示出比 DBeaver 快 2.5 倍的速度优势。此外,在将相同大型数据集拉入内存时,它使用的内存比 DBeaver 少约 70%。

DBDelve vs DBeaver 性能 (1M 行): DBDelve 启动 1.1 s; DBeaver 启动 5.2 s; DBDelve 1M 行内存 4.9 GB; DBeaver 1M 行内存 17 GB
DBDelve vs DBeaver 性能 (1M 行)github.com

图表由 HN Digest 根据 github.com 报告的数据绘制;数值按原文显示。

“一个快速、原生、跨平台、多引擎的数据库客户端。使用 Rust 和 GPUI 编写,无 Electron 且无 JVM:瞬时启动,对内存友好,并在其他客户端崩溃或引入限制的情况下提供流畅的滚动大型表格体验。”

— GitHub - ShayanAbbas1/dbdelve: Fast and lightweight DB Client made in Rust and GPUI.

功能集与工作流集成

该客户端支持多引擎连接,包括 MariaDB 和 ClickHouse 等基于 SQL 的系统,以及 MongoDB 和 Redis 等 NoSQL 选项。它还包含捆绑的 ODBC 桥接器,用于连接 Oracle、IBM Db2 和 Amazon Redshift 等其他数据库。

显示 SQL 查询和结果网格的 Gruvbox Dark Glass 风格 DBDelve 界面
Gruvbox Dark Glass 风格的 DBDelve 显示在 events 表上的 SELECT 查询及结果数据网格。github.com

此图展示了在流行暗色主题下的核心查询编辑器和结果网格功能。

为了方便现有用户平滑过渡,DBDelve 支持直接从流行的竞争对手中导入连接。它还采用了“键盘优先”的设计,拥有用于命令、历史记录和连接的统一调色板,以及一个突出显示错误行估算的查询计划面板。

突出显示行估算错误的 Explain Analyze 查询计划
DBDelve 中的查询计划面板突出显示了连接操作中的重大估算错误。github.com

该应用程序包含查询计划面板,帮助用户识别性能瓶颈。

安全与自定义

为了防止意外的数据丢失,DBDelve 隔离每一个连接,并允许用户为标题栏设置颜色代码,以区分生产环境和测试环境。它还在执行任何破坏性命令前提示用户。

该软件支持广泛的视觉自定义,包括多个内置主题以及从 Zed 或 VS Code 编辑器导入主题的能力。虽然它提供了高度的灵活性,但目前禁用了网格编辑,且语句在活动连接的特定模式下运行。

显示从 Zed 和 VS Code 导入的主题的 DBDelve 主题选择器
主题选择器允许用户从内置选项或从其他编辑器导入的主题中进行选择。github.com

该软件支持广泛的视觉自定义,包括从 Zed 或 VS Code 编辑器导入的主题。

Hacker News 读者的反应

  • 亲身经验: 一位评论者表示对该工具感兴趣,认为它是数据产品中 MySQL Workbench 的潜在跨平台替代方案,并指出虽然 Workbench 功能强大,但正变得过时。 评论 ↗
  • 亲身经验: 另一位用户分享说,虽然 UI 看起来很漂亮,但他们注意到处理底层的 crates 可能很困难,因为它们在 crates.io 上不是官方更新的。 评论 ↗

以上为 Hacker News 讨论中观点的摘要,并非经过核实的事实。 阅读完整讨论 ↗