ai-diagrams · Diagram examples · Sample fintechStatement database · V1
■  Comparison table

Customer statement database: Aurora PostgreSQL, DynamoDB and DocumentDB

Three options for storing statement entries: 2.5 million new entries per day, 1.1 billion retained and a peak of 3,000 reads per second. 95% of reads request the last 90 days of an account, paginated by date.
Criteria
CriterionAurora PostgreSQLDynamoDBDocumentDB
Data modelentries table indexed by account and dateaccount partition key, date and entry ID sort keyone document per entry, compound index on account and date
Access patternindex range scan; filtering by type uses a partial indexpaginated Query on the partition; filtering by type needs a GSIfind with compound index; type filtering uses the same index
Volume and growthmonthly partitions and cleanup by partitionno practical table limit; TTL for the 5-year retentionstorage grows automatically; cleanup by job or TTL index
Consistencywriter reads are immediate; replica lag below 100 msstrongly consistent read on request, at twice the read costprimary reads are immediate; replica with short lag
Base costinstance-hours even without traffic; Serverless v2 has an ACU floorzero without traffic on-demand; pay per read and writeinstance-hours even without traffic
Operationsvacuum, partitions, engine version; already familiar to the teamalmost none; modeling by access pattern is new to the teaminstances and indexes; no engineer has MongoDB experience
ChoiceDynamoDB, because the main access is a Query by account and date, and entries never change after being written. Revisit if type filtering exceeds 20% of reads or cross-account queries are needed.
Cost is shown as a billing model, not an amount: calculate the figure using the measured volume of 2.5 million entries per day.
Diagrams  ·  comparison table example  ·  2026-11