Some of our workbooks connect live to database (db2 database in this case), which generally works much better than creating extracts when the data volumes are in hundreds of millions. Database tables are optimized for performance, at the same time workbooks are optimized using context filters.
Context filters actually create temp session tables (global temporary tables) to store the sub-set of data necessary for the view. This is a great feature, but I wish there is a way I can force use of a tablespace. Db2 is a MPP database with data in the tables split across in multiple partitions. The performance of the session tables (when writing the sub-set data into the session table as well as reading) will improve tremendously if tableau can leverage a partitioned tablespace for session tables.
Tableau may not be able to find appropriate tablespace by itself by looking into the metadata tables, therefore, I would recommend letting end-users select it.