When is denormalizing product data worth the sync pain?

Hey everyone, I’m working on a small product catalog and trying to decide if I should keep product info copied into carts and orders, or always read the latest product record when I need it.

I like denormalizing because reads stay simple and old orders keep their original price and name, but then I have to deal with stale data and awkward backfills when something changes. When do you decide the extra sync work is actually worth it?

BobaMilk

@BobaMilk for orders, I’d copy the product name, price, and maybe SKU/variant at checkout so the receipt never changes later. For carts, I’d usually keep a product reference and recheck price/availability when the cart is opened or right before payment, because carts go stale fast and syncing them is usually more pain than it’s worth.

Quelly