Looking to optimize your Tableau Server? If you are reading this, you are most probably on the right path. But how do you know where to start? Just like our health, before any treatment can be prescribed, a diagnosis is required. When it comes to Tableau Server, no diagnosis would be complete without a deep dive into the Tableau Repository.
Let’s Start With the Basics: What Is Tableau Repository?
In a nutshell, it is a PostgreSQL database internal to Tableau Server that contains data about all content, extract refreshes, subscriptions, users, user activity, and more. While most of this data is used by Tableau Server in the background, it can also provide valuable insights to Tableau Server admins and serve as solid ground for decisions related to the maintenance and development of your Tableau platform.
To help leverage Tableau Repository, Tableau offers some ready-made tools for you to explore. One of these tools is called Administrative Views. These are dashboards that enable server admins to monitor content usage, resource bottlenecks, user adoption, license usage, and much more.
Why Use Tableau Repository?
At InterWorks we have experienced that every Tableau ecosystem is different and a requires tailored approach when it comes to optimization and scaling. Therefore, we know firsthand how valuable the information from the Tableau Repository can be. And that’s why we’ve made it an integral part of our Platform 360 Evaluation solution, which offers a customized approach to help you make the right decisions related to your Tableau platform. If you want to know more about how we can help you optimize your Tableau platform, check out our Platform 360 Evaluation page.
How To Enable Access to the Repository?
Tableau Repository, which is a PostgreSQL Database, already has two built-in users that can be used to read data. These are “tableau” and “readonly.” The “tableau” user gives limited access to the data. The “readonly” user has access to many more tables and views, which can help you analyze your Tableau Platform in more depth.
Before you can connect to Tableau Repository with the “readonly” user, you must first enable its access to the PostgreSQL database. This is done by running the following command on the machine where your Tableau Server is running (if you have a cluster, the command is run on the machine where TSM is running):
tsm data-access repository-access enable
When enabling access to the “readonly user,” you also need to specify a password for it. This password will be necessary later to access the repository. If your password includes special characters, then you must enclose the password in double quotes. The full command is:
tsm data-access repository-access enable --repository-username readonly --repository-password <PASSWORD>
Note: Running this command will require a Tableau Server restart.
How To Connect to the Repository?
The default port for accessing the PostgreSQL database on the Repository node is 8060. You need to have this port open, unless you have changed the “pgsql.port” configuration.
- Create a new PostgreSQL data connection in Tableau Desktop or Server. If you are using Tableau Desktop, you might need to install the PostgreSQL driver first.
- In the PostgreSQL connection dialog box, enter the name or URL for Tableau Server in the Server box. If you have a distributed server installation, enter the name or IP address of the node where the repository is hosted. Add the port number (8060 by default).
- Enter workgroup in the database box.
- Connect using the readonly user and the password you have set when enabling the readonly access.
- If your server is configured to use SSL for connecting to the repository, then click on Require SSL checkbox.
- Click Connect/Sign In:
- Select tables to connect to. To find out which one you need, see the next section.
Congratulations! You have successfully connected to Tableau Repository!
Note: For frequent or heavy usage, it is worth setting it to extract instead of live connection. Querying the Tableau Repository while Tableau is actively using it may impact the overall server performance.
Exploring the Repository
Finding the exact tables that you need in the Tableau Repository can be challenging, as there are many to choose from.
Fortunately, Tableau offers a data dictionary where you can find the description of every table and every field within it. Make sure to use the data dictionary that matches your Tableau version. The number in the URL indicates the version.
You can also contact InterWorks for expert guidance. With our Platform 360 Evaluation, we can provide you with a customized workbook that identifies and monitors the specific challenges on your Tableau platform.
Another option is to use some of the existing admin views that you can find on Tableau Community as a starting point.
Use Case Examples
You can use Tableau Repository for a wide range of use cases. The only limits are your creativity and time. It all depends on the questions you want to answer or the insights you want to gain.
Let me give you a sneak-peek into a very small section of our Platform 360 analysis as an example of a use case.
This dashboard shows how long it takes to load different dashboards during initial load and during interactions. You can select a dashboard and see how fast it loads depending on different factors, such as time of the day.
I find it particularly interesting to see some instances when a dashboard has both very fast and very slow load times, showing how caching affects the loading speed and how these dashboards can benefit from view acceleration:
The next dashboard shows how load times vary on a particular Tableau platform for different data sources and connection types. It’s interesting to see which data sources are particularly susceptible to live querying and which work almost equally performant live and extracted:
The next dashboard is an example of one of the multiple angles from which you can look at the backgrounder capacity utilization. We often see that clients have long queue times for extract refreshes but at the same time their backgrounders are busy running daily extract refreshes for content that is accessed monthly or not at all.
To make it worse, sometimes this takes place during peak hours, consuming hardware resources that would otherwise be available to render the dashboards faster and provide a better end-user experience.
Are you also paying for compute resources that do useless stuff? Go ahead and check your repository:
These three examples are specific and not very prescriptive by themselves. But when you combine them with other metrics from your Tableau platform, they can help you make informed decisions and take targeted actions for optimizing your platform and improving the end user experience.
Can I Access the Repository on Tableau Cloud?
It is not possible to access Tableau Repository directly on Tableau Cloud. However, similarly to Tableau Server, Tableau Cloud offers some ready-made tools to indirectly tap into some of the repository data. These are Administrative Views dashboards and Admin Insights data sources. Although these tools do not offer full access to the repository, they can still deliver valuable insights. How do I know this? We have worked with our clients to make the most out of this data and now it is also an integral part of our new KeepWatch solution.
Note: If access to Tableau Repository is not a deal breaker for you and you consider migrating to cloud, here you can find a full checklist to ensure a smooth migration.
I hope you have found this article useful. Check our blog posts for more information about Tableau Server and Cloud.