Hi Alex - Data extracts will be your best bet to speed things up and they can be scheduled to run hourly. With running them that frequently you may want to have the backgrounder in a distributed environment as to not reduce performance to your users. This article maybe helpful: https://www.tableau.com/tableau-data-extracts-part3
Thank you for the quick reply Doug. If I were to extract my data sources through server (hourly) will the server extract the data sources all at once? It is currently taking around 10 minutes to extract one data source via tableau desktop. If I have 10 data sources I am concerned that I would not be able to extract all of the information in time for hourly updates. Any further insight you can provide on this issue would be helpful.
When you do an data extract you can either do a Full Refresh or an Incremental Refresh. When doing an incremental refresh you can specify a column in the database that will be used to identify new rows which will reduce your refresh extract time for all your data sources.
To improve your performance make sure that you are not bringing in any of the unwanted/unused columns while creating an extract.
To know more about extracts you can refer the link below