【积分 + 福利】实战营(第三季)第七期 —— OceanBase 堆表组织表(11.27 日更新,感恩节特刊)

兹拉坦在 OceanBase 社区公众号上,曾用一篇 《OceanBase PoC 经验总结(二)—— AP 业务》对庆涛大佬的 PoC 系列文章狗尾续貂。

文中在 “表结构设计” 部分,反复提到 “堆表”,并简单介绍了下索引组织表和堆表的区别和使用场景。

推荐大家在学习本期课程之前,先行阅读上面这篇公众号文章~

背景

因为:仓老师为了独宠社区版的用户,优先在社区版的 MySQL 租户下支持了堆表能力(商业版的 Oracle 租户暂不支持堆表)。

所以:在本期实战营活动的感恩节特刊中,也特批仓老师插队,优先于下期《OceanBase 标量 / 向量 / 全文混合搜索能力》,提前为大家介绍 OceanBase AP 场景下最常见的堆表。

最后,特别感恩堆表的研发同学 —— 澜翊,专门为社区用户撰写了本期实战营的课程内容~

在本期课程开始之前,先附上一个堆表和索引组织表的示意图(图中蓝色表示同属于具体一个用户的数据,红色表示同属于一天的数据),摘自: 《OceanBase PoC 经验总结(二)—— AP 业务》

  • 按时间聚集(堆表默认):

  • 按用户聚集(索引组织表,主键为 user):

  • 按时间聚集 + 分区:

在常见的 AP 数据库中,有一些是通过 clustered key 进行数据聚集,还有个别的数据库数据聚集方式相对复杂,会分成很多层次。

因为不同数据库的数据聚集方式可能都有一些出入,所以把某些 AP 数据库里的索引直接平迁到 OceanBase 里作为主键,可能并不合适。

需要先理解原数据库的数据聚集方式,以及分片是怎么拆到多个机器上的,否则在进行数据迁移时,可能会出问题。

边学边练,效果拔群

小提示:

  1. 这期实验环境还是比较特殊,默认使用的租户竟然是 sys……不过影响不大,大家要注意在课后小测最后一题里执行 select GetKey('你的论坛用户名'); 获取密钥前,需要通过执行 alter system change tenant mysql_tenant; 把 sys 租户切换到普通用户租户,或者断连接后再通过 obclient -h127.0.0.1 -P2881 -uroot@mysql_tenant -A -Dtest 连接到普通用户租户。
  2. 需要先登录 OceanBase 账号,才能初始化屏幕右边的实验环境进行实验。
  3. 在实验环境里,干什么都可以。大家不要受限于屏幕左边的实验手册,可以天马行空地做一些你感兴趣的事情,或者验证一些你对 OceanBase 官网文档的疑问、以及自己的猜想等等。
  4. 欢迎大家平时在学习 OceanBase 的过程中,也都能充分利用在线体验页面为您提供的一些实验环境,来体验 OceanBase 中您感兴趣的新特性。

希望大家都能够积极参与上面的在线体验,并通过课后小测。这是我们能够持续为大家更新《DBA 实战营(第三季)》课程内容的最大动力~

本期课程的课程文档,依然有较多的 SQL 和 SQL 执行结果,如果大家觉得 PDF 格式已经到了影响阅读的程度,欢迎来这个公网语雀地址进行阅读~

文档地址:https://oceanbase.yuque.com/org-wiki-obtech-vh7w9r/zlatan_notes/wqkgafpzspv6mbnv

What’s more?

看到这个帖子的评论区有老师希望了解 OceanBase 中堆表的实现原理,个人理解,对原理感兴趣的老师们,可以自行在实验环境里通过元数据表分析出个八九不离十(可以参考《临时表》 这期通过元数据信息倒推实现原理的方式)。

最后,特别对 @ob青松 老师的回复表示感谢!

OB-min

6 个赞

《DBA 实战营(第三季)》课程 传送门

堆表组织表 在线实验 传送门

堆表组织表 课后小测 传送门

活动福利

通过本次课后小测的用户

  • 会自动获得 OceanBase 社区为大家提供的 10 积分,并会自动获得一次抽奖机会。

  • 在本期课程在上线一周之后,我们将在通过这期课后小测的用户中,随机抽取 5 位,分别获得:

  • 感恩节 “与子同袍” 惊喜福利:

    • 这期课程通过考试的人数只要能超过 100 人,就再额外加抽一件防水指数(静水压)10000+MMH2O 的 @兹拉坦 同款蚂蚁集团二十周年纪念冲锋衣 * 1




    • 这件衣服尺码较大,是 @兹拉坦 唯一一件能够穿进去的公司纪念服装(5XL)。


    • 当然,大家可以根据尺码表和尺码推荐表,选择合适自己的尺码。

中奖结果公布后,中奖者请添加 OB 社区小助手微信:OBCE666,并说明中奖信息。OB 社区小助手在 7 个工作日内会将礼物为您寄出。如果 7 个工作日内没有找小助手领取,视为自动放弃本次的奖品。

OceanBase 社区会保证本次活动抽奖流程的公平公正,“因为信任,所以简单”。

手办盲盒因为是盲盒,所以款式随机,望大家理解。

通过结课考试福利

通过第三季全部十期课后小测的同学,会自动获得参加结课考试的资格。

  • 通过结课考试后,可以获得 OceanBase DBA 实战营(第三季)的结课证书。获取社区教程证书后,系统还会自动为您增加 60 积分。即完成第二季实战营课程,您可以获得 160 积分!

  • 除此以外,前 100 位通过本次结课考试,并获取课程结课证书的的同学,可以获得 OBCA 考试券 * 1 / OBCP 2.5 折折扣券 * 1(二选一)。


7 个赞

《DBA 实战营(第三季)》课程 传送门

堆表组织表 在线实验 传送门

堆表组织表 课后小测 传送门

11 个赞

收下我的膝盖 :smile:

12 个赞

希望多多的学习活动,学不完

12 个赞

唯有认真学

13 个赞

OB堆表有什么特殊的?以前PG和Oracle都使用的是堆表

9 个赞

一起努力

9 个赞

加油

9 个赞

点赞

9 个赞

补齐了之前 OB 不支持堆表的能力~ :grinning:

8 个赞

学习打卡

9 个赞

打卡

10 个赞

666

9 个赞

点赞~

8 个赞

好帖子

8 个赞

打卡

6 个赞

签到

4 个赞

学习

6 个赞

需要去了解一下,知道oceanbase是索引组织表,它是如何实现堆表的

7 个赞