从对象存储加载数据到ADW的性能优化参数及基准咨询
使用DBMS_CLOUD COPY向ADW加载数据的性能优化参数及基准参考
可自主配置的性能提升参数
format配置项:源文件为CSV格式时,可配置skipheaders跳过表头、trimspaces自动去除字段前后冗余空格、ignoremissingcolumns忽略源数据和目标表不匹配的空列,减少加载过程中的异常处理开销;优先选择Parquet/ORC这类列式存储格式作为源数据,配置type参数指定对应格式,加载效率比CSV提升2~5倍。- 并行拆分配置:你可以将大加载任务拆分为多个
DBMS_CLOUD.COPY_DATA调用,每个调用指定不同的对象存储文件子集,单批次处理的单个文件大小建议控制在100MB~1GB区间,避免过小文件带来的调度开销、过大文件无法拆分并行的问题。 - 会话级并行度参数:加载前执行
ALTER SESSION SET PARALLEL_QUERY_MAX_DOP = <自定义数值>;手动指定当前会话的最大并行度,最高可设置为当前ADW实例OCPU数量的4倍,适合大批次数据加载场景,加载完成后可重置回默认值。 - 分区加载参数:如果目标表为分区表,可配置
partition_options参数为'PARTITION=AUTO',加载时ADW会自动按分区维度并行写入,性能比单线程整表写入提升2倍以上。
除ADW自动弹性扩容外可自主管控的优化项
- 源文件预处理:提前将大量零散小文件合并为100MB以上的大文件,列式存储文件优先选择Snappy压缩格式,平衡压缩比和解压速度,降低对象存储IO开销。
- 目标表前置调整:加载前暂时关闭目标表上非必要的索引、触发器、约束校验,数据加载完成后再重建开启,减少写入过程中的额外计算开销。
- 加载时机选择:避开ADW实例的业务高峰时段执行加载任务,避免资源争抢导致加载速度下降。
公开性能基准参考
官方公开的同区域(对象存储与ADW属于同一云区域,无跨网延迟)测试基准如下:
- 单1OCPU的ADW实例,加载Snappy压缩的Parquet格式数据,吞吐量基准为每小时100GB~150GB
- 16OCPU的ADW实例,加载同格式数据的吞吐量可达到每小时1.5TB~2TB
CSV格式的加载吞吐量约为同条件下Parquet格式的40%~60%,仅供参考,实际性能会受文件大小、表结构复杂度、实例资源占用情况影响。
内容的提问来源于stack exchange,提问作者Mijatovic
相关产品推荐
相关产品推荐

