Skip to main content

StreamShift Documentation

Lift and Shift versus Ongoing Synchronization

StreamShift offers three types of migration:

  • Lift and Shift with Ongoing Synchronization

    This has two phases.

    First, selected tables (minus foreign keys) and existing data are copied from the source database to the target database using JDBC. This is a one-time process. (In the Striim platform, this is called initial load.) Depending on the amount and complexity of data in the source tables, this may take minutes, hours, days, or weeks. StreamShift's assessment report may help estimate how long this process will take. Source data types that are incompatible with the target will be converted or omitted. After all data has been copied to the target, foreign keys may be applied to the target tables.

    At the same time StreamShift starts initial load, it starts capturing insert, update, and delete operations in the source database using change data capture (CDC) and stores those events in the integrated Kafka instance. When initial load is complete, StreamShift starts applying the captured change data to the target database. This ongoing synchronization picks up initial load stopped, and there should be no missing or duplicate transactions. Synchronization continues until you stop the migration manually.

  • Lift and Shift only

    If the source and target databases are of the same type (for example, on-premise Oracle to Amazon RDS for Oracle, or on-premise SQL Server to Azure SQL Managed Instance), StreamShift will use the database's native utilities to copy the entire selected database, typically including all tables and most if not all other objects such as triggers, stored procedures, and privileges.

    If the source and target databases are of different types (for example, on-premise Oracle to Amazon RDS for PostgreSQL, or on-premise SQL Server to Google Cloud SQL for MySQL), selected tables and their data are copied from the source to the target database as for the first phase of Lift and Shift with Ongoing Synchronization.

  • Ongoing Synchronization only

    Insert, update, and delete operations in the source database are replicated in the target database as for the second phase of Lift and Shift with Ongoing Synchronization.