批量和实时导入如何选择

  • 从MaxCompute或者OSS导入HybridDB for MySQL,推荐使用INSERT OVERWRITE SELECT做批量导入:
    • 批量导入适合大数据量导入,性能较好。
    • 批量导入适合数据仓库语义,即导入过程中旧数据可查询,导入完成一键切换新数据。如果导入失败,新数据会回滚,不影响旧数据的查询。
  • 从RDS、MySQL、HybridDB for MySQL等导入HybridDB for MySQL,需要根据导入的数据量选择不同的方法:
    • 数据量不大的(百万级别的表)情况,推荐使用INSERT INTO SELECT做实时导入。
    • 数据量大的情况,推荐使用INSERT OVERWRITE SELECT做批量导入。

导入并发和资源说明

  • 单张表的导入会在系统内部串行,不同表之间的导入任务会并行,默认并行度是2。

    以MaxCompute表导入HybridDB for MySQL为例,同一张表的不同分区导入实际上会排队串行执行。

    不同表的导入,同时提交,有并行度的n个任务同时导入,出于资源控制的原因,剩余任务也需要排队串行执行。

  • 导入使用的是HybridDB for MySQL内部的资源,与查询一样,属于同一个实例的资源。推荐导入任务在查询量比较低的时段进行,比如凌晨12点以后,并推荐用户配置d2等定时任务,避开业务高峰时段做导入。