【DB吐槽大会】第51期 - 缺乏SQL审查功能

简介: 大家好,这里是DB吐槽大会,第51期 - 缺乏SQL审查功能

背景


1、产品的问题点

  • 缺乏SQL审查功能

2、问题点背后涉及的技术原理

  • 业务上线通常伴随SQL的变更、新增或DDL操作等. 这些数据库操作有什么风险? 在大多数时候取决于开发者或DBA的判断. 例如:
  • SQL的基准是什么? 吞吐诉求、RT诉求. 数据库是否满足业务需求?
  • 新增的SQL会不会导致数据库性能瓶颈, 并且影响已有业务.
  • SQL 是不是处于优化执行路径? 需不需要加索引? 需不需要加hint? 需不需要改写SQL等? 需不需要锁表? 需不需要在低峰期操作?
  • 回退预案是什么?
  • 操作流程是什么?
  • 哪些操作有删库跑路风险? 例如DROP或truncate的DDL、没有条件或条件绝对为true的update或delete.

3、这个问题将影响哪些行业以及业务场景

  • 通用

4、会导致什么问题?

  • 没有SQL审查功能, 每次业务上线都是提着脑袋在干. 随时有删库跑路、业务雪崩等风险.

5、业务上应该如何避免这个坑

  • 规范操作流程
  • 增加变更审查流程
  • 增加回退预案
  • 增加备份流程

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 人力成本增加, 同时取决于审查人员的责任心、经验、技术能力等. 同样存在风险.

7、数据库未来产品迭代如何修复这个坑

  • 希望在内核层面支持SQL 审查功能.
  • 输入SQL、并发、吞吐、RT等诉求.
  • 返回报告: 评估变更的耗时, SQL的模拟QPS和RT, 数据库的资源消耗等.
  • 揭示风险, 例如无法满足RT|QPS预期、资源打满、删库跑路、雪崩 等风险.
  • 给出SQL优化建议等.
  • 希望能支持快速闪回, 变更快速回退能力.
  • 希望支持定时变更, 无人值守变更. 解放劳动力.



相关文章
|
SQL 运维 关系型数据库
一款 SQL 自动检查神器,再也不用担心 SQL 出错了,自动补全、回滚等功能大全
一款 SQL 自动检查神器,再也不用担心 SQL 出错了,自动补全、回滚等功能大全
393 0
|
9月前
|
SQL
SQL如何在CTE中使用Order By的功能
SQL Server如何在CTE中使用Order By的功能
|
SQL 数据库
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果
229 2
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
458 4
|
SQL 数据库 开发者
ClkLog埋点分析系统支持自定义SQL 查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
ClkLog埋点分析系统支持自定义SQL 查询
|
SQL 关系型数据库 MySQL
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
1669 6
|
SQL 数据库
LangChain-08 Query SQL DB 通过GPT自动查询SQL
LangChain-08 Query SQL DB 通过GPT自动查询SQL
254 3
|
SQL 运维 程序员
一个功能丰富的SQL审核查询平台
一个功能丰富的SQL审核查询平台
392 2
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
382 0
|
SQL 流计算
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
Flink SQL 在快手实践问题之Window TVF改进窗口聚合功能如何解决
337 1