# SQL Origin **Repository Path**: junluoyu/sql-origin ## Basic Information - **Project Name**: SQL Origin - **Description**: SQL Origin 是面向企业内部的**专业数据治理平台**,主要用户为 DBA、开发工程师、研发负责人 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SQL Origin SQL Origin 是一个 AI 驱动的企业级 SQL 全生命周期治理平台,以 **SQL 指纹**为全局关联键,打通代码、运行时监控、工单审核、AI 优化建议四大域,实现 SQL 从"写代码"到"跑在数据库上"的全链路可视化与治理。 --- ## 🎯 核心能力 ### 1. SQL 全链路溯源 以 **SQL 指纹(MD5)** 为唯一标识,自动关联: - 📄 **代码位置** - 从 Git 仓库提取 SQL,定位具体文件和行号 - 📊 **运行时监控** - 对接 Prometheus/oracledb_exporter,采集 SQL 性能指标 - 📝 **工单记录** - 追踪 SQL 变更申请、审批、执行全流程 - 🤖 **AI 优化** - 基于历史案例的智能优化建议 ``` 原始 SQL → 标准化(字面量替换为 ?)→ MD5 哈希 = SQL 指纹 ``` ### 2. AI 驱动的 SQL 优化智能体 - **按数据库类型定制** - Oracle、MySQL、PostgreSQL、达梦、金仓,每个类型有专属优化策略 - **自动化流水线** - 执行计划解读 → 生成优化建议 → 验证新计划 → 汇总报告 - **RAG 知识库** - Milvus 向量数据库存储历史优化案例,AI 自动召回相似场景 - **零操作触发** - 创建优化会话时自动匹配 Agent,无需用户手动选择 ### 3. SQL 变更工单管控 - **变更审批流** - DDL/DML 变更必须通过工单申请,支持多级审批 - **AI 预审** - 提交前 AI 自动检查 SQL 合规性,拦截高风险操作 - **规范自动执行** - 上传企业 SQL 规范文档,AI 自动提取规则并应用 - **完整审计追踪** - 所有变更操作留痕,支持事后溯源 ### 4. 数据库资产统一管理 - **多类型支持** - Oracle、MySQL、PostgreSQL、YashanDB、达梦、金仓等 - **元数据采集** - 自动采集表结构、索引、统计信息 - **血缘图谱** - Neo4j 图数据库存储表关系,可视化数据血缘 - **中间件别名映射** - 解决数据库中间件 SQL 别名与真实 SQL 的关联问题 --- ## 🏗️ 架构概览 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端 (React + Vite) │ │ SQL 溯源 · 优化会话 · 工单管理 · 智能体配置 · 系统设置 │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────────────────────────────────────────────────────────┐ │ 后端 (Go + Gin) │ │ SQL 指纹计算 · Agent 流水线引擎 · 工单工作流 · AI 接入层 │ └─────────────────────────────────────────────────────────────┘ │ ┌──────────────────────┬──────────────────┬──────────────────┐ │ PostgreSQL (主库) │ Redis (缓存) │ 可选组件 │ │ 业务数据 · 工单数据 │ JWT · 任务状态 │ Milvus (向量) │ │ │ │ Neo4j (图谱) │ └──────────────────────┴──────────────────┴──────────────────┘ ``` --- ## 🚀 极简部署 ### 前置依赖 | 组件 | 版本 | 用途 | |------|------|------| | [Go](https://golang.org/) | 1.21+ | 后端编译 | | [Node.js](https://nodejs.org/) | 18+ | 前端编译 | | [PostgreSQL](https://www.postgresql.org/) | 14+ | 主业务数据库 | | [Redis](https://redis.io/) | 6+ | 缓存、JWT 黑名单 | > 可选:Milvus(向量知识库)、Neo4j(血缘图谱)、Prometheus(SQL 监控数据源) ### 快速开始 #### 1. 安装 PostgreSQL 和 Redis ```bash # Ubuntu/Debian sudo apt-get update sudo apt-get install -y postgresql redis-server # CentOS/RHEL sudo yum install -y postgresql-server redis # Docker 方式 docker run -d --name postgres \ -e POSTGRES_PASSWORD=your_password \ -p 5432:5432 postgres:14 docker run -d --name redis -p 6379:6379 redis:6 ``` #### 2. 创建数据库 ```bash # 登录 PostgreSQL sudo -u postgres psql # 创建数据库 CREATE DATABASE sqlorigin; # 退出 \q ``` #### 3. 编译项目 ```bash git clone https://gitee.com/junluoyu/sql-origin.git cd sql-origin # 一键编译前后端 ./sqlorigin.sh build ``` #### 4. 启动服务 ```bash ./sqlorigin.sh start ``` #### 5. 访问系统 打开浏览器访问 `http://localhost:5173`,按初始化向导完成配置。 > 💡 **提示**:数据库表结构将在初始化向导中自动创建,无需手动执行 SQL 脚本。 --- ## 📖 常用命令 ```bash # 查看服务状态 ./sqlorigin.sh status # 查看日志 ./sqlorigin.sh logs # 停止服务 ./sqlorigin.sh stop # 重新编译 ./sqlorigin.sh build # 重启服务 ./sqlorigin.sh restart ``` --- ## ⚙️ 初始化配置 首次启动时,系统会引导您完成以下配置: 1. **数据库配置** - PostgreSQL 主库连接 2. **Redis 配置** - 缓存与 JWT 黑名单 3. **AI 服务配置** - 接入 OpenAI、Claude、通义等(可选) 4. **扩展组件** - Milvus(向量库)、Neo4j(图谱)、Prometheus(监控)(可选) --- ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! --- ## 📄 许可证 [MIT License](./LICENSE) --- ## 👤 联系我们 - **作者**: 君洛羽 - **邮箱**: 1064140997@qq.com - **仓库**: https://gitee.com/junluoyu/sql-origin