对于转储有点困惑

所谓转储是从MemTable->minisstable 还是从MemTable~minorSSTable都算?

1 个赞

MemTable~minorSSTable都算

参考:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002014005

5 个赞

将MemTable 中的数据转存到SSTable 中的过程叫转储,MEMTABLE 冻结 写入磁盘生成Mini SSTable,这个叫 转储,MEMTABLE 不会直接生成minorSSTable,多个Mini SSTable会进行合并生成一个 minor sstable,同时 两个minor sstable也可以合并成一个大的 minor sstable,最终的形态是minor sstable和基线的SSTABLE 合并成一个新的 基线的SSTABLE

2 个赞

MEMORY TABLE是不能直接转储成 MINOR SSTABLE 所以这个描述是有问题的,只能生成MINI SSTABLE ,多个MINI SSTABLE 会生成 MINOR SSTABLE

没错,是一步一步来的。

早上学习报到 :grinning: :grinning: :grinning:

2 个赞

小转储大合并 - 社区问答- OceanBase社区-分布式数据库

我之前看文档,总结的,看看是否有帮助。有问题继续问,一起学习。

@论坛小助手

根据文档库中的信息,转储指的是将MemTable中的数据转存到SSTable中以释放内存的过程。具体来说:

  • 在OceanBase数据库中,转储可以生成不同层次的SSTable,依据的是分层转储策略(参见转储管理概述 → 分层转储)。

  • 当MemTable的数据量达到一定阈值时,它会被冻结,并直接Flush为L0层的Mini SSTable。因此,从MemTable到Mini SSTable的过程是转储的一部分(参见转储管理概述 → 分层转储)。

  • 随着转储次数增加,多个L0层(Mini SSTable)会进一步根据写放大系数及SSTable个数进行内部Compaction动作,可能会上压到L1层,形成Minor SSTable。所以,从MemTable到Minor SSTable也属于转储过程的一部分,但这是经过了L0层之后的进一步处理(参见转储和合并概述)。

综上所述,在OceanBase数据库中,“转储”既包括从MemTable到Mini SSTable的过程,也涵盖了后续可能发生的从L0层到L1层的转换,即生成Minor SSTable的过程。不过通常所说的“转储”,更多是指前者,即MemTable到Mini SSTable的直接转换。对于后者,则更常被称为Compaction或者压缩操作。

检索到的文档如下:

  1. 转储
  2. 转储管理概述
  3. 转储和合并概述
  4. OceanBase 术语
  5. 存储架构概述
  6. 在您开始前
  7. MemTable
  8. OceanBase 数据库

66666

不错,学到了

兄弟,学的不错

大佬从钉钉群讨论到社区,学习氛围不错