We dual-write mostly to be able to offload certain query patterns, like joining large tables on non distkeys. Redshift does much better than BQ joins as long as they're on the same DISTKEY or if you can afford to make the table DISTSTYLE ALL, but if you can't, having to shuffle really impacts not only the runtime of that specific query, but also any other running queries. We have a job that took 1 hour on a 28 node dc2.8xlarge cluster, but only 4 minutes on BigQuery with basically no rewriting of the query, and saw a reduction in runtimes of concurrent jobs as well.