1 of 1 people found this helpful
I'm a bit outside my expertise here--this is more "under the hood" than I usually go... But as I understand it, Tableau hits the source only when it has to render a view from that source.
e.g., Say you have source A supporting view A and source B supporting views B and C. If you publish the workbook to Tableau Server, users will only activate source A when they go to view A (or a dashboard containing view A). Likewise, they will only fire source B when they go to view B or C.
I could be wrong--I'm only suggesting this because of my own observation. We have a SQL statement as a source across several identically structured databases on different servers (different sets of clients on each). The SQL statement that generated the source data for a single database took ~10min to run.
On Tableau Server, when I went to the view built from one source, it took ~10min to to render, causing me to assume that Tableau ran only the sources needed to construct the view requested. Then when I went to the next, it took another 10min.
So back to your question, I think if you leave the source "active" in the workbook, but nothing actually utilizes it, Tableau does not pull the data or waste resources to support it. I cannot however determine whether Tableau maintains an open connection to the source, but that doesn't appear to impact Tableau's performance.
Thanks for taking the time to address my inquiry. Your response makes sense. Yes, Tableau needs to be able to list a number of data sources for use with any particular worksheet and it would seem obvious to me now, that the the server would be designed not to tie up resources un-necessarily. Thinking about it, Tableau doesn't appear to use any data source until a refresh is triggered and that would include only those sources identified in the query.
So I'm comfortable with your answer unless anyone has more to say.
Have a relaxing and peaceful holiday season!