An e-cоmmerce cоmpаny hаs shаrded its database by custоmer_id. Consider these three scenarios: (1) The products table has 5,000 rows and changes only once a month. Every shard needs to JOIN against it. (2) The orders and payments tables both need to be queried together for a given customer. (3) An analytics team needs to run ad-hoc reports that aggregate data across all customers. For each scenario, identify which of the four cross-shard strategies (reference tables, co-location, denormalization, or application-level joins) is the best fit and explain why.