Azimutt 介绍与选型指南
Azimutt 2.0 数据库探索与文档化工具的全景介绍:定位、架构、核心能力、版本生态(无 Releases、main 滚动构建、npm CLI 与 gateway),及与 Superset/DBeaver/CloudBeaver/Adminer 的量化选型对比(数据查询日期 2026-11-03)。
Azimutt 介绍与选型指南
目标:回答「Azimutt 是什么、能做什么、和同类数据库工具相比该怎么选」,为是否引入 Azimutt 提供决策依据。本文为认知篇,全部数据来自官方仓库、官方文档站与 GitHub/npm/shields.io 公开信息联网实查(查询日期 2026-11-03),不含本地实测。
一、环境信息(本文口径)
- 评估对象:Azimutt(GitHub 仓库
azimuttapp/azimutt,官网 https://azimutt.app ) - 官方定位一句话:"Explore, document and optimize any database"(探索、文档化并优化任意数据库)
- 版本甄别(2026-11-03 实查):GitHub 无 Releases(releases.atom 为空);官方制品仓库 ghcr.io 仅有
main与一个特性分支 tag,即官方发布的是滚动构建而非版本化 tag。实际版本以应用内 Erlang release 构建号2.0.<Unix 秒>标识(如2.0.1787693602,对应 2026-08-25 前后的构建),故本文及本专栏统一称 Azimutt 2.0 - 技术栈:后端 Elixir/Phoenix(Cowboy 服务器,运行时 OTP 25 / Elixir 1.14.3 / ERTS 13.1.4),前端 Elm + TypeScript,元数据存储于 PostgreSQL,项目文件走本地或 S3 对象存储;另有一个 Node.js 组件 gateway 代理对业务库的访问
- 周边发布物:npm CLI 包
azimutt0.1.39(2026-04-27 发布)、@azimutt/gateway0.1.26(2026-11-03 实查 npm registry) - 许可证:MIT(仓库 LICENSE,2026-11-03)
- 社区规模:GitHub 星数约 2.2k(shields.io 徽章,2026-11-03;API 精确值 2196)、fork 146、开放 issue 86;仓库创建于 2021-08-23,最近推送 2026-08-25
- 交付形态:官方托管 SaaS(azimutt.app)+ 可自托管的 Web 应用,两者同源
二、软件概述
Azimutt 是一款开源的数据库探索、文档化与设计工具:把「连接数据库 → 导入 schema → 画 ERD → 用 AML 语言写注释/标注 → 浏览数据与跑查询 → 沉淀设计决策」这条「理解一个陌生库」的主线,做成一个多人协作的 Web 应用。它与传统工具的差异化在于以 schema 文档化为中心——ERD 不是附加功能而是核心工作对象,且每个表、列、关系都可以挂注释、示例值、虚拟关系与领域分组。
产品同时提供官方托管版(azimutt.app)与自托管形态,数据隐私设计上强调「数据库连接串只发给 gateway,不落 Azimutt 服务器」,schema 数据可选存浏览器本地或服务器,适合「想让全组共享一份数据库说明书,但又不想把库交出去」的团队。
💡 技术拓展:「数据库工具」按主用途大致分四类——
类型 代表 特点 SQL 客户端 DBeaver、Adminer 面向「执行 SQL、管理会话」,schema 浏览为辅 BI/分析平台 Apache Superset 面向「数据出图、仪表盘」,不关心 schema 建模 schema 文档化/建模 Azimutt、dbdiagram.io、SchemaSpy 面向「理解与记录库结构」,ERD/注释为中心 元数据/数据目录 DataHub、OpenMetadata 面向企业级资产盘点,重血缘与治理 Azimutt 属第三类,并向第四类轻量延伸(组织/项目/数据目录式浏览)。
三、核心架构
依据官方安装文档(INSTALL.md,2026-11-03 实查)归纳的自托管形态架构:
浏览器(Elm 前端)
├── REST API / WebSocket ──> 应用后端(Elixir/Phoenix,Cowboy)
│ ├── 元数据库:PostgreSQL(账号/组织/项目/注释)
│ ├── 文件存储:local 目录 或 S3(项目 schema JSON)
│ └── 邮件服务:smtp / gmail / mailgun(验证/重置/邀请)
└── 直连(CORS)──> gateway(Node.js 服务)──> 你的业务数据库(PostgreSQL/MySQL/MongoDB 等)
要点解读:
- 前后端分离的两套技术栈:后端 Elixir/Phoenix 负责账号、组织、项目与元数据;前端 Elm 负责 ERD 渲染与交互,项目 schema 是纯 JSON 文档。
- gateway 是数据面:连库查询(取 schema、跑 SQL、抽样数据)全部经 gateway 代理,Azimutt 应用服务器本身不接触业务库连接串;gateway 可部署在你的内网,也可用官方 npm CLI 在本地一键拉起。
- 元数据与业务数据分离:自托管时只需要给 Azimutt 一个 PostgreSQL 元数据库 + 一个文件存储目录,业务库凭据不进应用库。
- 发布形态是 Erlang release:
bin/azimutt提供 start/daemon/eval/rpc 等标准 release 命令,运维面与任何 OTP 应用一致。
四、功能特性
以官方文档站(docs.azimutt.app,2026-11-03 实查)归纳的核心能力:
| 功能域 | 说明 |
|---|---|
| 连接与导入 | 七种建项目方式:Database 连接(推荐,URI 只发 gateway)、SQL 文件、Prisma、JSON、空项目、官方样例、导入既有项目 |
| ERD 可视化 | 表/视图/物化视图布局画布,自动布局、按域分组、颜色与图标标注 |
| AML 标注语言 | Azimutt Markup Language:为表、列、关系写注释、示例值、虚拟关系、安全级别,文档即代码 |
| 数据探索 | 表浏览、行数/大小统计、列统计、SQL 查询与结果抽样(经 gateway) |
| 多库支持 | PostgreSQL、MySQL/MariaDB、MongoDB、Couchbase、BigQuery、Snowflake 等(官方 CLI 描述,2026-11-03) |
| SQL 生成 | 从 schema 与查询意图生成 SQL,辅助日常取数 |
| AI 辅助 | 面向 schema 的问答与优化建议(官方定位 "optimize any database") |
| 协作与多租户 | 组织 → 项目两级结构,成员共享文档化成果;项目可选浏览器存储或服务器存储 |
| 版本生态 | 无 GitHub Releases,ghcr 滚动 main 构建;npm azimutt CLI 0.1.39 与 @azimutt/gateway 0.1.26 独立发版 |
💡 技术拓展:AML 与常见「schema 描述语言」对比——
语言/格式 载体 侧重 AML(Azimutt) 纯文本,可版本化 在真实 schema 之上叠加注释/分组/虚拟关系 dbdiagram.io DSL 纯文本 从零画 ERD,不连真库 Prisma schema 代码文件 面向应用 ORM,可被 Azimutt 导入 SchemaSpy HTML 生成产物 只读文档,无协作标注 Azimutt 的差异点是「连真库 + 可持续叠加人工标注」,文档随 schema 演进可增量更新。
五、快速开始(最小可用示例)
官方文档给出的最短路径(2026-11-03 实查 docs.azimutt.app,以下为官方口径,非本地实测):
- 打开托管版 https://azimutt.app/new 注册(或自托管实例);
- 选「Database」方式,填业务库连接串——URI 只发给 gateway,不落 Azimutt 服务器;
- 导入后即在 ERD 上浏览表与关系,用 AML 给表加注释;
- 不便暴露数据库端口时,用官方 npm CLI 导出 schema 再导入 JSON(连接串按你的库实际填写,下例为演示库口径):
npx azimutt export "postgresql://postgres:q1w2e3r4@192.168.1.200:5432/demo" -o demo.azimutt.json
生成的 JSON 在 https://azimutt.app/new?json 页面导入即可,全程数据库不出内网。
六、适用场景与限制
适合:
- 新人接手陌生库、或给团队沉淀「数据库说明书」:ERD + AML 注释 + 数据探索一站完成;
- 多数据源并存(PG/MySQL/Mongo 等)需要统一文档化入口;
- 重视数据隐私:连接串只到 gateway,schema 可只存浏览器;
- Node.js/Elixir 栈团队自托管,单机一个应用 + 一个 PostgreSQL 元数据库即可跑通全栈。
不适合/需注意:
- 不是 SQL 客户端替代品:日常写 SQL、管理会话、导数据仍应配 DBeaver/Adminer 类工具;
- 不是 BI:无仪表盘、无告警,重分析出图请选 Superset;
- 发布节奏激进:无版本化 tag,ghcr 只有滚动
main,升级需自测(版本以 release 构建号标识,回滚粒度粗); - 官方文档部分页面(CLI、gateway)仍在完善中(/docs/cli、/docs/gateway 标注 WIP,2026-11-03),深度用法要读源码或提问;
- 社区体量小(2.2k star),中文资料几乎空白,二开需读 Elm/Elixir 代码。
七、同类选型对比
量化维度取 2026-11-03 shields.io 星数徽章与各官方仓库 LICENSE/README 实查:
| 维度 | Azimutt 2.0 | Apache Superset 6.1.0 | DBeaver 26.2.3 | CloudBeaver 26.2.3 | Adminer 6.1.2 |
|---|---|---|---|---|---|
| GitHub 星数 | 2.2k | 75k | 52k | 5.2k | 7.9k |
| 许可证 | MIT | Apache-2.0 | Apache-2.0(社区版) | MIT | Apache-2.0/GPL-2.0 双许可 |
| 形态 | Web 应用(可自托管) | Web BI 平台 | 桌面客户端(Java) | Web 数据库管理台 | 单文件 PHP |
| 技术栈 | Elixir/Phoenix + Elm | Python + React | Java/SWT | Java(DBeaver 内核)+ React | PHP |
| 数据库支持 | PG/MySQL/MariaDB/Mongo/Couchbase/BigQuery/Snowflake 等(经 gateway/CLI) | 40+(经 SQLAlchemy/驱动) | 80+(JDBC) | 80+(JDBC,同 DBeaver) | MySQL/PG/SQLite/Oracle/ClickHouse 等 |
| ERD/schema 文档化 | 核心能力(ERD + AML 注释 + 数据目录) | 无 | 基础 ERD(表关系图) | 基础 ERD | 无 |
| 数据探索/查询 | 有(经 gateway 跑查询、抽样、统计) | 强(SQL Lab + 图表) | 强(编辑器/导入导出) | 强 | 强(轻量 SQL 界面) |
| 协作与多租户 | 组织/项目/成员 | 角色/组/行级权限 | 无(单机) | 团队版有 | 无 |
| 部署复杂度 | 应用 + PostgreSQL 元数据库 + gateway | 应用 + 元数据库 + Redis + Celery | 装包即用 | 应用 + 元数据库 | 丢一个 PHP 文件即用 |
| 版本发布 | 无 Releases,滚动 main 构建 | 规范版本化发布 | 规范版本化发布 | 规范版本化发布 | 规范版本化发布 |
选型建议(「如果…则…」):
- 如果诉求是给数据库写一份可持续维护的说明书(ERD、注释、领域分组、共享给全组),Azimutt 是五者中唯一以此为核心设计的,其余工具都只能顺带看看表关系——详见 《DBeaver 26.2.3 介绍与选型指南》 等站内各篇;
- 如果是日常开发取数、导入导出,选 DBeaver(桌面)或 《CloudBeaver 26.2.3 介绍与选型指南》(Web 化团队),Azimutt 的查询能力只是文档化流程的辅助;
- 如果只要一个极轻的网页 SQL 入口,选 《Adminer 6.1.2 介绍与选型指南》,单文件部署成本远低于 Azimutt 全栈;
- 如果目标是报表与仪表盘,选 《Superset 6.1.0 介绍与选型指南》,Azimutt 不做可视化分析;
- 如果团队既要文档化又要查询,常见组合是「Azimutt(schema 文档)+ DBeaver/Adminer(SQL 执行)」并存,二者不互斥。
八、参考链接
- 官网与托管版:https://azimutt.app (新建项目入口 https://azimutt.app/new )
- 官方文档:https://docs.azimutt.app (create-your-project、what-is-azimutt、data-privacy、aml、export 等)
- GitHub 仓库:https://github.com/azimuttapp/azimutt (MIT,无 Releases;ghcr 制品 ghcr.io/azimuttapp/azimutt)
- npm:https://www.npmjs.com/package/azimutt (CLI 0.1.39)、https://www.npmjs.com/package/@azimutt/gateway (0.1.26)
- 社区入口:https://github.com/azimuttapp/azimutt/issues 、官方联系 contact@azimutt.app