您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2024 第22届 GOPS 全球运维大会暨 XOps 技术创新峰会 · 深圳站]:万霁春-数据库研发效能与质量最佳实践 - 发现报告
当前位置:首页/行业研究/报告详情/

万霁春-数据库研发效能与质量最佳实践

AI智能总结
查看更多
万霁春-数据库研发效能与质量最佳实践

数据库研发效能与质量最佳实践 万霁春数据库团队经理 鹰眼(AISQL)神盾(Bettle)客户案例 万霁春/数据库团队经理 从事数据库行业工作13年,经历过互联网场景、传统金融场景和互联网金融场景,涵盖了关系型数据库到大数据平台,管理过上千套规模和百TB规模的数据实例,踩过不少坑,积累了一些疑难杂症的解决方案。最近几年也深耕在信创方向,协助企业完成了全站商业数据库到国产开源数据库的架构迁移和优化。 01数据库管理痛点 contents 目02鹰眼(SQLReview) 录03神盾(Bettle) 04客户案例 PART01 数据库管理痛点 数据库管理痛点 数据安全与稳定是重中之重,然而数据库却很容易出现风险 重要VS脆弱 论证测试不充分,未发现数据接口性能问题,造成生产事故... 010203 乱 依赖DBA个人经验,随机性高 人员规模大,能力水平参差不齐,不可控 SQL规则、流程规范等落地执行,难以贯彻 版本管理、SQL备份麻烦 险 随着版本迭代会暴露诸多历史遗留问题 数据库有状态服务 ,问题易扩散,风险高,牵一发而动全身 慢 审核流程拖累版本需求快速迭代 数据剧增,新旧SQL并存,导致性能效率下降,系统卡顿,影响业务 04 贵 代码评审耗费大量人力,效率低 数据增长过快,未及时升级,造成系统卡顿影响业务... 未按规范文档执行,导致数据库出现长时间的全局锁,系统瘫痪无法运行... 误选SQL片段,导致提交删除命令,生产数据库整表被删除... 变更风险难把控 规范难落地 规范数据库变更 灵活高效配置规则 数据库安全管控解决方案 系统升级风险 交易卡顿/暂停 SQL代码扫描&智能优化建议 规范开发流程 制定 线上化 建模 生成物理结构 生产 可视化 部署 多重审核维度 覆盖全生命周期 覆盖多角色 完善的规则库 语法审核 事前审核 开发 银行 执行计划审核 事中审核 运维 证券 统计信息审核 事后审核 DBA 保险 测试 开发 配置 生效 日志分析 代码风险识别 处理UIOC 不担心删库跑路 规范100%落地 节省DBA人力 应用代码SQL审核平台,规避SQL性能风险数据库研发规范管理平台,为元数据管理、版本发布、规范落地提供安全防护 PART02 鹰眼(SQLReview) 应用代码SQL审核平台,规避SQL性能风险 ORACLE DB2 SQLServer TIDB TDSQL OB KingBase GoldenDB 达梦 IMPALA HIVE PRESTO MySQL PostgreSQL 底层环境支持 商业数据库 国产数据库 开源数据库 大数据库 数据库 SQL 封装类型 SOL脚本 Mybatis/ibatis jdbc mybatiesplus 存储过程 java封装sql 支持语言 Java C C++ C# 鹰眼-多重审核维度 精准的代码解析能力,新旧数据/数据库全方位覆盖,支持手动上传、自动上传、批量审核,效率更高,操作更便捷,速度更“快” 快01 稳 统计信息 结合生产环境或灰度环境数据库的数据量进行性能分析;确保sql审核精准 多重审核维度 细 02执行计划 鹰眼可连接测试库、生产库进行执行语句分析;提升审核准确度 03语法层 省鹰眼可扩展的规则库可根据不同应用、不同数据库自定义设置;同时原厂自带近千条规则一键应用 鹰眼-全生命周期支撑+智能优化建议 全生命周期支撑,对SQL“跟踪”监管,生成智能优化建议,为风险兜底,让数据库更安全,更稳健 快开发测试生产 稳事前审核 支持嵌入开发的IDE编程窗口中进行代码开发中的审核; 细代码阶段一键即可SQL快速审核,并根据鹰眼建议完成优化; 事中审核 在测试、打包或上线阶段都可以使用批量审核、手动上传或自动上传进行审核; 同时鹰眼开放API接口,可嵌入到其他系统; 事后审核 使用嵌入到DB监控系统进行上线后的监控审核; 避免上线后因为数据量和数据分布变化导致性能下降; 省 鹰眼-智能优化建议页面 快 稳 细 省 鹰眼-自定义规则库 拥有丰富多元的内置默认规则库,同时可以灵活多维度自定义规则,定制化规范,更专业,更细致 快 指标规则颗粒度最细 稳常用参数、语法、函数等;可覆盖90%以上使用场G景; 每种数据库提供几十种规则指标, 细全面查找SQL中可能存在的问题; 内置默认规则 + 自定义规则 落地规则库最优解 鹰眼原厂自带的近千条落地规则经过实战场景检验;一键应用,即可满足日常审核场景; 对于行业内特殊的审核规则也可自由 进行配置; 省 鹰眼-自定义规则库页面 快 稳 细 省 鹰眼-功能全面 平台还提供工作台视觉化展示、差异对比、白名单豁免、用户权限管理、平台架构及DEVOPS、数据脱敏、报表统计等各种功能,让数据库安全管控更省心 工作台展示 快 支持不同角色有各自工作台、关注应用、快捷入口、用户手册自助下载等 稳 用户权限管理 细 支持分角差异化功能,按项目分用户及用户组,便于最小化权限管理 差异对比 不同版本差异SQL代码和执行计划对比 平台架构及DEVOPS OPENAP测试、CICD集成、对接用户管理系统 、工单流程对接、CMDB资源平台对接、内部消息工具对接 白名单豁免 支持表级、SQL级别白名单管理及审核 数据脱敏 获取的数据信息会根据用户权限进行自动脱敏屏蔽 报表统计 省 支持审核报表展示 GOPS全球运维大会2024·深圳站 鹰眼-差异对比 快 稳 细 省 GOPS全球运维大会2024·深圳站 鹰眼-敏感数据脱敏 快 稳 细 省 GOPS全球运维大会2024·深圳站 GOPS全球运维大会2024·深圳站 鹰眼-使用结果概述 选定某个代表性的系统进行规则的制定、代码的扫描识别、SQL的审核、优化建议的改写等 部分触发高危规则 全表扫描且影响行数大于n行delete/update全表扫面 部分测试结果 自查询嵌套超过n层delete未使用where条件SQL使用恒等式 使用索引扫描,但影响行数大于ninsert使用子查询且子查询行数大于n使用二级索引查询且扫面行数大于n SQL语句使用selectSQL使用前置模糊查询表关联超过n张 SQL使用关键字使用全索引扫描 PART03 神盾(Bettle) 神盾(Bettle) 数据库研发规范管理平台:为生产数据库变更、数据修改、数据库资产提供安全防护 ER建模 ORACLE MySQL PostgreSQL TIDB OB GoldenDB DORIS 底层环境支持 数据库 商业数据库 国产数据库 开源数据库 大数据库 神盾-助力高效 自动化管理多环节一致性、多版本差异自动补齐、数据变更自动备份,效率更高,操作更“快” 一 自动化管理多环节一致性 快致版本审核脚本审核开发及运营工作流程化 性①开发建模通过神盾操作;②基于生产环境最新的数据进行变更; 稳补多版本差异自动补齐 齐基准比对差异生成增量合并 差 细异每次移交部署,神盾会根据最新结构比对目标库;保持开发/测试/生产数据库环境强一致性 据 数数据变更引起备份 省备数据回滚操作溯源 份神盾在操作者变更数据时自动产生日志/备份,可迅速回滚; 神盾-流程化规范 统一制定落实指标管理、规则管理、数据库规范管理,全流程线上化的数据库建模及移交,保证移交至各个环境的数据库对象一致目所有模型符合dba创建的规则,更安全,更稳健 规则管理 数据库规范管理 指标管理 快 稳 细 对数据库的字段类型、索引等制定对 省应的规则管控,用于后面的规则管理 对数据库的字段类型、主键约束、表名、默认字段等数据进行规则的制定 对不同数据库的表、字段、索引分区、默认规则、默认字段、表权限制定详细的规范管理 神盾-权限隔离 根据用户、组织进行详细的功能隔离和数据权限隔离,针对具体需求灵活选择部署方式,颗粒度化到字段级 功能权限 快用户/组织/角色/权限 数据权限 可配置的动态规则 租户隔离 虚拟隔离 用户为系统操作人员 用户可以归属于某个组织 按业务统一规则读写权限分离 轻量级租户隔离方案 租户间隔离业务 数挥 稳每个用户有自己 的角色 角色和组织拥有相应的权限 灵活的权限规则 继承 基于业务数据规则表达式 租户间共享公有 配置 细基于RBAC模型 基于属主的数据隔离 物理隔离 权限赋予角色角色赋予用户 省层级相互依赖但 按业务统一配置属主级别 业务数据自定义 可扩展的附属属主配置业务 权限的分享、转 按租户建立私有 库 所有数据为本租户所有 清晰授权机制 发、授子 可定制化的功能权限和数据权限方案 神盾-元数据管理/发布管理 统一变更入口、变更自动备份、版本差异补齐、风险拦截,可直接将生成的变更单发布到对应环境,也可对接CI/CD流程平台 集中发版,让数据库研发规范管理更省心 统一变更入口 快 所有开发建模通过神盾操作,生成变更单,统一管理 变更自动备份 稳 表结构和数据变更时自动产生日志/备份,操作可溯源、回滚 版本差异补齐 细基于生产环境,保持开发/测试/生产数据库 环境强致性 风险拦截 省预估若与实际不匹配,风险拦截:高危语句 需多重审核才能执行 神盾-发布管理 神盾发布 拥有发布权限的人员可将生成的变更单进行统一发布: 发布人员可对发布状态进行追踪,对发布 失败的变更单会有失败原因查询 CI/CD流程发布 神盾平台可与各大CI/CD流程进行打通,以提供API接口的形势进行版本的发布 神盾-使用结果概述 选定某个代表性的系统进行规范的制定、变更单的创建以及流程的发布 部分测试结果 部分规则设置 重复索引 联合索引超过n个字段delete未使用where条件SQL使用恒等式 新建表中未设定uk、pk字段长度大于n 表名长度大于n 表命名未以tb开头 非空字段必须明确指定默认值 表分区数量限制 表名是否允许使用关键字、保留字 PART04 客户案例 某金融科技平台 企业痛点 使用系统助力增长 鹰眼(SQLReview) 接入子系统数300+ 用户数140+ SQL扫描数18242条/周 数据库实例170+ 封装SQL智能解折成功率 100% 神盾(Bettle) 接入子系统数80+ SQL通过率 79.1% 变更单数500+ 数据库实例290+ 审核时效慢 数亿数据量,全查全检,效率慢,同时上线时对SQL审核有时效要求,需要在7/8h内完成审核,随着数据量增大,时效要求比较吃力; 变更周期长 数据变更由开发人员手写,工单审批则由DBA人工执行,工作量大; 管控效率低 数据库质量管控规范难以落地 ,切换数据库客户端比较麻烦 ,执行DDL、DML流程较复杂; 某银行 企业痛点 审核不全面 自研的SQL审核工具针对拼接的SQL审核不到位,不能对每个分支进行审核; 管控效率低 数据库管控不是很便捷,建表等操作都是开发手写,再打包交给DBA执行; 流程繁琐 数据修改流程不规范;发布流程比较繁琐; 使用系统助力增长 鹰眼(SQLReview) 接入子系统数20+ 用户数20+ 数据库实例140+ SQL扫描数4323条/周 封装SQL智能解折成功率99.7% 神盾(Bettle) 接入子系统数70+ SQL通过率 61.3% 变更单数1300+ 数据库实例350+ 某证券 企业痛点 管控不全面 数据库权限管控不到位,各个环境版本差异难以补齐,要花费大量人力进行问题排查; 数据差异化 上游业务系统数据变更或表结构变更,数仓不能及时同步修改,会造成数据差异; 变更效率低 数据变更开发手写,提交工单走审批给到DBA执行,流程相对较复杂; 使用系统助力增长 鹰眼(SQLReview) 接入子系统数30+ 用户数20+ 数据库实例30+ DB2事后审核——TO