Tableau Server is designed in a way to connect many data tiers. It can connect clients from desktop, mobile, and web. Tableau Desktop is a robust data visualization tool. It is highly available and secure.
It can run on both virtual and physical machines. It is a multi-user, multi-process and multi-threaded system.
Providing such powerful features requires a robust architecture. Let's study the Tableau Server Architecture in this tutorial.
In this tutorial, you will learn
- Tableau Server Architecture
- Data Server
- Data Connectors
- Components of Tableau Server
The various layers used in the Tableau server are given in the following architecture diagram
Let's study the different components of Tableau Architecture
The primary component of Tableau Architecture is the Data sources it can connect to it.
Tableau can connect to multiple data sources. These data sources can be on-premise or remotely located. It can connect to a database, excel file, and a web application all at the same time. Tableau can connect data from heterogeneous environments. It can blend the data from multiple data sources. It can also make the relationship between various types of data sources.
The Data Connectors provide an interface to connect external data sources to Tableau Data Server.
Tableau has in-built ODBC/SQL connector. This ODBC Connector can connect to any databases without using their native connector. Tableau has an option to select both live and extract data. Based on the usage, one can be easily switched between extracted and live data.
- Live Connection or Real time data: Tableau can connect to real time data by linking to the external database directly. It uses the infrastructure of existing database system by sending dynamic MDX (Multidimensional Expressions) and SQL statements. This feature can link to the live data with Tableau rather than importing the data. It makes good the investment done by an organization on a fast and optimized database system. In many enterprises, the size of the database is huge and is updated periodically. In those cases, Tableau works as a front-end visualization tool by connecting to the live data.
- Extracted or In-memory data: Tableau has an option to extract the data from external data sources. We can make a local copy in the form of tableau extract file. It can extract millions of records in Tableau data engine with a single click. Tableau's data engine uses storage such as RAM, ROM and cache memory to store and process data. Using filters, Tableau can extract few records from a huge dataset. This improves the performance, especially while working on massive datasets. Extracted or in-memory data allows the users to visualize the data offline, without connecting to the data source.
The different components present in a Tableau server are:
- Application Server
- VizQL Server
- Data Server
A) Application Server:
The application server is used to provide the authentications and authorizations. It handles the administration and permission for web and mobile interfaces. It assures security by recording each session id on Tableau Server. The administrator can configure 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 VizQL process, it sends the query directly to data source and retrieves information in the form of images. This image or visualization is presented to the user. Tableau server creates a cache of visualization to reduce the load time. The cache can be shared across many users who have the permission to view the visualization.
C) Data Server:
Data server is used to manage and store the data from external data sources. It is a central data management system. It provides metadata management, data security, data storage, data connection and driver requirements. It stores the relevant details of data set such as metadata, calculated fields, sets, groups, and parameters. The data source could extract data as well make live connections to external data sources.
The gateway channelizes the requests from users to Tableau components. When the client makes a request, it is forwarded to external load balancer for processing. The gateway works as a distributor of processes to various components. In case of absence of external load balancer, gateway also works as a load balancer. For single server configuration, one primary server or gateway manages all the processes. For multiple server configurations, one physical system works as primary server while others are used as worker servers. Only one machine can be used as a primary server in Tableau Server environment.
The dashboards and visualizations in Tableau server can be viewed and edited using different clients. The Clients are Tableau Desktop, web browser and mobile applications.
Tableau Desktop is a business analytics tool. It helps to create, view and publish dashboards in Tableau Server. Users can access various data sources and build visualizations in Tableau Desktop.
The dashboards from the server can be interactively visualized using mobile browsers and applications. The browser and application can be used to view and edit the contents in the workbook.
Web browsers such as Google Chrome, Safari, Firefox and internet explorer support the Tableau server. The contents and visualizations in the dashboard can be edited through these web browsers.
- The architecture of Tableau Server is designed to connect different data sources securely.
- Data Server is the first layer in the architecture. It helps Tableau to connect data in various heterogeneous environments.
- Data connector is the second layer. It helps to connect to various databases using its ODBC connector.
- Tableau can connect the real time live data by connecting the database directly. It can also extract a local copy of data through its in-memory data store for faster processing.
- The components such as Application Server, VizQL Server, and data server act as the third layer.
- The application server is used for authentications and authorizations.
- VizQL is used to convert the SQL query into visualizations.
- Data Server is a centralized data management system used in the architecture.
- A gateway is used to distribute the processes into different components.
- The fourth layer of the architecture are the clients such as Tableau Desktop, web and Mobile.