Skip to main content

MySQL

Primary transactional datastore for 12 services.

Why MySQL

  • InnoDB engine — ACID compliance required for financial data
  • Strong consistency — Row-level locking and transactional integrity
  • JSON columns — Flexible metadata without schema changes
  • Mature ecosystem — Flyway, Spring Data JPA, Hibernate, read replicas
  • AWS RDS for MySQL — Managed service with Multi-AZ for HA

Per-Service Databases

Each service has a dedicated RDS MySQL instance (or separate schema in a shared cluster for local development).

Configuration Notes

SettingRecommendation
EngineInnoDB
Charsetutf8mb4
Collationutf8mb4_unicode_ci
IsolationREAD COMMITTED (default) or REPEATABLE READ for ledger
MigrationsFlyway with versioned SQL scripts