求助贴:ob有高水位线和临时表的概念吗?

大家好,想问个问题:
1、ob有没有高水位线的问题?
2、ob有无临时表?

谢谢! :heart_eyes_cat:

OB有临时表的概念,但是高水位线你说的是什么意思?能解释一下吗

1.高水位线是ORACLE 空间段管理的一个技术,是预分配的段空间地址到达的水位,数据删除后这个高水位线并不会主动下降回收。好处是空间可以复用,不用再次分配。坏处是可能一直不回收,空间浪费。
ORACLE数据写模型是BTree模型,这个设计的弊端就是可能出现表空间膨胀,浪费空间。OB数据写模型是LSMTree,所有的修改(包括数据删除)都是新增。LSMTree数据分层存储,在每一层向上合并的时候,删除老版本数据生成新版本数据(默认会保留两个全量版本),空间相当于重新整理了。默认每天都有一次全量合并,也就没有空间长期不回收浪费这种说法。
所以,OB不需要有ORACLE段管理那种高水位线,如果有,那应该只是语法兼容ORACLE需要。
2.OB的ORACLE租户有临时表,但OB没有UNDO,REDO强制写日志并强同步(这点可能高版本会变化),所以临时表的功能兼容ORACLE,只是估计原理跟ORACLE不一样。

感谢大佬 :+1:

您好,请问下有ob临时表的相关资料吗?

OB官网文档中有的,可以去查看

1 个赞

好的,谢谢你,我在官网看见啦!