Case study · Fintech · Data platform
Scaling fintech infrastructure: 70% cost reduction with a MySQL to Aurora migration.
Decentro · Fintech infrastructure
27TB in one database, while the applications only read the last six months. We tiered the data instead of lifting and shifting it.
70%
Lower database spend
75%
Smaller active dataset-27TB to ~7TB
3x
Faster query performance
60-70%
Less operational effort
The opportunity
An architecture that was reliable, and inefficient at exactly this scale.
Decentro runs embedded payments, KYC and financial workflows for 1,600+ enterprise customers. As transaction volume grew alongside data-retention requirements, it hit an inflection point: 27TB across Amazon RDS MySQL, 350+ tables in one primary database, and 14 high-growth tables driving most of the expansion.
The applications, meanwhile, relied primarily on the most recent six months of data. So cost was rising non-linearly-EBS growth, snapshot accumulation, inter-region transfer-to keep data online that nothing was reading.
Backup windows kept expanding
A 27TB primary database made every routine operation longer.
Costs rose non-linearly
EBS growth, snapshot accumulation and inter-region transfer compounded.
Scaling meant over-provisioning
Growth required disproportionate provisioning rather than proportionate.
Six months of data doing all the work
Applications read recent data while 27TB stayed hot to serve it.
The impact
A 27TB primary became a 7TB one, with nothing lost.
Tiered, not lifted and shifted
Access patterns were quantified first, so critical live data and archival data went to different places.
Active tier on Aurora
Live datasets moved to Amazon Aurora's distributed architecture-3x faster queries on a quarter of the data.
Archive tier on S3
Historical data offloaded to Amazon S3 for long-term retention rather than deleted.
Near-zero downtime, zero data loss
Continuous replication and validation cycles preceded a phased cutover.
“Shellkode helped us safely migrate our large database without any transaction loss while reducing our database costs by 70%, including migrating to an encrypted instance for better security.”
The stack
What it runs on.
- Active tier
- Amazon Aurora MySQL
- Archive tier
- Amazon S3 long-term retention
- Migration
- MySQL Shell Utility bulk load, continuous RDS to Aurora replication
- Migrated from
- Amazon RDS MySQL, 27TB across 350+ tables
The road ahead
The tiers are set. They keep paying off as data grows.
Because the split is by access pattern rather than by age alone, new high-growth tables land in the right tier as they appear-so the cost curve stays flat as volume does not.
- 01
Lifecycle automation for new tables
- 02
Query performance tuning on the active tier
- 03
Retention policy as data classes evolve
Talk to us
Bring one process. Leave with an outcome architecture.
30 minutes on one function, mapped to the architecture behind it. No slides.












