A. OceanBase 使用 LSM-Tree 架构,数据先写入内存中的 MemTable,达到阈值后转储为 SSTable 存储在磁盘上。
B. LSM-Tree 架构通过将随机写入转换为顺序写入,显著提升了写入性能。
C. OceanBase 的 LSM-Tree 引擎在读取数据时,需要合并内存中的 MemTable 和磁盘上的多个 SSTable,可能导致读放大。
D. LSM-Tree 引擎中的数据一旦写入 SSTable 后就不再修改,因此更新操作是直接在原数据位置覆盖写入。
A. OceanBase 使用 LSM-Tree 架构,数据先写入内存中的 MemTable,达到阈值后转储为 SSTable 存储在磁盘上。
B. LSM-Tree 架构通过将随机写入转换为顺序写入,显著提升了写入性能。
C. OceanBase 的 LSM-Tree 引擎在读取数据时,需要合并内存中的 MemTable 和磁盘上的多个 SSTable,可能导致读放大。
D. LSM-Tree 引擎中的数据一旦写入 SSTable 后就不再修改,因此更新操作是直接在原数据位置覆盖写入。
解析 :
LSM-Tree 引擎的核心设计之一是 “追加写”和“异地更新” 。数据写入 SSTable 后确实不再修改(只读),但更新操作并非覆盖原位置,而是写入新的数据版本 (追加到新的 SSTable 中),旧版本数据保留在原有的 SSTable 中,直到合并(Major Compaction)时才会清理过期版本。这种设计将随机写转换为顺序写,提升了写入性能,但会产生多版本数据。
正确答案:D
支持一下
选D