青年数据库学习互助会

SQL Origin:一个指纹打通 SQL 全生命周期治理

❝

当 DBA 还在手动找代码,开发还在群里喊"这是谁的 SQL"时,聪明的团队已经用上了 SQL 指纹溯源技术。


😱 你的团队是否也在经历这些痛点?

场景一:慢 SQL 告警,却找不到罪魁祸首

凌晨 2 点,Prometheus 告警响起:xxxx SQL 执行了 30 秒。DBA 小王揉着惺忪的睡眼,在十几个业务群里问:"这是谁的 SQL?"—— 没人回应。一上午过去了,问题还没定位。

场景二:代码已上线,SQL 谁在执行不知道

业务反馈数据异常,怀疑是某条 UPDATE 语句惹的祸。但代码仓库里搜不到这条 SQL —— 原来是通过数据库中间件的别名调用的,代码里只有 executeAlias("order_update"),实际 SQL 藏在中间件配置里。

场景三:SQL 变更无审批,生产事故频发

开发小李为了赶进度,直接在 Navicat 里执行了 DROP TABLE 清理测试数据 —— 手一抖,选成了生产库。数据没了,备份还在 3 小时前。

场景四:规范靠文档,执行靠自觉

公司有一份 50 页的《SQL 开发规范》,每次 Code Review 都要逐条检查 SELECT *、索引使用、绑定变量…… reviewer 崩溃了,规范成了摆设。



Image

💡 SQL Origin 是什么?

SQL Origin 是一个 AI 驱动的企业级 SQL 全生命周期治理平台。

Image

它的核心理念很简单:以 SQL 指纹为全局关联键,打通代码、运行时监控、工单审核、AI 优化四大域,让每一条 SQL 从"写代码"到"跑在数据库上"的全程可视、可管、可优化。

原始 SQL → 标准化(字面量替换为 ?)→ MD5 哈希 = SQL 指纹
         ↓
    代码仓库里的位置 ←────→ Prometheus 监控数据
         ↓
    工单审批记录 ←────→ AI 优化建议历史

🎯 四大核心能力,一次讲清楚

1️⃣ SQL 全链路溯源 —— 从指纹到代码,只需 5 秒

传统方式:DBA 发现慢 SQL → 去业务群问 → 开发翻代码 → 找 DBA 确认 → 2 小时没了

SQL Origin 方式:

  1. 复制 Prometheus 中的 sql_text_fingerprint
  2. 粘贴到溯源搜索框
  3. 直接看到代码文件、行号、调用链路

支持 Java、Python、Go、C#、Node.js 多语言代码自动解析,MyBatis XML、SQLAlchemy、GORM 等主流 ORM 框架一网打尽。

别名也能溯源:数据库中间件通过别名调用 SQL?没关系,别名映射功能让 executeAlias("xxx") 也能关联到真实 SQL。

Image
Image
Image

2️⃣ AI 驱动的 SQL 优化智能体 —— DBA 经验数字化

每条慢 SQL 都手动分析?DBA 忙不过来。

SQL Origin 的 优化智能体(Agent) 可以:

  • 自动获取 SQL 执行计划
  • 从向量知识库召回相似历史优化案例(RAG)
  • 调用 AI 生成针对性优化建议
  • 自动验证优化后的执行计划
  • 生成结构化优化报告

更厉害的是:采纳的优化建议会自动向量化存储,系统越用越聪明,团队知识不断沉淀。

Image
Image

3️⃣ SQL 变更工单管控 —— 不合规的 SQL 提交不了

DDL/DML 变更必须通过工单申请,但人工审核效率低?

SQL Origin 实现了 AI 预审核 + 人工审批双重把关:

  • 提交工单前,AI 自动检查 SQL 合规性
  • 支持上传企业 SQL 规范文档,AI 自动提取规则
  • 违反规范的 SQL 直接拦截,无法提交
  • 审批流支持串行、并行、按角色分配、可视化编辑

飞书/钉钉/企业微信 消息通知一键接入,审批不再遗漏。

Image
Image

4️⃣ 数据库资产统一管理 —— 血缘图谱一目了然

表结构分散在多个数据库?表之间的关系靠脑补?

SQL Origin 自动采集 Oracle、MySQL、PostgreSQL、达梦、金仓、YashanDB 的元数据,结合 Neo4j 图数据库存储数据血缘:

  • 表与表之间的关联关系
  • SQL 与表的读写关系
  • 代码方法与 SQL 的执行关系

一张图谱,看清数据流动的全貌。

Image
Image

🏗️ 技术架构:为什么是 Go + React?

后端:Go 语言开发,与 Prometheus 的 oracledb_exporter 保持一致,SQL 指纹算法完全兼容,确保从监控到溯源的一致性。

前端:React 18 + TypeScript + Ant Design 5,企业级 UI 设计,支持 Monaco Editor 代码预览、AntV G6 血缘图谱可视化。

数据存储:

  • PostgreSQL:主业务数据
  • Neo4j:血缘图谱与调用链路
  • Milvus:向量知识库(SQL 优化案例)
  • Redis:缓存与 JWT 黑名单

📊 量化收益:从 2 小时到 5 分钟

指标
使用前
使用后
提升
慢 SQL 问题定位时间
平均 2 小时
5 分钟
24 倍
SQL 变更合规率
不可量化
100% 有记录
完整追溯
规范预审拦截率
0%
>80%
事前拦截
DBA 优化案例复用
靠口口相传
向量库自动召回
知识沉淀

🚀 快速体验

SQL Origin 支持一键部署:

git clone https://gitee.com/junluoyu/sql-origin.git
cd sql-origin
./sqlorigin.sh build
./sqlorigin.sh start

访问 http://localhost:5173,跟随初始化向导完成配置,即可开始使用。


📝 写在最后

SQL 治理不是一朝一夕的事,但好的工具能让这件事从"不可能"变成"自然而然"。

SQL Origin 不是要取代 DBA,而是让 DBA 从重复的"找代码、审规范"中解放出来,去做更有价值的架构优化和性能调优。

让每一条 SQL 都有迹可循,让每一个变更都有据可查。


❝

📮 项目地址:https://gitee.com/junluoyu/sql-origin

👤 作者:暮渔木鱼

📧 联系:krielwus0725


本文是 SQL Origin 系列介绍的第一篇,下一篇将深入讲解「SQL 指纹技术如何实现代码与监控的精准关联」,敬请期待!