少了这个 | DBA只能提着脑袋干活
文中参考文档可点击阅读原文打开, 推荐《最好的PostgreSQL学习镜像》。
《往期吐槽回顾》
第51期吐槽: 少了SQL审查 | DBA只能提着脑袋干活
视频回放
1、产品的问题点
缺乏SQL审查功能
2、问题点背后涉及的技术原理
业务上线通常伴随SQL的变更、新增或DDL操作等. 这些数据库操作有什么风险? 在大多数时候取决于开发者或DBA的判断. 例如: SQL的基准是什么? 吞吐诉求、RT诉求. 数据库是否满足业务需求? 新增的SQL会不会导致数据库性能瓶颈, 并且影响已有业务. SQL 是不是处于优化执行路径? 需不需要加索引? 需不需要加hint? 需不需要改写SQL等? 需不需要锁表? 需不需要在低峰期操作? 回退预案是什么? 操作流程是什么? 哪些操作有删库跑路风险? 例如DROP或truncate的DDL、没有条件或条件绝对为true的update或delete.
3、这个问题将影响哪些行业以及业务场景
通用
4、会导致什么问题?
没有SQL审查功能, 每次业务上线都是提着脑袋在干. 随时有删库跑路、业务雪崩等风险.
5、业务上应该如何避免这个坑
规范操作流程 增加变更审查流程 增加回退预案 增加备份流程 有一些有开发能力的企业则自力更生, 支持了这些能力, 例如海信聚好看的DBdoctor(有个人免费版), d-smart等.
6、业务上避免这个坑牺牲了什么, 会引入什么新的问题
人力成本增加, 同时取决于审查人员的责任心、经验、技术能力等. 同样存在风险.
7、数据库未来产品迭代如何修复这个坑
希望在内核层面支持SQL 审查功能. 揭示风险, 例如无法满足RT|QPS预期、资源打满、删库跑路、雪崩 等风险. 输入新增的SQL、并发、吞吐、RT等诉求. 输入取消的SQL(业务变更之后不再需要的SQL) 返回报告: 评估变更的耗时, SQL的模拟QPS和RT, 数据库的资源消耗等. 给出SQL优化建议等. 希望能支持快速闪回, 变更快速回退能力. 希望支持定时变更, 无人值守变更. 解放劳动力. 《SQL 审查基础插件 pg_query , 识别风险SQL等, Introducing pg_query 2.0: The easiest way to parse Postgres queries》
文末彩蛋:国产数据库周边生态
当然一款数据库要流行起来, 除了自己要强大, 还离不开生态. 用好周边生态工具, 管理水平战胜90%老司机!!! 下面简单介绍一下国产数据库周边生态.
1、管控软件
鸣嵩(前阿里云数据库总经理 / 研究员)等大佬们创业创办的云猿生, 核心产品是KubeBlocks. 他们的理念是让管理数据库和搭积木一样简单, 如果你要管理很多套并且种类(OLTP\OLAP\NoSQL\KV\TS\MQ等)很多的数据库产品, 推荐首选.
https://github.com/apecloud/kubeblocks
PG中文社区核心委员唐成老师的公司乘数开源的Clup, 专用管理PostgreSQL和PolarDB的集群管理软件, 如果你要管理很多套数据库, 推荐选择. 并且Clup还提供了企业版、自研的连接池、分布式存储、一体机、备份平台等, 是企业用户推荐之选.
https://www.csudata.com/
若航老司机开源的pigsty, 集成了300多个PG插件的PG集群和PolarDB集群管理软件, 如果你要管理很多套PG或PolarDB数据库, 且对插件有特别多的需求, 推荐选择.
https://pigsty.cc/zh/
2、审计监控诊断优化
翟总(曾经是我背后的男人)到海信聚好看后研发的 DBdoctor, 采用ebpf技术, 在对数据库几乎没有影响的情况下实时监控数据库和服务器的各项指标, 发现和诊断问题根因非常方便.
https://www.dbdoctor.cn/
天舟老哥的核心产品Bytebase 是位于您和数据库之间的中间件。它是数据库 DevOps 的 GitLab/GitHub,专为开发人员、DBA 和平台工程师打造。
https://bytebase.cc/docs/introduction/what-is-bytebase/
PawSQL, SQL优化和诊断产品.
D-Smart, Oracle老前辈白老大出品, 专注企业级市场, 将业界顶级DBA经验的产品化作品, 产品功能包括数据库监控、诊断、优化等.
https://www.modb.pro/db/567140
3、国产数据库IDE
IDE是开发者的必备工具,例如社区有pgAdmin, 国产IDE则可以看看老程序猿达刚老师的DeskUI:
https://www.deskui.com
4、数据同步&迁移&备份恢复
NineData, 老领导出去创业做的产品, 产品涵盖了数据同步、迁移、备份、比对、devops、chatDBA等.
https://www.ninedata.cloud/home
DSG, 非常老牌的数据库同步迁移企业级产品, 支持各种数据库的异构和同构迁移, 用他们的话说, 没有dsg搞不定的迁移, 比goldengate还牛.
https://www.dsgdata.com/
公开课
如果你对PolarDB学习感兴趣可以阅读这个公开课系列:
除了PolarDB还非常值得关注的几款PG栈国产数据库:
HaloDB(基于PG兼容PostgreSQL、Oracle、MySQL. http://www.halodbtech.com/ )、 IvorySQL(基于开源PG兼容PG、Oracle. https://www.ivorysql.org/zh-cn/ )、 ProtonBase(云原生分布式数仓. https://protonbase.com/ )、 成都文武数据库(https://ww-it.cn)
参考文档点击阅读原文获得
感谢关注我的github (https://github.com/digoal/blog) 及视频号: