关于OMS旁路写入功能,下面说法正确的是

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
关于OMS旁路写入功能,下面说法正确的是
A. OceanBase旁路写入一定比SQL方式写入快
B. OceanBase旁路写入可以通过serverParallel参数设置服务端并发
C. OceanBase旁路写入支持大部分OceanBase字段类型,但对于一些新的类型还未支持
D. OceanBase旁路写入过程中需要保证OceanBase磁盘有足够的容量,因为在合并过程中需要进行排序,旁路写入过程中存在容量放大几倍的情况

3 个赞

正确答案是::white_check_mark: B、C、D

解释如下:

A. OceanBase旁路写入一定比SQL方式写入快
:x: 错误
旁路写入通常比普通 SQL 写入更高效,适合大批量数据导入场景,但并不是在所有场景下都“必然”更快。例如:

  • 小批量数据时,旁路写入启动、排序等过程的开销可能反而更大;
  • 如果磁盘、网络或并发配置不足,也可能导致性能不如 SQL 方式。
    :point_right: 因此,“一定比 SQL 方式写入快”是绝对化说法,不正确。

B. OceanBase旁路写入可以通过 serverParallel 参数设置服务端并发
:white_check_mark: 正确
serverParallel 参数可以用来控制旁路写入时服务端的并发度,从而提升导入性能。这是旁路写入性能调优的重要参数之一。

C. OceanBase旁路写入支持大部分OceanBase字段类型,但对于一些新的类型还未支持
:white_check_mark: 正确
旁路写入目前支持绝大多数常见的数据类型,但对于部分新类型(如 JSON、部分复杂对象类型等),暂未完全支持,需要通过 SQL 或其他方式写入。

D. OceanBase旁路写入过程中需要保证OceanBase磁盘有足够的容量,因为在合并过程中需要进行排序,旁路写入过程中存在容量放大几倍的情况
:white_check_mark: 正确
旁路写入底层会先写 SSTable 文件,然后在合并(Major Compaction)时进行排序和重组。在这期间会有临时文件和数据膨胀,通常需要预留 数倍的磁盘空间 来完成数据导入与合并过程,否则可能因磁盘空间不足导致导入失败。

2 个赞

通常情况下,有“一定”字眼,多半都是错的