云和恩墨(以下简称“云和恩墨”)是中国数据库领域领先的专业服务与软件产品提供商。公司成立于2011年,总部位于北京,并在全国多个主要城市设有分支机构。

SQM
公司介绍:
产品详情
一、 产品定位与核心价值
云和恩墨SQL审核工具SQM是云和恩墨数据库运维解决方案体系中的重要一环。其核心定位是:一款基于大量专家运维经验沉淀的、面向企业级数据库变更的自动化质量管控工具。
SQM旨在将资深DBA(数据库管理员)在SQL性能、安全、规范等方面的知识体系化、规则化、自动化,在SQL代码上线至生产环境之前,对其进行强制性的“质量门禁”检查。它的核心价值在于变被动救火为主动预防,将数据库质量管控左移,从源头上杜绝因SQL代码缺陷导致的性能下降、安全漏洞和运维故障,保障数据库的稳定、高效和安全运行。
二、 核心功能特性
SQM的功能设计紧密围绕企业级SQL审核的严苛要求,具备以下核心特性:
1. 多层次、可定制的智能审核规则库
这是SQM的“大脑”。其规则库源于云和恩墨在服务大量金融、电信等高端客户过程中积累的最佳实践和故障教训。
- 审核维度全面:
- 性能规范: 检查可能导致性能瓶颈的写法,如:
- 识别未使用索引的全表扫描风险。
- 禁止或警告使用
SELECT *。 - 检查WHERE条件中索引的有效性。
- 对复杂嵌套查询、笛卡尔积、大事务操作等进行预警。
- 安全规范: 规避安全风险,如:
- 识别潜在的SQL注入漏洞代码模式。
- 禁止无条件的UPDATE/DELETE操作(避免误删全表)。
- 对DROP、TRUNCATE等高危DDL操作进行严格管控。
- 检查敏感数据(如身份证、手机号)的访问和脱敏情况。
- 开发与语法规范: 统一编码风格,如:
- 对象命名规范(表名、字段名等)。
- 关键字大小写。
- SQL语法正确性校验。
- 高度可定制性: 企业可根据自身的业务特点、数据库类型和运维规范,灵活地启用、禁用每一条规则,并自定义规则的告警级别(提示、警告、错误)和阈值。例如,可以设置一条规则:“查询结果集超过10000行则报错”,从而避免大数据量查询拖垮应用。
2. 深度上下文感知与精准分析
SQM的审核能力超越了简单的关键字匹配,能够结合数据库的元数据进行深度分析。
- Schema感知: 工具在审核时会加载并关联目标数据库的表结构信息。这意味着它能判断一个WHERE条件中的字段上是否真的存在索引,或者一个ALTER TABLE操作是否会因为表过大而导致长时间锁表,从而实现精准的风险评估。
- 执行计划预估: 对于复杂的查询语句,SQM能够模拟数据库优化器,生成近似的执行计划,并根据执行计划的成本(如预估的行数、连接方式)来预判SQL的性能消耗等级。
3. 无缝集成DevOps与现有工作流
SQM设计为嵌入到软件开发生命周期的各个阶段,实现“左移”质量控制。
- 多触发场景:
- IDE插件: 提供与主流IDE(如IntelliJ IDEA、VS Code)的集成插件,开发者在编写代码时即可实时获得审核反馈,在最早阶段修复问题。
- CI/CD流水线集成: 通过与Jenkins、GitLab CI/CD等工具的集成,在代码提交或合并请求阶段自动触发审核。审核结果可作为质量门禁,未通过审核的代码将无法合并或构建。
- 上线前工单审核: 与云和恩墨的zCloud数据库云管平台或企业自有的工单系统深度集成。所有需要上线的SQL必须通过SQM的自动化审核,才能进入DBA的人工复核流程,极大提升了DBA的复核效率和规范性。
4. 清晰详尽的审核报告与知识沉淀
SQM提供可操作的、详细的审核报告,而非简单的通过/不通过结论。
- 精确定位: 报告会明确指出有问题的SQL语句、所在文件的行列号,以及违反的具体规则。
- 修复建议: 对于每个问题,不仅说明“是什么问题”,还会给出“为什么是问题”的解释和“如何修复”的建议。例如:“第35行:建议在
user_id字段上创建索引,以避免全表扫描。” 这本身就是一个持续的知识传递过程。 - 数据统计: 提供项目或团队的SQL质量统计看板,如问题分布、整改趋势、质量评分等,助力管理者量化开发质量并进行持续改进。
5. 多数据库引擎支持
SQM支持多种主流关系型数据库,包括 Oracle, MySQL, PostgreSQL, DB2, MogDB 等。这对于拥有异构数据库环境的企业至关重要,可以实现SQL质量管控标准的统一。
三、 工作流程
一个典型的企业级应用流程如下:
- 规则配置: DBA或架构师在SQM管理后台根据企业规范配置好审核规则集。
- 开发阶段: 开发者在IDE中编码,实时获得SQM插件的审核反馈并即时修改。
- 提交阶段: 代码提交至Git仓库,触发CI流水线中的SQM审核任务。
- 门禁控制:
- 审核通过: 流程继续,进入后续的自动化测试和构建阶段。
- 审核不通过: 流程中断,开发者收到包含详细错误信息的报告,需修复后重新提交,直至通过。
- 上线前最终审核: 通过CI审核的SQL,在生成上线工单后,会再次由SQM进行最终审核,确保上线脚本与代码一致且合规,随后交由DBA执行。
四、 总结
云和恩墨SQM不仅仅是一个静态代码扫描工具,它是一个融入了深厚数据库专家经验的企业级流程管控解决方案。
其核心优势在于:
- 规则专业: 规则源于大量企业级核心系统的实战经验,直击痛点。
- 流程整合度高: 能够深度嵌入从开发到上线的全流程,实现自动化管控。
- 分析精准: 结合上下文的深度分析避免了误报,提升了审核的可信度。
- 赋能团队: 通过持续的反馈和建议,系统化地提升整个研发团队的SQL编写水平。
对于追求数据库高可用性、高安全性和卓越性能的金融、电信、能源等关键行业企业而言,SQM是构建稳健的数据库开发运维体系中不可或缺的一环,是保障数据资产安全的“智能守门员”。


点击链接,了解更多产品:
登录后查看
案例介绍
版权/专利









