Drizzle Studio

我们从没想过要开发数据库浏览器

我们自己也不敢相信。

在线演示
Alex Blokh
Alex Blokh
Drizzle 联合创始人
Drizzle Studio 产品经理
预约通话

三年前,我们发布了 Drizzle ORM 的首个主要版本并开始获得关注。当时我们的主要用户来自 Prisma,他们有两个需求:Relational Queries 语法和本地数据库浏览器。

我们有商业开发经验,平时使用 Beekeeper、Postico 或 TablePlus 就能完成工作,因此多次婉拒,并建议大家使用业界常见工具。但用户非常坚持,我们最终还是动手了。当时我们想,这能花多少时间呢?

于是我们开发了 Drizzle Studio。它是一款现代化数据库浏览器,可以浏览和编辑数据、查看 Schema 并运行 SQL,无需对现有数据库进行额外设置。现在它有五种形态:

本地 Studio免费在 Drizzle 项目中运行 drizzle-kit studio
Drizzle Gateway免费在自己的基础设施中自托管 Studio,可部署为 Docker 容器或二进制文件
Chrome 扩展免费直接在供应商控制台中浏览无服务器数据库
Studio 组件B2B 服务可嵌入自己产品中的 Studio
桌面应用即将推出无需终端的原生数据库浏览器

功能一览

实现原理

Drizzle Studio 的核心是一个 UI 组件,用于呈现数据库内容并提供操作数据和 Schema 的基础功能。它使用 TypeScript 编写,因此几乎可以无缝集成到任何环境中:

Drizzle Studio 产品系列:面向基础设施、平台和本地开发

Drizzle Studio 本地开发版

这是最初的版本,也是 Drizzle Studio 的起点,目前每月有 12 万名用户。它面向本地开发场景,可快速打开指定数据库并管理其中的数据。

随着 Schema 管理功能的推出,我们逐渐从最初的代码优先 Schema 思路转向更传统的数据库浏览器模式,由数据库本身作为事实来源。

本地开发版永久免费,并从你的 drizzle.config.ts 文件读取所需配置。它支持 PostgreSQL、MySQL、SQLite、SingleStore、MSSQL 和 CockroachDB。

安装 drizzle-kit,将其指向配置文件并运行 drizzle-kit studio。drizzle-kit studio 文档介绍了设置步骤、--port、--verbose 和 --host 标志,以及 Safari 和 Brave 默认阻止访问 localhost 时的处理方法。

托管版 Studio 面向本地开发,不适合暴露在远程机器上。如需远程部署,请使用 Drizzle Gateway。

Drizzle Gateway

Drizzle Gateway 是增强版的免费自托管 Drizzle Studio。它以单个 Docker 镜像(或独立二进制文件)的形式运行,可同时连接所有数据库,并像其他容器化应用一样部署在你的基础设施中,例如 VPC 或堡垒机后方,享有相应的安全和运维优势。

与 drizzle-kit studio 不同,Gateway 无需 Drizzle 项目。你可以直接在 UI 中添加数据库连接,将其保存在持久化卷中并与团队共享,还可以使用主密码和每位用户各自的访问码保护访问。

Gateway 最初是一项付费服务。Warhammer 开发者联系了我们后,我们意识到付费造成的使用门槛并不值得,于是最终将它改为免费。目前它在 GitHub 容器注册表中的下载量已达到 35 万次。

部署到 Railway
# pull latest version
docker pull ghcr.io/drizzle-team/gateway:latest

# persistent volume is required for the configuration file
docker volume create drizzle-gateway

# start the gateway
docker run -d \
  --name drizzle-gateway \
  --restart always \
  -p 4983:4983 \
  -e PORT=4983 \
  -e MASTERPASS=your_master_password \
  -v drizzle-gateway:/app \
  ghcr.io/drizzle-team/gateway:latest

启动后,可通过 http://localhost:4983 访问 Gateway。它支持 arm 和 amd 架构,并提供 macOS 和 Linux 独立二进制文件。安装选项和更新日志请参阅 gateway.drizzle.team。

Drizzle Studio Chrome 扩展

我们的 Chrome 扩展可以直接在供应商 UI 上显示数据库浏览器,无需本地设置或连接字符串。即使供应商没有官方的数据库浏览方式,只要你每天都在使用其产品,也能通过扩展直接在控制台中浏览数据库。

它支持 PlanetScale、Cloudflare D1 和 Vercel Postgres。

注入 PlanetScale 分支页面的 Drizzle Studio 按钮

目前每周约有 3300 名用户,看来确实有不少人需要这样的工具。

我们还提供 sqlite.drizzle.studio,可以直接在浏览器中查看 SQLite 文件。

Drizzle Studio 组件

Drizzle Studio Component 是我们面向企业的付费 B2B 服务。它是预打包、完全不依赖框架且安全性有保障的 Drizzle Studio Web 组件,可以嵌入你的 UI,例如 React、Vue、Svelte、VanillaJS 等。

如果你提供 Database as a SaaS 或基于 SQL 的数据型 SaaS 解决方案,它会是一个强大的 UI 组件,能提升产品体验;它也适用于不面向客户的内部场景。

它支持高度定制:你可以先在高级主题平台中预览自定义配色,再与我们联系;还可以选择启用 SQL 查询运行器,我们也能按需添加合作伙伴专属定制。

本地开发版 Studio 永久免费,旨在丰富 Drizzle 生态;而组件版一直是我们可持续收入的主要来源,也为 Drizzle 的开源开发提供了支持,直到 PlanetScale 的变化影响了这一模式。

你可能已经在使用的数据库或智能体平台中见过它:

使用 Drizzle Studio 的数据库平台
用于构建应用和网站的 AI 平台
使用 Drizzle Studio 的初创公司
曾使用 Studio 的平台

还有一些公司在内部使用可嵌入的 Drizzle Studio。

发布文章:Neon · SQLite Cloud · Replit · Deno · Create.xyz

感兴趣?

Alex Blokh
Alex Blokh
Drizzle 联合创始人
Drizzle Studio 产品经理
预约通话

你可以在 npm 上阅读详细介绍:@drizzle-team/studio 只是一个 Markdown 文件,无需安装。也欢迎通过 Twitter 私信我们,或在 Discord #drizzle-studio 频道交流。

Drizzle Studio 桌面应用

它将以原生应用的形式提供 Studio 的全部功能,无需终端,也无需调用 drizzle-kit,打开后即可连接数据库。目前正在开发中,暂时还不能体验。

关注我们的 Twitter,或加入 Discord #drizzle-studio-desktop,了解产品发布消息。

常见问题

Drizzle Studio 是开源的吗?

不是。Drizzle ORM 和 Drizzle Kit 完全开源,但 Studio 并不开源。

Drizzle Studio 本地开发版永久免费,旨在丰富 Drizzle 生态。遗憾的是,将其开源会影响我们提供 B2B 服务并实现商业化的能力。

我可以将 Studio 部署到自己的 VPS 上吗?

可以,这正是 Drizzle Gateway 的用途。托管版 local.drizzle.studio 仅供本地开发使用。

Studio 会将我的数据发送到其他地方吗?

不会。drizzle-kit studio 和 Gateway 都在你的机器或基础设施中建立数据库连接,数据不会离开这些环境。

接下来

我们每月都会发布 Drizzle Studio 更新,可在公告页面关注最新动态。

欢迎关注我们的 Twitter 并加入 Discord!