diff --git a/src/content/docs/r2/data-migration/index.mdx b/src/content/docs/r2/data-migration/index.mdx index 381d2ea810ef5ba..00059e10bb826a2 100644 --- a/src/content/docs/r2/data-migration/index.mdx +++ b/src/content/docs/r2/data-migration/index.mdx @@ -54,3 +54,5 @@ Quickly and easily migrate data from other cloud providers to R2. Explore each o + +For information on how to leverage these tools effectively, refer to [Migration Strategies](/r2/data-migration/migration-strategies/) \ No newline at end of file diff --git a/src/content/docs/r2/data-migration/migration-strategies.mdx b/src/content/docs/r2/data-migration/migration-strategies.mdx new file mode 100644 index 000000000000000..9a7e9570015a9d8 --- /dev/null +++ b/src/content/docs/r2/data-migration/migration-strategies.mdx @@ -0,0 +1,28 @@ +--- +title: Migration Strategies +pcx_content_type: how-to +learning_center: + title: Migration strategies +sidebar: + order: 5 +--- + +import { Render } from "~/components"; + +You can use a combination of Super Slurper and Sippy to effectively migrate all objects with minimal downtime. + +### When the source bucket is actively being read from / written to + +1. Enable Sippy and start using the R2 bucket in your application. + - This copies objects from your previous bucket into the R2 bucket on demand when they are requested by the application. + - New uploads will go to the R2 bucket. +2. Use Super Slurper to trigger a one-off migration to copy the remaining objects into the R2 bucket. + - In the **Destination R2 bucket** > **Overwrite files?**, select "Skip existing". + +### When the source bucket is not being read often + +1. Use Super Slurper to copy all objects to the R2 bucket. + - Note that Super Slurper may skip some objects if they are uploaded after it lists the objects to be copied. +2. Enable Sippy on your R2 bucket, then start using the R2 bucket in your application. + - New uploads will go to the R2 bucket. + - Objects which were uploaded while Super Slurper was copying the objects will be copied on-demand (by Sippy) when they are requested by the application. \ No newline at end of file diff --git a/src/content/docs/r2/data-migration/super-slurper.mdx b/src/content/docs/r2/data-migration/super-slurper.mdx index 5e472f0a4578a57..8191c594efff49b 100644 --- a/src/content/docs/r2/data-migration/super-slurper.mdx +++ b/src/content/docs/r2/data-migration/super-slurper.mdx @@ -45,7 +45,10 @@ This setting specifies the prefix within the source bucket where objects will be #### Overwrite files? -This setting determines what happens when an object being copied from the source storage bucket matches the path of an existing object in the destination R2 bucket. There are two options: overwrite (default) and skip. +This setting determines what happens when an object being copied from the source storage bucket matches the path of an existing object in the destination R2 bucket. There are two options: + +- Overwrite (default) +- Skip ## Supported cloud storage providers