最近打开各式各样的 APP,都有一个类似于年终总结的东西弹出来。所以心血来潮,也给自己做一个社区博客的年终总结,反思一下做的不好的需要改正的地方,顺带规划一下未来要做的事情。
2023 年个人博客记录
从 2023 年 8 月初开始,自己给自己定了一个一周发一篇社区博客的小目标,到目前为止,一共发了 24 篇,平均速率还真是差不多是一周一篇,目标算勉强达成了。
内容主要包括以下几类:
- 和 DBA 同学相关的学习笔记系列,例如《性能调优学习笔记系列》等。
- 问答区里用户常常咨询的一些特性,例如《OceanBase MySQL 模式下的 global index 是什么》等。
- 问答区里用户常问的问题,例如《浅析 4.x 版本的 truncate table 为什么不进回收站了》等。
- 用户接触机会比较少的周边工具(ob_admin、obdumper/obloader、obdiag、binlog service、ODC)试用记录,例如《ODC(OceanBase Developer Center)安装及使用记录》等。
从 2023.07.31 开始,截止到 2024.01.19 在社区里发布的全部的博客如下:
编号 | 博客类型 | 博客标题 |
1 | 用户常问问题答疑 | OceanBase 里的 schema 是什么? |
2 | 技术原理学习笔记 | OceanBase 执行引擎的自适应技术 |
3 | 技术原理学习笔记 | OceanBase 分布式下压技术 |
4 | 用户常问问题答疑 | 浅析 4.x 版本的 truncate table 为什么不进回收站了? |
5 | 周边工具试用记录 | 试用 ob_admin 工具解析 clog |
6 | 用户常问问题答疑 | OceanBase MySQL 模式下的 global index 是什么? |
7 | 周边工具试用记录 | ODC(OceanBase Developer Center)安装及使用记录 |
8 | 用户常问问题答疑 | OceanBase 里的 help 功能为什么用不了? |
9 | 数据库运维、调优学习笔记 | OceanBase SQL 性能调优学习笔记 1 —— 索引调优 |
10 | 数据库运维、调优学习笔记 | OceanBase SQL 性能调优学习笔记 2 —— 连接调优 |
11 | 数据库运维、调优学习笔记 | OceanBase SQL 性能调优学习笔记 3 —— SQL 调优实践 |
12 | 技术原理学习笔记 | OceanBase 并行执行学习笔记 1 —— 并行执行概念 |
13 | 技术原理学习笔记 | OceanBase 并行执行学习笔记 2 —— 设定并行度 |
14 | 技术原理学习笔记 | OceanBase 并行执行学习笔记 3 —— 并发控制与排队 |
15 | 技术原理学习笔记 | OceanBase 并行执行学习笔记 4 —— 并行执行分类 |
16 | 数据库运维、调优学习笔记 | OceanBase 并行执行学习笔记 5 —— 并行执行控制参数 |
17 | 数据库运维、调优学习笔记 | OceanBase 并行执行学习笔记 6 —— 并行执行诊断及调优技巧 |
18 | 数据库运维、调优学习笔记 | OceanBase 并行执行学习笔记 7 —— 并行执行 PoC QuickStart |
19 | 周边工具试用记录 | 试用离线导数工具 obdumper/obloader |
20 | 这个不知道该怎么分类了,只是记录了一个有意思的问题 | 记录遇到的一个存储过程的问题 |
21 | 技术原理学习 | 旁路导入学习笔记 |
22 | 周边工具试用记录 | 试用 obdiag 在 sysbench 压测前进行巡检 |
23 | 周边工具试用记录 | 试用 binlog service 功能 |
24 | 周边工具试用记录 | 试用 obdiag 进行信息收集和问题诊断 |
做的不好的地方
平时都是在公司看社区博客,就算在家也是用钉钉看,所以遗漏了一个超级严重的问题。昨天在外面用手机上的浏览器看一篇博客,才发现我的博客里几乎所有图片显示的都是:
问了下相关同学才知道,原来是因为我平时发的博客都是从自己内网语雀的学习笔记里挑选的,习惯性直接复制黏贴到社区博客,图片的链接默认都是内网链接,所以公司以外的用户都看不到。今天赶紧全部调整了一遍,实在抱歉。前几天 OceanBase 开源团队的运营负责同学少婷姐还表扬我说能够在工作之余积极发表博客文章,结果发的博客都是大家无法阅读的东西,真是惭愧至极。
第二个做的不好的地方是,自己这半年来,在内网语雀里记录了不少学习笔记和问题的排查记录,但是都没有花时间整理成能够给大家阅读的博客,因为犯懒而没有做好分享。这个问题,今年也会积极改正。
近期的规划
最近正准备开始牵头写一个 OceanBase 4.x 版本 DBA 入门教程的文档,把这半年积累的一些安装、部署、迁移、测试、故障排查、性能调优等等方面进行汇总,最后出品会是一本 PDF 文档,类似于这个 3.x 版本的教程。文档大纲大致如下:
第一章:OceanBase 数据库概述
- 1.1 OceanBase 数据库概述
- OceanBase 数据库概述
- OceanBase 社区版和企业版的功能差异
- OceanBase 4.x 版本和 3.x 版本的系统表和系统视图变更
- 1.2 OceanBase 社区版产品动态
- 1.3 OceanBase 生态工具介绍
- 安装部署工具
- OCP / OCP Express
- OBD
- ob-operator
- 监控工具
- OCP / OCP Express
- OBAgent
- 迁移同步工具
- OMS
- oblogproxy
- OBDUMPER / OBLOADER
- 其他迁移工具(canal、flink cdc、seatunnel、DataX 等)
- 运维工具
- OCP / OCP Express
- obdiag
- ob_admin
- ob_error
- Addr2line
- 开发工具
- ODC
- 数据库代理工具
- ODP
- 数据库驱动
- OceanBase Connector/J
- OceanBase Connector/C
- OceanBase Connector/ODBC
第二章:OceanBase 社区版的安装和部署
- 2.1 部署准备
- 介绍部署 OceanBase 数据库所需软件、资源要求以及自动化部署的过程。
- 2.2 部署相关的生态组件介绍(介绍 OCP、OBD、ob-operator 各自的功能特点以及适合的使用场景)
- OCP - 集群管理平台
- OBD - 安装部署工具
- ob-operator - OceanBase 集群的容器化部署工具
- 2.3 部署个人实验环境
- 部署 OceanBase 演示环境
- 部署 OceanBase 集群环境
- 部署 OceanBase 容器环境
- 2.4 部署生产环境
- OceanBase 高可用部署方案
- 规划 OceanBase 集群部署
- 通过 OCP 部署集群(推荐)
- 通过 OBD 部署集群
- 通过 ob-operator 部署 OceanBase 数据库
- 2.5 查看 OceanBase 集群资源的使用情况
- 2.6 创建 MySQL 模式的用户租户
- 通过 OCP 白屏创建用户租户
- 通过命令行黑屏创建用户租户
- 2.7 连接租户
- 通过 MySQL 客户端、OBClient 客户端、ODC 客户端等工具连接租户
- OBClient 客户端连接
- MySQL 客户端连接
- ODC 客户端连接
- DBEAVER 客户端连接
- OceanBase 连接驱动
- 2.8 对租户参数(或变量)进行设置
- 通过 OCP 白屏设置
- 通过命令行黑屏设置
- 2.9 FAQ
- OceanBase 数据库部署过程中的常见问题。
第三章:测试 OceanBase 数据库
- 3.1 性能测试概述
- 3.2 影响性能的因素
- 介绍影响性能的因素,如磁盘的划分、OceanBase 数据库和 ODP 的参数设置、转储与合并、是否使用分区表等。
- 3.3 进行 Sysbench 测试
- Sysbench 测试步骤
- Sysbench 测试前对 OceanBase 数据库参数进行配置
- Sysbench 测试问题的排查和分析
- Sysbench 性能测试报告
- 3.4 进行 TPC-C 测试
- TPC-C 测试步骤
- TPC-C 性能测试报告
- 3.5 进行 TPC-H 测试
- TPC-H 测试步骤
- TPC-H 性能测试报告
- 3.6 使用 JMeter 运行业务场景测试
- 结合示例讲解如何使用 JMeter 执行业务场景测试。
- 3.7 其他常见测试点
第四章:OceanBase 数据库的迁移和同步
- 4.1 OceanBase 的 MySQL 兼容性介绍
- 4.2 迁移同步相关的生态组件介绍(介绍 OMS、oblogproxy、OBDUMPER / OBLOADER 等工具各自的功能特点以及适合的使用场景)
- OMS
- oblogproxy
- OBDUMPER / OBLOADER
- 其他迁移同步工具(canal、flink cdc、seatunnel、DataX 等)
- 4.3 通过 OMS 进行数据迁移和同步
- 安装 OMS
- 使用 OMS 进行数据迁移
- 使用 OMS 进行数据同步
- 使用 OMS 实现 OceanBase 间的容灾双活
- 运维 OMS
- 4.4 通过 oblogproxy 进行增量日志代理服务
- 介绍 binglog 模式支持读取 OceanBase 的增量日志并转换为与 MySQL 兼容的 binlog,为下游 MySQL binlog 生态工具提供了变更数据捕获(CDC)的能力
- binglog 模式
- cdc 模式
- 4.5 使用 OBDUMPER / OBLOADER 工具对 OceanBase 的数据进行导出/导入
- 4.6 使用 select into / load data 命令对 OceanBase 的数据进行导出/导入
- 4.7 通过其他工具进行数据的迁移同步
- 介绍通过 canal、flink cdc、seatunnel、DataX 等工具进行数据迁移或同步
第五章:运维 OceanBase 数据库
- 5.1 使用 OCP 进行运维
- 5.2 使用 OBD 进行运维
- 5.3 使用 ob operator 进行运维
- 5.4 使用命令行进行运维
第六章:使用 OceanBase 社区版进行业务开发
- 6.1 使用 MySQL 租户做常见数据库开发
- 6.2 通过 ODC 图形化开发工具进行 SQL 开发
- 6.3 使用 OceanBase 分区表进行水平拆分
- 6.4 使用 OceanBase 在 MySQL 模式租户下的常用扩展功能
- 使用全局索引
- 使用回收站
- 使用表分组
- 使用复制表
- 使用 sequence
- 6.5 FAQ
- 使用 OceanBase 数据库进行业务开发时的一些常见问题
第七章:OceanBase 数据库的性能诊断和调优
- 7.1 性能诊断调优概述
- 介绍 SQL 引擎和 OceanBase 数据库性能诊断通常方向
- 7.2 ODP SQL 路由原理
- 介绍如何查看数据位置,以及 ODP 的 SQL 路由原理
- 7.3 管理 OceanBase 数据库连接
- 根据连接 OceanBase 数据库的不同连接方法介绍如何管理 OceanBase 数据库连接
- 7.4 通过 SQL Diagnoser 工具进行 SQL 性能诊断和分析(推荐)
- 7.5 通过 obdiag 工具进行 SQL 性能诊断和分析(推荐)
- 7.6 分析 SQL 审计视图
- 简单介绍 SQL 审计视图的概念,以及如何查看 SQL 审计视图
- 7.7 阅读 OceanBase SQL 执行计划
- 介绍如何使用 EXPLAIN 查看理论执行计划,以及如何查看、改变实际执行计划
- 7.8 常见的 SQL 调优方式
- 索引调优
- 连接顺序调优
- 调优实践
- 7.9 性能问题的排查思路和步骤
- 通过一条 slow query 的排查和调优实践,来介绍排查的思路和完整的步骤
- show trace
- explain
- sql plan monitor
- 通过 hint 或手动改写 sql 改变执行计划
第八章:OceanBase 数据库故障排查和诊断
- 8.1 通过 obdiag 工具进行问题的自助排查(推荐)
- 8.2 用户遇到问题后如何在官网上进行自主排查
- 8.3 用户遇到问题后向技术支持同学提问时要做的事情
- 遇到功能问题时,需要向技术支持同学提供什么
- observer 版本或者周边工具版本
- 问题的描述
- 问题的具体复现步骤
- 相关日志信息
- 如何捞取相关日志
- 通过 OCP 捞日志
- 通过命令行捞日志
- 展示一个对真实问题进行排查和分析的全过程的实践记录
- 遇到性能问题时,需要向技术支持同学提供什么
- 遇到 coredump 问题时,需要向技术支持同学提供什么
- 遇到 hang 住问题时,需要向技术支持同学提供什么
- 8.4 常见的故障及其恢复手段。
如果大家觉得上面这个大纲有什么需要补充或者需要调整的地方,欢迎在评论区积极反馈。我们在最终的成书内,会对您和您的建议表示感谢!