![]()
3 个赞
这道题是对的,楼主!!
1 个赞
答案:**正确
依据(《OBCP_V4_DBA1:OceanBase V4 数据库架构与原理》第71页):
“OceanBase 使用 LSMTree 作为存储架构,采取追加更新的策略(append write),不对数据的原始版本进行覆盖更新。写数据时,将数据写入到写内存区(MemStore),通过转储机制将数据落盘,后台线程负责将增量数据与基线数据进行合并。有效避免了写放大和随机写。”
解析:
- LSM Tree 的核心写入方式是追加写(append write),而非原地更新(in-place update),这就从根本上避免了传统 B+Tree 存储引擎的随机写问题——所有写入都变为顺序写。
- 同时,LSM Tree 通过后台 Compaction(合并)机制将增量数据与基线数据合并,而非每次写入都触发磁盘操作,从而避免了写放大(即实际写入磁盘的数据量远大于应用层写入的数据量)。
- 因此,OceanBase 存储引擎采用 LSM Tree 结构的核心目的之一正是解决随机写和写放大问题,题目表述正确。
1 个赞
正确
2 个赞
加油学习
2 个赞
正确
1 个赞
正确
1 个赞
正确
OceanBase 底层存储引擎采用 LSM-Tree 架构,核心设计目标就是化解磁盘随机写入性能差、写入放大严重两大痛点:
随机写优化:写入先落到内存 MemTable,满了之后批量顺序刷盘,把大量随机写入转换成高效顺序写入;
缓解写入放大:分层合并机制控制合并频次,对比 B + 树原地更新带来的多层页改写,大幅降低 IO 放大系数;
适配分布式高并发海量写入场景,是 OB 支撑高吞吐业务的核心存储基石。