Architecture of Tableau

Tableau Architecture

Tableau Server is designed to connect many data tiers. It can connect clients from Mobile, Web, and Desktop. Tableau Desktop is a powerful data visualization tool. It is very secure and highly available.

It can run on both the physical machines and virtual machines. It is a multi-process , multi-user , and multi-threaded system.

Providing such powerful features requires unique architecture.

The different layers used in Tableau server are given in the following architecture diagram:-

Tableau Architecture

Let’s study about the different component of the Tableau architecture:

1. Data server:- The primary component of Tableau Architecture is the Data sources which can connect to it.

Tableau can connect with multiple data sources. It can blend the data from various data sources. It can connect to an excel file, database , and a web application at the same time. It can also make the relationship between different types of data sources.

2. Data connector:- The Data Connectors provide an interface to connect external data sources with the Tableau Data Server.

Tableau has in-built SQL/ODBC connector. This ODBC Connector can be connected with any databases without using their native connector. Tableau desktop has an option to select both extract and live data. On the uses basis, one can be easily switched between live and extracted data.

  • Real-time data or live connection: Tableau can be connected with real data by linking to the external database directly. It uses the infrastructure existing database by sending dynamic multidimensional expressions (MDX) and SQL statements. This feature can be used as a linking between the live data and Tableau rather than importing the data. It makes optimized and a fast database system. Mostly in other enterprises, the size of the database is large, and it is updated periodically. In these cases, Tableau works as a front-end visualization tool by connecting with the live data.
  • Extracted or in-memory data: Tableau is an option to extract the data from external data sources. We make a local copy in the form of Tableau extract file. It can remove millions of records in the Tableau data engine with a single click. Tableau’s data engine uses storage such as ROM, RAM , and cache memory to process and store data. Using filters, Tableau can extract a few records from a large dataset. This improves performance, especially when we are working on massive datasets. Extracted data allows the users to visualize the data offline, without connecting to the data source.

3. Components of Tableau server: Different types of component of the Tableau server are:

  • Application server
  • VizQL server
  • Data server

A. Application server: The application server is used to provide the authorizations and authentications. It handles the permission and administration for mobile and web interfaces. It gives a guarantee of security by recording each session id on Tableau Server. The administrator is configuring the default timeout of the session in the server.

B. VizQL server: VizQL server is used to convert the queries from the data source into visualizations. Once the client request is forwarded to the VizQL process, it sends the query directly to the data source retrieves information in the form of images. This visualization or image is presented for the users. Tableau server creates a cache of visualization to reduce the load time. The cache can be shared between many users who have permission to view the visualization.

C. Data server: Data server is used to store and manage the data from external data sources. It is a central data management system. It provides data security, metadata management, data connection, driver requirements , and data storage. It stores the related details of data set like calculated fields, metadata, groups, sets , and parameters . The data source can extract the data as well as make live connections with external data sources.

4. Gateway: The gateway directed the requests from users to Tableau components. When the client sends a request, it is forwarded to the external load balancer for processing. The gateway works as a distributor of processes to different components. In case of absence of external load balancer, the gateway also works as a load balancer. For single server configuration, one gateway or primary server manages all the processes. For multiple server configurations, one physical system works as a primary server, and others are used as worker servers. Only one machine is used as a primary server in Tableau Server environment.

5. Clients: The visualizations and dashboards in Tableau server can be edited and viewed using different clients. Clients are a web browser, mobile applications , and Tableau Desktop .

  • Web Browser: Web browsers like Google Chrome, Safari , and Firefox support the Tableau server. The visualization and contents in the dashboard can be edited by using these web browser.
  • Mobile Application: The dashboard from the server can be interactively visualized using mobile application and browser. It is used to edit and view the contents in the workbook.
  • Tableau Desktop: Tableau desktop is a business analytics tool. It is used to view, create , and publish the dashboard in Tableau server. Users can access the various data source and build visualization in Tableau desktop.