【OBCP 4.x 学习笔记】第一章:数据库架构与原理(基础概念亡羊补牢)

纯个人向的学习笔记,可能会比较基础。大家的基础各不相同,所以不保证可读性,更不保证普适性。

欢迎大家批判性地进行阅读,鼓励大家交流和吐槽。

背景

我作为一个十分不称职的 OceanBase 技术支持同学,对于 OceanBase 中的很多和运维相关的基础概念还都是一知半解,实在惭愧。这次在学习 OBCP 4.x 版本的过程中,准备尽量把这些概念都捡起来,顺便做一些简单的记录。

租户资源分配

因为经常偷懒用白屏工具进行运维管理,所以好像并不需要手动执行 CREATE RESOURCE UNIT、CREATE RESOURCE POOL 之类的命令。

那不了解这些基础概念的锅,就暂且甩给 OCP 吧。

概念拾遗:

  • UNIT:节点中物理资源的容器。
  • RESOURCE POOL:集群中 UNIT 的容器。

如下图,有三个资源池。以所有黄色的 UNIT 构成的资源池为例,unit = U1,unit Num = 2,zone_list = zone1,zone2,zone3。

创建租户的前置条件就是先创建资源单元 UNIT 和创建资源池 RESOURCE POOL。

租户扩缩容也是通过调节资源池中资源单元的规格大小,或者资源单元的数量实现的。

从 OceanBase 数据库 4.0 开始,在租户管理上增加了限制,要求同一个租户所有 Zone 的 Unit 个数相同。

负载均衡

Zone 内的负载均衡,也分为两种:

  • Migrate:表示 OBServer 间的 Unit 均衡。

  • Transfer:表示同一租户内不同 Unit 间的数据均衡(或者说是分区和日志流均衡)。

Transfer 的官方概念是说:将 Tablet 从一个日志流转移到另一个端日志流的操作,我上面对这个动作的概念做了一些扩展,一切以官方为准。

将分区 Tablet 在不同的日志流之间迁移,目的是让租户内的分区更均衡。这个动作在 OBCP 4.x 中没找到图片,大家看着上面那张图片发挥下想象力吧,比如 p1 分区的数据太多,p3 和 p7 太小,p5 可能就会从 LS1 被自动 transfer 到 LS2 这个日志流里。

总结

这次只做概念拾遗,不讲运维。简单回顾了以下四个基础概念:

  • UNIT
  • RESOURCE POOL
  • MIGRATE UNIT
  • TRANSFER PARTITION

What’s more ?

OBCP 4.x 第一章有 170 页,内容远远不止我提到的这四个基础概念。还是开篇那句话,大家的基础各不相同,看完同样的教程,得到的收获估计也大不相同。

可能换个人读 OBCP 4.x 第一章,学到的就是下面几个他之前不了解的概念:

  • PX COORDINATOR
  • DFO(Data Flow Operation)
  • Granule
  • DAS(Data Access Service)

我的学习笔记只能记录我看完这章学到的东西,没办法照顾到所有人,还望大家见谅。

参考

9 个赞

大家也可以在 “培训中心” 板块中,通过帖子来记录和分享你在 OBCA / OBCP 学习过程中的收获!

4 个赞

@彤栩 你的 OBCA 学习笔记也可以考虑以帖子的形式记录和分享~

2 个赞

我在学习中发现有时候有一些概念性的解析还得是旧版本的文档详细,不知道什么时候能合并一下。

4 个赞

基本上去看2.x的能找到一些详细的解析

3 个赞

麻烦 @魔星星 有空儿时帮忙看下用户的这个反馈?

4 个赞

连载到电子书页面,支持

5 个赞

我这个写的太差了,也没啥参考价值,不能放到官网页面的……

给大家推荐两个好的:

7 个赞

666

4 个赞

感谢您的分享,部分基础概念在obca课程中的确没有理解到位

3 个赞

哈哈,这几个概念在 obca 课程里应该也是有的,只是我自己偷懒没细学 obca~

4 个赞

感谢分享

3 个赞

:+1: :+1: :+1:

3 个赞

学习了

2 个赞

学习了

1 个赞

666