关于 MemTable 与 Freeze(转储),下面说法错误的是? A. 转储是把 MemTable 数据落地成 SSTable B. 转储会阻塞业务读写 C. 内存达到阈值会自动触发转储 D. 转储是在单个 OBServer 内部完成

关于 MemTable 与 Freeze(转储),下面说法错误的是?
A. 转储是把 MemTable 数据落地成 SSTable
B. 转储会阻塞业务读写
C. 内存达到阈值会自动触发转储
D. 转储是在单个 OBServer 内部完成

错误的是 B. 转储会阻塞业务读写 。

解析如下:

  • A 正确 :转储(Minor Compaction)的本质就是将 MemTable 中的数据落地写入磁盘,形成 SSTable(或 Mini SSTable)。
  • B 错误 :转储过程并不会阻塞业务的正常读写。当 MemTable 达到阈值触发冻结时,系统会生成新的活跃 MemTable 供业务继续写入,而旧的冻结 MemTable 则在后台异步进行转储落地。虽然转储本身会消耗一定的 IO 和 CPU 资源,可能对性能产生轻微影响,但并非阻塞业务读写操作。
  • C 正确 :当租户的 MemTable 内存使用量达到配置的阈值(如 freeze_trigger_percentage 等相关参数)时,系统会自动触发冻结与转储。
  • D 正确 :转储是分区或租户级别的局部操作,每个 OBServer 上的租户可以独立决定自己 MemTable 的冻结与转储,不需要像合并(Major Compaction)那样在全局或集群层面统一协调。