Skip to content

SYSTEM Cited by 9 sources

DynamoDB

Amazon DynamoDB is AWS's managed serverless key-value / document database. It's horizontally scalable by partition key, JSON-friendly, and commonly chosen when the workload needs fast single-item reads and writes at unbounded scale and you don't want to operate a sharding layer yourself.

Pattern of appearance

In system-design stories DynamoDB most often shows up as the scale-out replacement for a vertically-scaled OLTP store used as an event log or hot-write workload. The storage-scalability story is strong; the processing story is the same as any other OLTP store — per-record lookups are still per-record lookups.

Canva's Creators-payment counting pipeline used DynamoDB for this exact role: when MySQL RDS was doubling every 8–10 months, they moved raw usage events to DynamoDB to eliminate the storage growth problem. They explicitly chose not to move the rest of the pipeline onto DynamoDB, because the per-record database round-trip problem remains: running deduplication and aggregation over billions of events by reading each one is O(N) DB calls regardless of backend. Canva took this as a signal to move the processing into an OLAP engine (Snowflake), not just re-platform the OLTP layer. (Source: sources/2024-04-29-canva-scaling-to-count-billions)

Data shape notes

DynamoDB stores JSON-shaped items natively, which is ergonomic for event-producer code but not ideal for warehouse query performance. Canva's extract-load step into Snowflake projects the interesting JSON fields into typed SQL columns to make downstream GROUP BY / filter queries cheap — worth generalising: if DynamoDB is the upstream to an analytics workload, plan for a typed projection in the E/L.

Seen in

Last updated · 200 distilled / 1,178 read