Logiciel Solutions engineered an on-demand database refresh pipeline for Splink to reliably synchronize its staging PostgreSQL environment with production data. GitHub Actions starts an Amazon EC2 instance that runs a purpose-built replication script, logs every run to Amazon CloudWatch, and reports success or failure back to the workflow.
The result is on-demand, repeatable, and observable refreshes without a continuously running DMS replication instance.
Splink needed to refresh staging with production data on demand, but AWS DMS migrations failed on schemas that depend on materialized views.
Splink’s engineering team needed to refresh its staging PostgreSQL database with production data on demand, so new features and fixes could be tested against realistic data before release.
AWS DMS was the obvious managed option, but it migrates tables and their data, not secondary objects such as materialized views. Several of Splink’s schemas depend on materialized views, so DMS migrations of the database failed.
DMS also bills a replication instance for every hour it is provisioned, a poor fit for a task that runs only occasionally.
Refresh staging with production data whenever the team needs it.
Carry over materialized views and the objects that depend on them.
A definite success or failure outcome, with logs for troubleshooting.
No migration instance billing between refreshes.
Materialized views and dependent schemas come across intact, where DMS migrations failed.
The team refreshes staging when it needs to, without waiting on DevOps.
Status in GitHub Actions and full logs in CloudWatch for every run.
New features and fixes are tested against current production data before release. Because the instance runs only during a refresh, Splink also avoids paying for a migration instance between refreshes.
PII is masked after each restore, and staging access is restricted to Splink’s engineering team.
Refreshes run off-hours, so they don’t compete with live traffic.
A failed refresh restores staging from a backup, so no one is left with a half-copied database.
Logiciel maintains the replication script and the EC2 instance.
If a managed service keeps hitting its limits, let’s look at a pipeline built for your workload.
Start Your Project