Tableau Server

Triggering Extract Refreshes with tableau_tools

If you have ETL processes that must run before your extracts can generate, it may make more sense to trigger an extract refresh (or the schedules) to run after the ETL has finished, rather than setting the extracts on a schedule. It maximizes your backgrounder processes by feeding their queues immediately when data is ready, and saves wasted effort if the ETL process fails.

As of Tableau Server version 10.0, there are no REST API commands to do this triggering, but tabcmd does have commands that can accomplish this. The tableau_tools Python library  has a Tabcmd class that wraps the most common tabcmd commands, including those for extract refreshes. Together with the tableau_rest_api sub-package, you can trigger off extract refreshes.

Note: Please use the latest version of tableau_tools (3.1.0+) to do the following.

(more…)

Advertisements

Using IPsec to Encrypt Tableau Server Intra-node Communication

If you want to run Tableau Server in a cloud hosted environment, like AWS, you may have concerns about unencrypted traffic between the nodes of the Tableau Server. Of course, you will have configured the Tableau Server to use SSL for external communications, and configured the internal repository to communicate via SSL, but what about data server, the data engine, etc.?

The best method to protect all of that communication is to enable IPsec via the Windows Firewall with Advanced Security pane in the Administrative Tools of Windows Server. I’m no expert on these things, so any questions, comments or discoveries are very welcome, but this seems to work in a basic AWS test cluster. I’ve heard you can control all of this policy stuff from a domain controller rather than configuring each machine, so don’t take this as the only way to configure IPsec.

(more…)

Tableau on Azure

“Tell us about Tableau on Azure”. “Does Tableau run on Azure?” There is probably no more confusing question at the moment, because the terminology for Microsoft Azure is unclear, and Microsoft have been making changes to both the technology and the nomenclature so quickly that it’s best to step back and understand the ways in which Tableau can interact with the Azure platform.

There are three different situations can fall under the “Tableau and Azure” moniker, all of which are possible:

  1. Tableau Server hosted on a Virtual Machine in Azure
  2. Tableau Desktop or Server connecting to the Microsoft run and operated Azure SQL Database
  3. Tableau Desktop or Server connecting to a database (often Microsoft SQL Server) on a hosted Virtual Machine in Azure

Tableau Server on a hosted VM

Much like AWS, Tableau Server can be run on a hosted VM in the Microsoft Azure cloud. Russell Christopher has done an excellent job of testing out the available VM and storage configurations available in Azure and making recommendations on what is necessary for good performance with Tableau Server. If you want to host Tableau Server on Azure, stop now and read Russell’s blog.

In virtualized environments, disk access / IOPS tends to be the biggest hidden issue for Tableau Server performance, particularly if you are using extracts. This is true of Azure, AWS, and also your internal VMWare configuration.

The official Tableau KB article on installing Tableau Server on Azure is now available here .

Tableau Desktop and Server connecting to Azure SQL Database

Here is where the wording gets fun (i.e. confusing). As if “SQL Server” wasn’t already a generic enough name, Microsoft refers to their managed and hosted cloud database, based on “SQL Server”, as “Azure SQL Database”. Internally, it is very similar to SQL Server, and as of Tableau 9.1, you simply connect via the standard Tableau native connector for Microsoft SQL Server. Put in your credentials, and you are good to go.

Tableau Desktop and Server connecting to a Microsoft SQL Server database on a hosted VM in Azure

You can also put a database (usually Microsoft SQL Server) on a hosted VM in Azure. Luckily, to Tableau Desktop and Server, the process for connecting is identical to that of any SQL Server connection: put in your credentials and viola!

Utilizing Tableau Server’s Search Server in an Embedded Portal

Tableau Server 9.0 has an amazing search functionality — if you type in values into the top search box, it looks across everything available in the Tableau Server instantly and brings back results incredibly quickly. It’s not any particular secret that the Search & Browse process is powered by Apache Solr/Lucene . It’s a blazing fast piece of technology that supports a lot of the instantaneous feel in Tableau Server 9.0 (the portal and the REST API also use Solr).

I was asked recently how to do some of the same search functionality that exists in Tableau Server 9.0, but in an embedded portal. Some of it is possible via the REST API, while other requests would require opening up the PostgreSQL Repository. I wasn’t even sure some of the requests were possible — yet when I typed into the multi-search box, it seemed to be searching across all of the attributes we were looking to tap into.

(more…)