上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

周文雅在 DevOps 各个环节实现 SQL 质量管理.pdf

编号:122057 PDF 33页 12.17MB 下载积分:VIP专享
下载报告请您先登录!

周文雅在 DevOps 各个环节实现 SQL 质量管理.pdf

1、SQL审核如何实践DevOps周文雅 爱可生研发负责人负责产品线数据库运维管理平台数据库自服务平台开源产品 DTLE 和 SQLEDevOps 与 SQL 审核如何实践DevOps体系和价值实践中面临挑战总结DevOps&SQL 审核DevOps&SQL 审核自动化开发&运维稳定性&可靠性发布上线上线前(事前)SQL全生命周期质量管理存在的问题:发布不规范,事前无控制,事后少跟踪SQL上线流程需求创建代码开发持续集成创建镜像测试环境部署测试UAT环境部署测试生产部署上线生产运行存在问题:好SQL存在部门分歧。实时验证SQL质量,审核时间长耽误项目进度。开发后整改没有动力存在问题:审核如何与CI

2、/CD持续集成流程对接。存在问题:关注功能和业务数据库,无法发现低效问题SQL存在问题:关注功能和业务数据库,无法发现低效问题SQL关注性能不关注SQL质量存在问题:审核上线工作量大,常常加班 审核优化需要高级DBA,人力成本大 审核建议改进困难 大表DDL引起性能问题如何减少对业务影响 开发线下找DBA上线,无法管控存在问题:线上性能问题排查周期长,SQL问题占比大,疲于救火AP业务影响TP业务性能开发/测试人员运维人员管理人员上线后(事后)SQL审核如何实践DevOps体系和价值SQL审核适配DevOps体系和价值持续集成持续交付监控与反馈自动化SQL全生命周期要解决的问题:建立规范、标准

3、发布、前控后督自动化审核平台+专家服务经验,闭环渐进式提升SQL质量9规范标准化,建SQL规范审核流程化,自动化,审核效率高,落地推进快质量可跟踪,随着业务发展渐进式提升SQL质量,提升效果可量化建立规范SQLE集成专家经验,SQL规范标准化,看得见,解决事前审核规范不标准难题上线前控制SQLE赋能开发,在代码开发阶段检查SQL质量,SQLE在智能审核,对测试、预发布等环境SQL进行审核优化上线后监督SQLE智能审核功能,生产环境进行SQL审核优化标准发布SQLE与企业内部上线流程对接,变更上线标准化,可追踪手动上线/自动上线/项目上线建立规范集成专家经验,构建SQL规范标准用户经验专家经验信

4、通院SQL质量管理平台能力分级要求SQL标准规范300+专家经验沉淀规范标准客户经验总结专家经验沉淀参与信通院SQL质量管理标准编制规则库覆盖广DDL规范、DML规范使用建议、全局配置命名规范、索引设计规则灵活调整规则参数灵活调整,满足个性业务需求规则数量可按需定制增加,满足个性化需求SQLE规则库TIPS:业务规则不要太多20-30条有效规则可以解决业务90%以上的SQL问题1、保证脚本原子性,确保多个脚本按照序号通过顺序执行即可完成2、sql文件命名规则系统自动生成,数据库名_DDL(DML)_日期_序号(01,02.).sql(定制标准)3、上线SQL分为DDL和DML两类,必须使用单独

5、的文件提交,不得混淆4、每个数据库需要单独提交SQL脚本5、单条SQL语句必须使用;作为结束6、表名、列名、索引名的长度不大于64个字节。7、MySQL建议使用Innodb引擎,使用utf8mb4字符集。8、新建表必须加入if not exists create,保证脚本重复执行不报错9、禁止所有的drop操作(drop索引除外),如确实需要drop,请使用rename代替,一段时间后由DBA手工清理10、表必须有主键,建议使用自增,且为bigint无符号类型,即bigint unsigned。11、varchar(max)原则不允许使用12、原则上不建议建立外键13、char长度大于20时,

6、必须使用varchar类型14、新建数据库对象时不得使用数据库的关键字15、一个表建议索引数量不建议超过5个,复合索引的列数量不建议超过5个16、如果语句块中存在多条对同一个表的修改语句,则建议合并成一个ALTER语句17、禁止将blob类型的列加入索引18、禁止使用没有where条件的SQL语句或者使用where 1=1等变相没有条件的SQL某大型银行落地SQL规范标准TIPS:规则要适配业务建立规范适配业务审核流程DevOps体系和价值持续集成持续交付监控与反馈自动化编码环节IDE集成集成环节CI/CD 集成,自动发现问题阻断问题自动发现SQL中存在问题,自动阻断,不允许这些不符合标准的代

7、码合并到主分支。确保主分支的代码始终处于一个高质量、可部署的状态。发布环节添加标题发布方式自动上线发布手动上线发布对接发布发布场景单库发布多库发布多区域发布标准发布:上线工单,变更发布标准化,杜绝问题SQL流向生产18SQLE预审SQLE上线工单变更SQL上线发布流程是否通过SQLE上线开发人员运维人员变更SQL否是审核结果、回滚语句上线审核流程审批通过手动/自动执行SQL执行执行失败执行回滚是否通过变更取消否发布效率提升,发布留痕变更SQL一键执行上线,提升发布效率手动上线/定时上线发布留痕,可追溯建立标准化发布流程所有发布必须通过平台执行,线下人情上线减少100%,问题SQL引起的性能问题

8、减少60%发布:批量上线,满足不同业务场景上线述求SQLE上线l 项目维度上线需求维度上线功能A,涉及多个数据源/多类数据库l 分环境域上线场景:生产环境/预发布环境上线l 分区域上线场景:国内/国外环境功能A变更SQLSQLE工单是否通过批量上线/独立上线手动上线/自动上线是否生产环境UAT环境国内环境国外环境发布结果20审核结果分级error(必须整改)、notice(建议整改)、warn(开发建议),减少跨部门沟通成本,整改效率高审核结果去重SQLE根据SQL指纹去重,同类SQL去重展示,复审效率高审核报告下载审核报告、SQL语句均可下载,内部流转效率高无锁发布手动上线/自动上线/定时上

9、线大表自动调用gh-ost工具实现无锁上线自动审核平台自动审核后反馈审核结果,DBA复审即可,审核效率高21APPSQLE生产数据库运行SQL采集获取生产库SQL获取与审核审核结果(质量报告)预警(发给相关人员)问题SQL优化数据库管理员TOP SQL采集审核1.根据采集周期SQLE定期获取数据库TOP SQL语句2.使用语法解析器解析SQL语句,获取SQL执行计划3.基于规则和执行计划判断SQL是否存在风险。慢日志采集审核1.SQLE通过其客户端程序实时获取数据库慢日志 SQL语句2.定期审核:使用语法解析器解析SQL语句,获取SQL执行计划3.基于规则和执行计划判断 SQL是否存在风险。审

10、计日志采集审核1.SQLE通过客户端程序实时获取数据库慢日志 SQL语句2.定期审核:使用语法解析器解析SQL语句,获取SQL执行计划3.基于规则和执行计划判断SQL是否存在风险。SQLE库表元数据审核1.根据采集周期SQLE定期获取数据库库表元数据信息2.使用语法解析器解析SQL语句,获取SQL执行计划3.基于规则和执行计划判断SQL是否存在风险。云数据库审核1.SQLE调用RDS的慢日志、审计日志等API获取运行SQL信息2.SQLE使用语法解析器解析SQL语句,获取SQL执行计划3.基于规则和执行计划判断SQL是否存在风险。分优先级反馈优化建议反馈开发协同优化监督与反馈:获取生产问题,审

11、核分析,定位问题SQL监督与反馈:获取生产问题,审核分析,定位问题SQL23实时工单,SQL质量量化查看每张审核工单质量(通过率和评分)量化展示历史工单,SQL质量分析工单历史质量分析,可按时间、业务、开发人员等维度查看,开发质量提升情况一目了然报表统计,多维报表展示工单审核时间/上线时间/审核通过率/上线成功率/业务或业务用户工单情况/不同数据源工单情况监督与反馈:SQL质量数字化展示,SQL质量可视化挑战和问题技术发展趋势国产化云化DB异构化基础资源层数据库层X86鲲鹏多种SQL标准多种编程语言 PL/SQL TSQL MySQL PostgreSQL DB2 Golang Java.NE

12、T C+低耦合平台可用性要求27负载均衡MySQL集群分布式数据库集群Scanner工具Scanner工具数据库集群Scanner工具问题:不同环境的数据库统一总结SQL 文本/Mybatis/iBatis文件SQL审核平台30数据统计与分析工单管理规则引擎语法解析器分析引擎SQL客户端数据库插件智能扫描插件数据源管理规则与模板管理流程管理报表统计SQL工作台SQLE审核平台提交SQLSQL审核管理订单业务开发人员数据库管理员基础资源层数据库层核心服务层服务门户层自动SQL审核,自动流转,减轻DBA工作量,减少跨部门沟通成本。部署简单,旁路审核,零侵入性Open API平台管理CI/CDSQL

13、应用SQL监控智能扫描扫描层TOP SQL库表元数据库审计日志General log慢日志SQL全生命周期质量管控方案:建立规范、标准发布、前控后督赋能开发IDE审核脚本审核(SQL语句、文本、MyBatis)测试审核CI/CD持续集成审核慢日志审核TOP SQL审核审计日志审核API审核java应用审核生产审核优化慢日志审核TOP SQL审核审计日志审核API审核java应用审核审核结果可视化SQL风险展示SQL分析优化SQL下钻分析图表展示报表展示系统集成对接open API用户系统对接资产管理系统对接监控告警系统对接智能运维平台SQLE审核标准发布自动上线发布手动上线发布对接发布流程无锁发布多库发布多区域发布多环境发布31谢谢观看爱可生开源社区SQLE 社区交流群Thanks开放运维联盟高效运维社区DevOps 时代荣誉出品

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(周文雅在 DevOps 各个环节实现 SQL 质量管理.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部