兹拉坦
#1
在这个进阶教程的用户意见收集贴中,有大量用户都纷纷提出希望介绍和 SQL 性能分析和调优、HTAP 架构设计、架构适用场景、原理解读相关的内容,例如:
为了满足用户需求,我们在《DBA 进阶教程》中,增加了《HTAP 混合负载场景》专题。
在专题的《SQL 引擎概述》小节中,首先为大家介绍了 OceanBase 使用者需要掌握哪些和 SQL 相关的知识、工具和调优技巧。然后推荐了一批技术内容,献给希望能够更深入了解 SQL 引擎技术原理的同学。
在《读写分离策略及架构设计》小节中,为大家介绍了 OceanBase 为了应对在同一套集群中同时存在 TP 和 AP 业务而产生的读写分离需求、读写分离的几种架构,以及各种架构的优缺点和适用场景。
OceanBase 从 4.3 版本开始支持列存,在发布不久的 4.3.3 版本中,还支持了只读列存副本。因此在上一小节读写分离架构的基础上,我们继续在《HTAP 系统架构设计》小节中,来和大家一起看下利用列存,可以继续对架构进行哪些优化。在本小节中,还对实时数仓业务架构进行了一些展开,聊了下我们对数仓业务设计的一些思考。
大家最关注的内容,应该还是《SQL 性能诊断和调优》小节。不过在前一段儿时间,我们为大家整理了【OceanBase DBA 入门教程】完整版学习笔记,大家如果能够把学习笔记的第七章耐心学完,就大抵已经可以应对 OceanBase 中常见的 SQL 调优问题了。所以,我们舍远求近、就地取材,为大家精选了学习笔记中需要大家掌握的 SQL 性能诊断调优内容。后面我们会在社区论坛的官方精选板块中,以真实遇到的用户问题,为大家介绍典型的 SQL 调优实践,并逐步形成 SQL 调优实践专题。
最后一个小节,给大家分享几个和 AP 场景相关,且推荐了解的最佳实践。
虽然这个章节的东西看上去不多,但实际上是经过极致压缩的,为了节约大家的阅读时间,全部都是优中选优的内容。
希望大家在阅读完 DBA 进阶教程这个章节后,都能够有所收获~
12 个赞
兹拉坦
#2
如果大家在阅读本章节的过程中,遇到任何问题,都欢迎在本帖中积极留言评论、批评指正,我们会在第一时间回复大家!
最后也欢迎大家把《DBA 进阶教程》中的评论功能使用起来!
10 个赞
兹拉坦
#4
因为有了大家的需求,所以才会产生这一章节的内容!
最后,特别感谢 @chwei 、@Giant 、@End 、@坤易 、@AntTech_11FZQG 等论坛用户对本章节内容提出的大量优质建议!
11 个赞
兹拉坦
#10
《SQL 调优实践记录》预告
虽然这次《进阶教程》在 “SQL 调优方法” 部分,暂时不增加 “教程向” 的新内容。
不过,我在《入门教程》第七章中曾说过:“阅读完之后,不能保证大家就地成为 SQL 性能分析专家。成长为专家的路上,需要循序渐进,在大量的实践中逐步积累经验,还是那句老话:‘无他,唯手熟尔’。”
因此,我和 SQL 调优专家 @絮语 老哥,会对在论坛里看到的一些典型的 SQL 调优问题,进行记录和总结,然后在 OceanBase 社区论坛 —— 官方精华板块 中,以 《SQL 调优实践记录》的形式给大家进行分享,并逐步形成一个 “实践向” 的专题。
例如:【有问必答】分析一个在不同 collation 的字符串连接时,无法利用索引的问题。
在这个 SQL 调优实践专题中,会以真实遇到的用户问题,逐步为大家介绍典型的 SQL 调优实践,包括:
- 各种无法充分利用索引的问题
- 计划中的 join 方式不优导致的问题
- 计划中的 shuffle 方式不优导致的问题
- 计划中的 order 方式不优导致的问题
- 分区数据倾斜导致的问题
- 等等等等
这里先挖个坑,等我和絮语一起慢慢填。
大家有任何建议和想法,例如想要了解的 SQL 调优问题类型等等,也欢迎在这里留言评论!
6 个赞
兹拉坦
#11
上面的《各种无法充分利用索引的问题》主体内容已完成,待整理和发布~
5 个赞
兹拉坦
#14
哈哈,后面还会有一大批更加 “实践向” 的 SQL 性能调优内容,准备以博客专题的形式发布~
3 个赞
兹拉坦
#17
哈哈,个人理解 ljware 的意思就是 “非原理向”,方便让用户在运维过程中直接应用的一些实践经验~
2 个赞