Do you need every record in the extract ?
I'd suggest building a summary extract so you can look at the data at a high level before drilling down to 100 million records.
Here's a few recommendations:
- Aggregating your data (as Chris McClellan suggested)
- Filtering your data (if you have 5 years of data but only need 12 months then filter accordingly)
- Remove unneeded columns
The important thing here is to make sure you do all this BEFORE you extract the data to Tableau. If you're using BigQuery then a good way to do this is by creating a BigQuery View. Avoid Custom SQL if possible.
On a side note, Live connections will incur charges as you've pointed out but partitioning your BigQuery table on Date (and using a continuous filter in Tableau) can help to reduce these charges.