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 崩溃了,规范成了摆设。
💡 SQL Origin 是什么?
SQL Origin 是一个 AI 驱动的企业级 SQL 全生命周期治理平台。
它的核心理念很简单:以 SQL 指纹为全局关联键,打通代码、运行时监控、工单审核、AI 优化四大域,让每一条 SQL 从"写代码"到"跑在数据库上"的全程可视、可管、可优化。
原始 SQL → 标准化(字面量替换为 ?)→ MD5 哈希 = SQL 指纹
↓
代码仓库里的位置 ←────→ Prometheus 监控数据
↓
工单审批记录 ←────→ AI 优化建议历史
🎯 四大核心能力,一次讲清楚
1️⃣ SQL 全链路溯源 —— 从指纹到代码,只需 5 秒
传统方式:DBA 发现慢 SQL → 去业务群问 → 开发翻代码 → 找 DBA 确认 → 2 小时没了
SQL Origin 方式:
复制 Prometheus 中的 sql_text_fingerprint粘贴到溯源搜索框 直接看到代码文件、行号、调用链路
支持 Java、Python、Go、C#、Node.js 多语言代码自动解析,MyBatis XML、SQLAlchemy、GORM 等主流 ORM 框架一网打尽。
别名也能溯源:数据库中间件通过别名调用 SQL?没关系,别名映射功能让 executeAlias("xxx") 也能关联到真实 SQL。
2️⃣ AI 驱动的 SQL 优化智能体 —— DBA 经验数字化
每条慢 SQL 都手动分析?DBA 忙不过来。
SQL Origin 的 优化智能体(Agent) 可以:
自动获取 SQL 执行计划 从向量知识库召回相似历史优化案例(RAG) 调用 AI 生成针对性优化建议 自动验证优化后的执行计划 生成结构化优化报告
更厉害的是:采纳的优化建议会自动向量化存储,系统越用越聪明,团队知识不断沉淀。
3️⃣ SQL 变更工单管控 —— 不合规的 SQL 提交不了
DDL/DML 变更必须通过工单申请,但人工审核效率低?
SQL Origin 实现了 AI 预审核 + 人工审批双重把关:
提交工单前,AI 自动检查 SQL 合规性 支持上传企业 SQL 规范文档,AI 自动提取规则 违反规范的 SQL 直接拦截,无法提交 审批流支持串行、并行、按角色分配、可视化编辑
飞书/钉钉/企业微信 消息通知一键接入,审批不再遗漏。
4️⃣ 数据库资产统一管理 —— 血缘图谱一目了然
表结构分散在多个数据库?表之间的关系靠脑补?
SQL Origin 自动采集 Oracle、MySQL、PostgreSQL、达梦、金仓、YashanDB 的元数据,结合 Neo4j 图数据库存储数据血缘:
表与表之间的关联关系 SQL 与表的读写关系 代码方法与 SQL 的执行关系
一张图谱,看清数据流动的全貌。
🏗️ 技术架构:为什么是 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 分钟
| 24 倍 | |||
| 完整追溯 | |||
| 事前拦截 | |||
| 知识沉淀 |
🚀 快速体验
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 指纹技术如何实现代码与监控的精准关联」,敬请期待!