So 2019.4 (finally) saw the release of creating extracts on the server. While this is a big step forward, the problem we still have with published data sources, is that whenever we want to add calculated fields or other business logic to the data source, we end up with a 'downtime' where the data source is based on a live connection. Let's say it takes 45 mintes to create the extract on server. That means that for those 45 min any user viewing the dashboards on that data source will be using a live connection, which is obviously not ideal.
So I believe we need to separate the business logic from the actual data extracts for Tableau to become a full-fledged managed data repository solution. The solution I'm thinking of is to have the option to connect to published extracts like we would to a table in any other database.
- Create a repository of extracts on Tableau Server. For lack of a better name, let's refer to them as managed extracts for now.
- A developer can then connect to a managed extract in Desktop and add calculated fields and other business logic.
- The developer will then publish that as a separate data source.
- This data source will only contain the metadata. It does not contain any actual data. This would eliminate the need to generate a new extract every time I want to add a simple calculation to the data source. Plus this makes it a lot easier to version control the data sources via Git or SVN, and to create a proper development workflow with multiple developers working on the same data source.
Ideally (but not necessarily) these managed extracts can only be used to create new data sources, so it shouldn't be possible to create a dashboard directly on top of them. These extracts should be carefully managed and maintained, so I imagine only a subset of developers will have the possibility to create managed extracts. Other developers would still create data sources / extracts in the same way we do today.
In the future, I imagine managed extracts would have the same functionality as database tables (as HyPer is a SQL database anyway), such as joins, but for now it would be great if we can connect to a standalone managed extract.