Tableau will try to load all data in memory. Which is why you are seeing this behavior. Did this workbook ever work? I suspect it to be other wise. It could very well be the joins, and join criteria. Without looking at the datamodel and workbook, its hard to guess.
Suggest starting from scratch and create a single data source view that is well manicured, so, move the database joins to the DB view instead of doing it on tableau, especially if your tables have a large number of rows. Joins means relationships, Joining 8 tables, sounds like an analysis paralysis to me. Very likely the 8 tables are going to be at different level of detail, or mean different things. and may not be a one to one join always. Result of which is huge number of rows that means nothing to the analysis. Suggest starting from scratch and narrow your analysis and data layer first.
There definitely could be a problem with your joins, but then again there might not be. Only you know the answer to that as you have access to the source data. Does the row count look right? Does the data look correct?
Pulling down 81 million rows of data in 15 minutes seems acceptable to me. Either you need to reduce the size of your dataset or switch to extracts in order to speed it up. But as a starting point you need to analyze if 81 million rows of data is right.