第一个迁移项目:
在该 1TB 级 Oracle 至 Azure SQL DB 数据迁移项目中,我负责整体技术方案设计与核心代码开发,主导完成 Spark 集群资源规划、数据读写策略优化及目标端性能保障三大核心模块。
首先,针对 1TB 数据迁移需求,我通过资源测算确定 125 个 Executor(8core/16G)的 “高效匹配型配置”—— 总 2TB 内存可缓冲数据膨胀需求,1000 个 CPU 核心能并行处理 1024 个 1GB 分区任务,资源利用率接近 100%。同时,为避免集群性能浪费,我设计了 “分区动态适配” 策略,通过numPartitions与partitionColumn参数实现 Oracle 源端并行读取,确保数据读取速度与集群计算能力匹配。
其次,针对 Azure SQL DB 写入瓶颈风险,我开发了 “并发度精准控制” 方案:在数据写入前通过repartition(64)将任务重分区为 64 个,限制最大并发连接数,并配置batchsize=100000批量写入参数,既避免数据库被压垮,又保障写入效率。此外,我还设计了 Azure SQL DB 性能监控联动机制,实时跟踪 DTU/vCore 使用率,确保目标端服务层级(Premium/Business Critical)与迁移需求适配。
最终,该方案实现 1TB 数据迁移任务 8 小时内稳定完成,数据完整性 100%,Azure SQL DB 峰值负载控制在 80% 以内,无 OOM 或写入超时问题,为企业级跨数据库大数据量迁移提供了 “资源 - 策略 - 监控” 三位一体的可复用方案。