It’s not easy to do a DW in MySQL — but it’s not impossible either. Easier to go to Teradata than to write your own.
DW characteristics:
1) Organic, evolves over time from OLTP systems — issues, locking, large queries, # of userss.
2) Starts as a copy of OLTP, but changes over time — schema evolution, replication lag, duplicate data issues
3) Custom — designed from the ground up for DW — issues with getting it started, growth, aggregations, backup.
4) How do you update the data in the warehouse? — write/update/read/delete, write/read/delete, or write only — which means that roll out requires partitions or merge tables.
The secret to DW is partitioning — can be based on:
data — date, groups …