千家信息网

最佳实践:金融级企业研发中自动和智能SQL质量控制

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,导读: 金融业研发过程都离不开平台支撑,实现研发过程自动化协同和控制,其中代码的质控可以通过集成Sonar、Checkstyle等很好的实现自动化,但是SQL的质控在自动化流程中却长期处于空白。 如今
千家信息网最后更新 2026年11月03日最佳实践:金融级企业研发中自动和智能SQL质量控制

导读: 金融业研发过程都离不开平台支撑,实现研发过程自动化协同和控制,其中代码的质控可以通过集成Sonar、Checkstyle等很好的实现自动化,但是SQL的质控在自动化流程中却长期处于空白。 如今,通过SQM研发的Jenkins插件、JVM探针,将SQL质控的自动化能力组装到DevOps流水线中,彻底填补了这个空白,必要时配以SQM的OpenAPI,能实现更强大的能力。

DevOps与金融企业研发


IT研发领域里,DevOps已经成为一套越来越主流的实践方法集和文化价值观,它可以帮助企业缩短软件发布周期,提升软件质量,安全快速获取产品开发反馈。 在国内,各大金融企业很早就开始实践DevOps理念,并且有些银行落地比较到位,已取得很好成效,比如招商银行、平安银行、民生银行、中信银行等。

研究机构发现,在DevOps过程中, 自动化 是带来组织效能差异的关键因素,也是DevOps 的关键点。产品/项目的规划设计、计划跟踪、迭代开发、持续交付这些不同阶段都有好的方法论支撑,比如故事地图、Scrum框架、看板方法等,但是那些将全局过程标准化、自动化、可视化,关键流程和节点管控到位,并行开发过程协同管理到位,构建起完整DevOps流水线的企业才能获得最大收益。


因此,过去几年,各企业都在构建自己的DevOps平台,即完整的DevOps流水线。 笔者总结了一下,大致分为两个流派,开源或自研。

开源流派,基于开源工具链的持续交付流水线,实现从0到1快速构建DevOps能力。


自研流派,核心大多都是对开源工具链的封装、扩展、增强,简化使用难度,实现DevOps目标。 金融企业出于安全性、稳定性,自主可控等因素,大多走自研或合作研发DevOps平台的路径。


无论哪个流派,对代码的质控管理都是关键一环,通过集成Sonar、Checkstyle等能很好的实现自动化。


但是SQL的质量控制却还停留在不检测或者人工检测,效率低,质量标准差异大,不能自动化,不能和DevOps融合的状态,产生很大的风险隐患。

SQL质控的挑战和价值


多年的实践中,我们发现影响业务性能、连续性、稳定性的因素多种多样,但归纳起来可以分为六大类,其中两大类和SQL有关。

在现代的企业研发中,其它因素都有较好的方法和工具控制,但SQL质量问题一直未能得到较好解决,业务爆发各种SQL性能及安全问题,倒逼必须将能够SQL质量控制住,在其影响业务之前就要发现并消除掉。


经过在SQL质控方向多年的探索,我们发现,虽然SQL质量问题存在于应用软件的全生命周期,从开发、测试、发布上线、生产运行,SQL质量问题,无处不在,但进行SQL质量控制的效果,却是越前置越好。


开发测试阶段SQL质控效果远远大于生产运行阶段SQL质控效果,前置解决才是根本。 同时通过将SQL质控按场景工具化、自动化,和DevOps过程集成起来,可以高效的实现质控目标。 SQM-SQL质量管控平台,应运而生。

  • 两大引擎,SQL解析引擎+专家引擎

  • 覆盖应用全生命周期:开发、测试、上线发布、生产运行

  • 内置的专家经验规则+语法树特征值、文本正则匹配的灵活自定义规则能力,全面覆盖用户SQL规范

  • 支持各种开发语言构建的应用

  • 支持数据库Oracle、MySQL、DB2,即将支持Microsoft SQL Server 、PostgreSQL、OceanBase

  • Jenkins插件、JVM插件,与DevOps集成,自动化SQL质控

  • 强大的OpenAPI,方便用户快速将SQM能力与其它用户系统集成

  • 支持不同规模、不同研发模式的十多种场景化SQL质量管控方案,适合的才是最好的

  • 智能优化,能够对SQL进行全面分析后,给出精确的优化建议,比如创建索引等


DevOps中的SQL质控


DevOps中的SQL质控应从流程制度建设、管控手段建设、人员能力提升三个维度综合解决问题。

SQL质控前置到开发测试阶段。 在开发交付给测试的环节前引入SQL的质量控制,提升团队之间的协作效率,减少返工带来的成本增加,在测试环节引入自动的SQL质量复核能力,全面覆盖。


人员能力和质量管控提升。 人员能力,可通过培训、专业辅导、SQL代码规范等方式进行提升。 质量管控,借助专业工具作为抓手进行管控,对于极端复杂问题可借助专家支持优化。

一般的DevOps流程可视为两级流程。 一级主流程是DevOps的整体过程,包括"任务管理、代码管理、构建和发布、其他后续"。


"构建&发布"的二级流程,包括了多个步骤: 源代码管理,代码检查,构建,测试,部署。 二级流程下又包含了多项"操作",比如"代码检查"包括了规范性检查,安全检查,其他检查。


SQM研发的Jenkins插件、JVM插件,支持快速组装到DevOps流水线中,在代码检查环节,自动化进行SQL的质量检查。 在测试环节,自动化进行SQL的质量检查。


过程示意图

Jenkins+SQMPlug-in实际运转图

案例解析与探讨


  • X银行

解决方案: Jenkins插件+JVM插件+OpenAPI,分阶段落地

SQM与开发流程融合,在开发测试环节提供SQL审核服务。 在开发阶段处理大部分的SQL质量问题,将运维工作前置到开发阶段,大大节约成本且提高开发效率。

1)SQM平台实现与DevOps融合

2)SQM提供SQL脚本审核功能(实时审核)

3)复杂SQL可经过SQM平台由DBA协助处理

4)提供SQL豁免处理流程


  • Y银行

解决方案: 工单+OpenAPI+平台

为了达成SQL质量控制目标,该行结合自身情况,从SQL质量控制要点出发,持续实践迭代,利用SQM审核工具覆盖开发环境和测试环境,进行SQL的审核与监控。

2016年SQM项目正式启动。 SQM从一开始的调研实施,到后续不断的迭代完善,现在已经在该银行的研发体系里扮演了重要的角色。


截止2019年年中,该行的SQM平台的用户有三千余人,配置的项目(子系统)有四百多个,监控五百多个测试库,工单总数将近五千个,每天创建工单数有20个左右,工单当天处理完成率达80% 自动化的SQL审核减轻了测试和运维的压力,大大减少了人工的工作量统一了开发规范流程,通过不断探索,总结出了最佳实践的工作流 极大减少了应用投产之后由于SQL性能引发的严重问题助力该银行打造数据中台,以及DevOps开发运维一体化建设 促使项目性能问题统一归档、分类和追踪,形成比较完善的处理闭环,并为项目组开发质量评价提供量化指标数据。


  • Z银行

解决方案: OpenAPI+连库捕获+流程再造

该行对SQL审核的期望目标如下:

1)防止问题SQL流入至生产环境

2)项目上线前SQL的检测,对问题SQL进行审核整改

3)设计的闭环审核流程,确保每个问题SQL都完成整改

在对开发测试流程进行梳理,该行决定将SQM审核与开发流程融合在一起,进行流程再造。

质量 开发 流程 测试 自动化 问题 银行 能力 控制 平台 过程 检查 企业 代码 插件 阶段 工具 项目 支持 实践 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 河南云网互联网络科技有限公司 互联网科技有限公司经营范围 重庆互联网络科技 金融科技创新监管互联网金融 网络科技有限互联网 互联网科技金融公司 世界互联网领先科技成果 深圳天众互联网科技公司 一五八零互联网科技 四个字互联网科技公司取名 温州喔噻互联网科技有限公司 剑昆互联网络科技有限公司临桂 移动互联网年度科技创新 允成互联网科技有限公司融资 广州富喜互联网络科技 互联网科技接地气 长沙渺峰互联网科技有限公司 北京品多多互联网科技有限公司 武汉亿视互联网科技有限公司 小米移动互联网科技园 互联网新科技 山东特亿宝互联网科技有限公司 新华互联网科技学院 互联网品科技 杭州互联网科技公司 科技互联网创业计划书 以后互联网后是啥科技 企晟互联网信息科技有限公司 互联网数据科技专业
0