/    /  Tableau Architecture

Tableau Architecture

 

In order to understand Tableau’s architecture, let’s first understand the bigger picture; let’s discuss the entire framework in which it operates. There are three main segments in it. The segments are as follows:

  1. Data Sources
  2. Tableau Server
  3. Tableau Desktop and the clients.
  1. Data Source

In the first section of Tableau architecture, a user can extract data from a variety of data sources, including SAP, Oracle, Salesforce, Excel files, MySQL, Teradata, among others. The user can establish a data connection in two ways; a live data connection that sends instant queries to the data source and receives results immediately. It is also possible to extract data from the data source and store it locally as a temporary database. A live connection or an extraction can be used to fetch data into both Tableau Desktop and Tableau Server.

  1. Tableau Server and Desktop

In order to understand Tableau Server, let us first discuss Tableau Desktop, which is the platform through which a user initiates further action. Depending on the user’s request, all other architectural components are assigned actions. Using Tableau Desktop, users can create visualizations, workbooks, and dashboards using data from the data source. There are many ways in which these workbooks or visualizations can be shared with users. It can be shared with static users (for viewing only), web or mobile clients, and workbook packages can be shared to Tableau Reader for viewing and editing. In addition, the visualization can be published or loaded into Tableau Server.

Tableau Server manages a number of important processes by integrating many components. It consists of components which take care of the user and data security, a repository for storing all visualizations published to the Server, a cache to improve performance, a manager/automation to handle data loads and schedule updates, and a presentation layer which is responsible for all visualizations and presentations. Tableau Server serves primarily the web and mobile users interacting with Tableau data.

  1. Clients

As the name implies, clients are the end users who access Tableau via the web, mobile devices, on-premises, on-cloud, or through a command-line interface for development. It is primarily Tableau Server that is used by these end users to access workbooks and visualizations. The server components then respond to the client’s request and return the result.

Tableau Server Components

In the section earlier, we discussed Tableau Server as a crucial component of Tableau’s architecture, as it is carefully designed to manage and execute critical business processes. Since Tableau Server is a core component of Tableau, it is important for us to understand what it does under the hood.

Let us examine the components of Tableau Server and learn how they function.

  1. Gateway

Gateways are web servers that facilitate communication between clients and servers via HTTP or HTTPS. Client requests are received by the server and directed to the appropriate server for processing. Gateways perform tasks such as load balancing, traffic routing, URL rewriting, serving static files to clients, serving multi-thread processes, etc. Apache Tomcat is the gateway server used by Tableau.

  1. Application Server

The gateway is primarily responsible for interacting with the application server, also known as the workgroup server. Login processes, domain authentication, data authorization, user and group permission management, content searches, etc., are handled by the application server. Working closely with the server’s repository, it handles data access operations. Moreover, it renders processes related to the user interface, other than the visualizations, which are handled by the VizQL server. A user interface provides an overview of the workbooks and projects that are available to the user.

  1. Repository

Tableau Server’s repository stores server metadata related to users, permissions, assignments, groups, and projects. Along with the metadata, it also stores visualizations in flat files (TWS, TDS) and performance data for auditing purposes. Whenever a server service or component requires metadata, it is obtained from the repository. In addition, it cooperates with active directory to provide login verification information to the app server.

  1. VizQL Server

As a component of Tableau Server, it is responsible for loading all the visualizations you see and interact with. For improved performance and editing tasks, it includes a built-in caching feature. As soon as a user requests a visualization or wishes to update an existing one, VizQL converts the request into an SQL statement and passes it along to the data sources via their respective data source drivers. VizQL receives the requested data back from the data source, where it is processed with some final touches of additional calculations before being sent to the end user. VizQL caches any new visualization coming from the data source for later use.

  1. Data engine

A data engine is another efficient component that manages Tableau data extraction (TDE). TDE is invoked only when a query is shot that involves data from TDE. The data engine can store multiple TDEs and run on a maximum of two servers. The system is also capable of handling multiple requests in parallel at any given time. On receiving a request from the user, the data engine hosts the piece of data in-memory obtained from the TDE.

  1. Backgrounder

Backgrounder is a multi-process element that manages the schedule for updating information and ensures the proper operation of Tableau Server and Data Engine.

  1. Data Server

As a result of the data server, metadata management, driver deployment, and extract management can be centrally managed. As well as providing access control, it also serves as a proxy to the data sources. By hosting user queries and requests, it prevents direct access to the data source by users.

  1. Search and License

Search and license are also important components. Search indexing is managed by the search component. The license component is responsible for licensing and configuring the Tableau server. In Tableau’s server cluster, both of these services run on the primary server.

Thus, this is how we can analyze the architecture of tableau.