Pattern 2: Migration using ETL/CDC
Migration process designed for critical on-line environments, allowing secure roll-back. An ETL/CDC performs the synchronization between both databases. CDC enables real-time parallel, while some ETLs enables nearly-real-time.
- Using an export or backup of the current DB and LX-LD
- Migrate application: 99% of the SQL is compatible. For incompatibilities:
- Alternative SQL will be proposed.
- LeanXcale will be extended to support the functions used.
- Migrate Stored Procedure (e.g., PL/SQL): The procedures are proprietary to the current DB (e.g. Oracle PL/SQL). It will translate to an equivalent java process.
- Append-only: Append-only or data with an updating timestamp is migrated. They can be read from backups to avoid overload problems in the production database. LX Loader or ETL (e.g. AWS Glue, Datafactory or Airbyte)
- Last Day: Last synchronization of the last period (typically the last day) and data without an updating timestamp. It can be performed during an idle window. LX Loader or ETL (e.g. AWS Glue, Datafactory or Airbyte)
- Original Database as Reading Master and an ETL/CDC: Parallel with the original database as the Master Reader. An ETL/CDC populastes changes from the Master database to LeanXcale.
- Reading in LeanXcale and CDC: Parallel with LeanXcale as Read Master. Upgrade the application and use ETL/CDC to populate the changes from the original database to LeanXcale.
- Original Database deactivation: LeanXcale remains as the only engine.
- Application optimization to take advantage of LeanXcale capabilities (parallelization/multithreading).