What is Tableau Architecture?
Tableau is one of the most popular data visualization software out of many. This is because of the components and tools that go hand in hand with its architecture. The architecture of Tableau defines the flow of components and tools from the servers to the end users.
This is the Tableau architecture diagram as shown below. It involves data structure and flow from Tableau data sources to end-users, enabling efficient data analysis and visualization.
Table of contents
Key Takeaways
- Tableau has a scalable, n-tier client-server architecture that serves web clients, mobile clients, and desktop-installed software.
- Tableau architecture defines the flow of components and tools from the servers to end users.
- Tableau can connect directly to various data sources such as databases, cloud services, etc. and perform data queries.
- Its various components include the application server, data server, backgrounder, Clients (Tableau Desktop), etc.
Tableau Architecture- 3-Tier Model
The Tableau architecture design can be categorized into three tiers. These tiers are:
- Data Source Tier
- Processing Tier
- Presentations Tier
#1 – Data Source Tier
This tier is responsible for connecting and storing the data required for Tableau. Once you connect a dataset to a data source, even if you delete the dataset from your system, it will remain in Tableau with no problems. This availability of data at all times also proves useful when you want to create queries or filters to change the data, so a copy of the original data still exists.
#2 – Processing Tier
After importing the dataset for the Data Tier, the process of filtering and analyzing the data for results is done in the processing tier. It is available in both the Tableau Server and the Tableau Desktop applications.
- Tableau Server
Data can be published, shared, and viewed on the Tableau server from Mobile and Web browsers. This creates a centralized database where you can download the data, share it with others, make it publicly available, and so on.
- Tableau Desktop
This allows users to import, manipulate, and create filters on the dataset of their choice. The Desktop version of Tableau also provides a visual interface with which users can drag and drop features, select filters, change the color of visualizations, and so on.
#3 – Presentation Tier
This tier deals with the visual results of the processing part using the data from the data tier. This is the culmination of the results from the previous two tiers. With a simple-to-understand UI, you can do multiple visualizations and customize them to your liking with fewer steps required.
- Visualizations: Tableau offers a plethora of tools and techniques for creating interactive graphs, which can help users better understand the data and detect trends/patterns to create forecasts.
- Dashboards: Tableau is best known for creating the best dashboards with a high range of user customization. Dashboards can be used to tell a story, give insights into data, and much more.
- Mobile Support: Tableau also provides support to view dashboards and visualizations via mobile devices.
- Embedding: Tableau dashboards/visualizations are very easy to embed into other applications, such as custom websites, using HTML/JavaScript, and also into other portals.
These are the basic points available in Tableau’s architecture. Learn more in detail about the Desktop and Server architectures in Tableau.
How Tableau Desktop Architecture Works?
It is a core component of the Tableau architecture design. Its core functionalities involve creating dashboards, interactive visualizations, and much more. This component also involves saving worksheets in Tableau Public or a public database so that the user can access it at any point, provided that they are logged in to the Tableau Public website.
There is also a free and paid service provided by Tableau Desktop, which users can keep in mind depending on their needs and requirements. Here is a simple flowchart diagram explaining the functionalities of the Desktop architecture.
Key Components of the Tableau Desktop Architecture
There are a few key components to keep in mind when working
- Data Connection Layer
It is the layer that works on importing the dataset to the workbook either by dragging and dropping it or by opening the files in your system by pressing “Ctrl+D” and navigating to the folder. These are the different types of data connectors which can be used:
- Native Connectors: Tableau provides built-in connectors to connect with data from SQL, Oracle, Google Analytics, and Excel. By connecting with this data, Tableau downloads a version of this dataset so that it is accessible every time you open that workbook.
- Web Data Connector: Tableau also provides the infrastructure to connect with web-based data or any APIs working on the web to create dynamic and real-time data.
- ODBC (Open Database Connectivity)/JDBC (Java Database Connectivity): Tableau has built-in support to work with real-time databases with the help of ODBC/JDBC with the basic drivers available to the user.
- Data Preprocessing Layer
This layer handles the segregation of data, defines relationships/schemas, preprocesses/cleans data and much more. All of these functionalities are explained in detail.
- Import Data: Once a dataset is imported to the Tableau workbook, Tableau automatically creates schemas, and relationship tables and creates different types of joins between different functions of the dataset (Inner Join, Outer Join and so on).
- Blend Data: Tableau can blend multiple datasets to perform dynamic visualizations and different insights.
- Data Preprocessing: Tableau provides filters and automatic ways to clear and clean data. With these filters, you can include and exclude any values that you need.
- Extract Creation: Once you have imported the dataset, Tableau saves a screenshot of it that can be accessed at any time. Because it is saved in the workbook, Tableau can optimize it and make it run at high speeds.
- Data Visualization and Analysis Layer
It is the main attractive point that makes people choose Tableau in the first place. Tableau provides a host of pre-rendered graphs and layouts for the user.
- Worksheets: In your workbook where the dataset has been imported, you can build multiple worksheets with different graphical methods. You can add custom data filters and parameters of your choice to manipulate the views.
- Dashboards: You can drag and drop the views from multiple worksheets to create a custom dashboard.
- Graphical Representation: Tableau boasts an array of different visualizations, from simple bar graphs to more complex graphs such as bubble charts and map visualizations.
- Story Narration: Using your visualizations and dashboards, Tableau provides the means to develop animations.
- Query and Computation Layer
In this layer, you can make queries for the dataset stored in Hyper format. Tableau has columnar storage and parallel processing to boot.
- VizQL: This is the Querying software used to translate the user’s actions into queries and actions. With VizQL, Tableau can simulate the drag-and-drop feature by translating the actions into queries for the application to understand.
- Data Engine: Can process multiple queries at high speed due to its columnar storage and parallel processing powers.
- User Interface Layer
The User Interface of Tableau employs one of the most user-friendly interfaces, with beginners being able to learn the layout. This user-friendliness extends to managers and business analysts using Tableau to show the sales dashboard, profit incentives, and so on.
- Format Options: Tableau provides a wide range of visualizations and colors in the RGB spectrum. If you do not like the standard color scheme provided by Tableau, you can choose a custom gradient.
- Tooltips: Users can merge visualizations from other worksheets to understand the attribute of a feature even better.
- Publishing Layer
After you finish your work in Tableau Desktop, several things can be done to save your progress.
- Upload to Tableau Public: Saving your dashboards/worksheets automatically saves them in the Tableau Public Cloud servers.
- Export: You can export your Tableau visualizations in multiple formats, such as Images (JPEG, PNG, etc.), PDF files, and Excel files.
How Tableau Server Architecture Works?
The Tableau Server Architecture helps facilitate the public deployment of dashboards and visualizations in the Tableau Server. It also handles the web-based authentication of Tableau dashboards by embedding it in websites and provides access to Tableau Public through mobile applications and high security. You must sign in every time you save or need to access a dashboard that has been saved previously.
It is the general workflow architecture of Tableau Server.
Key Components of the Tableau Server Architecture
These are the critical components of the Tableau Server Architecture, which are explained in detail.
- Data Server
The data server handles data optimization and querying. It partially stores the queries and their answers along with the dataset.
- Hyper Engine
It has columnar storage and boasts parallel processing powers similar to the Tableau Desktop version. It also stores queries and the user’s earlier results in Memory. - Data Connectivity
One of Tableau’s biggest advantages is its ability to connect to databases and files of different types (PDF, Excel, and so on). Tableau Server can connect to live databases and change the visualizations based on the queries in memory.
- VizQL Server
- Processing Queries
Tableau uses VizQL (Visualization Query Language) for users to make queries using visual cues such as dragging and dropping features, creating calculated fields, and so on. - Renders
The rendering engine of the Tableau server renders the visual elements through which the users can send queries to VizQL. It also renders visualizations in web browsers and mobile devices.
- VizPortal (Application Server)
The Application Server handles user authentication and sessions in the Tableau Server for security reasons. It also integrates well with other authentication systems, such as LDAP (Lightweight Directory Access Protocol), Active Directory, and so on.
- Load Balancer
The Load Balancer is an essential component of not only the Tableau Server but also many cloud applications. This application redirects the users/ IPs to the correct gateway based on their search requirements. Also, it has an automated scaling listener to add or subtract resources handling the POST requests for the Tableau server to prevent high traffic from crashing the servers.
- PostgreSQL
The Tableau Server data is stored in a PostgreSQL database. The database stores the configurations of the server, user permissions, metadata of the workbook and so on.
- Client Interface
Tableau provides state-of-the-art interface modules for many applications, as mentioned.
- Web Browser
With services and JavaScript code, Tableau dashboards/visualizations can be embedded into websites for insights and much more. - Mobile Devices
Tableau provides APIs and interfaces for users and managers to view Tableau dashboards and access its services on Mobile Devices. - Tableau Desktop
Tableau Server also provides the interface and storage for any dashboard/visualization created using Tableau Desktop.
- Backgrounder
The backgrounder runs tasks/queries made by users in the background. With its parallel processing powers, multiple tasks can be run simultaneously.
- Scheduled Tasks
Tableau can handle the refreshing of data in scheduled intervals to refresh its visualizations and update dashboards based on this data. - Long-Running Tasks
Some tasks may take a while to run completely. Tableau can push this to the background while the user handles other things in Tableau.
Frequently Asked Questions (FAQs)
1. Query Caching
• Storage: Caches query results on Tableau Server.
• Reuse: Reuses cached results for identical queries.
2. Visualization Caching
• Rendering Cache: Caches query results on Tableau Server.
• Client-Side Cache: Reuses cached results for identical queries.
3. Data Extract Caching
• In-Memory Cache: Caches data extracts (Hyper files) in memory.
• Disk-Based Cache: Stores extracts on disk when memory is full.
4. Application Caching
• Session Cache: Maintains session data to reduce authentication and setup times.
• Metadata Cache: Caches metadata such as schema information for faster access.
5. Backgrounder Caching
• Job Cache: Caches results of background jobs like extract refreshes to avoid redundant processing.
• Request Routing: Directs incoming client requests to appropriate Tableau Server components.
• Load Balancing: Distributes workload across multiple VizQL and Application Servers.
• Failover Management: Ensures continuity by rerouting traffic in case of server failure.
• SSL Termination: Manages SSL encryption and decryption for secure communications.
• Session Handling: Maintains user session information for ongoing interactions.
• Clustered Architecture: Distributes components across multiple nodes for load distribution.
• Horizontal Scaling: Adds more nodes or servers to handle increased demand.
• Vertical Scaling: Enhances capacity by upgrading hardware resources on existing servers.
• Load Balancing: Uses the Gateway to balance traffic and workloads across servers.
• Backgrounder Scaling: Allocates additional Backgrounder processes to manage scheduled tasks and extract refreshes.
• User Authentication: Supports LDAP, Active Directory, SAML, and OAuth.
• Role-Based Permissions: Controls access based on user roles and groups.
• Data Encryption: Encrypts data at rest and in transit using SSL/TLS.
• Row-Level Security: Restricts data access at the row level based on user roles.
Recommended Articles
Guide to What is the Tableau Architecture. We explain 3-tier Model, how desktop and server architecture works with components, and points to note. You can learn more from the following articles –
Leave a Reply