What are the key differences between ETL and ELT, and how do you decide which pattern to use for a migration project?