Tableau Server Guide: Architecture & Core Process

Tableau Server Guide: Architecture & Core Process

When operating Tableau Server, you may encounter various technical issues, such as slow dashboard loading speeds or extract refresh failures on specific nodes. To resolve these problems based on logic rather than intuition, it is essential to accurately understand how Tableau Server works internally—specifically, its Architecture.

In this post, we will explore the roles and interaction principles of the 9 core processes that support Tableau Server in detail.


Tableau Server Architecture Overview

Tableau Server may look like a single program from the outside, but it is actually a distributed system where multiple Processes performing various roles are organically connected.

When a user sends a request to the server via a web browser or Tableau Desktop, this request first passes through the Gateway, the server's gatekeeper. Afterward, the request is delivered to and processed by the appropriate internal process depending on the nature of the request (login, dashboard view, data extraction, etc.).

Thanks to this structure, Tableau Server can be installed on a single computer (node), or, as the number of users increases, it can be expanded into a Cluster where processes are distributed across multiple computers to balance the load. In other words, understanding the architecture means grasping this flow of data and the role of each process.


1. Gateway

The starting point for all requests.

  • Role: Receives requests from clients (browsers, desktops, etc.), routes them to the appropriate internal processes, and performs load balancing.
  • Features: Based on Apache HTTP Server. It handles static files like images or CSS directly without passing them through internal processes.

2. Application Server

Responsible for most of the interfaces users experience on the web portal (VizPortal).

  • Role: Handles login (authentication) and authorization, and renders the web UI for content navigation and search.
  • Features: Processes REST API requests. While resource usage is generally low, load can occur in environments with frequent API calls.

3. Search & Browse

The hidden assistant responsible for content search within the server.

  • Role: Provides the search indexes needed when users search for projects or workbooks.
  • Features: Based on Apache Solr technology. It indexes repository metadata to support fast searching.

4. VizQL Server

The heart of Tableau technology and the visualization engine.

  • Role: Converts user drag-and-drop actions (visual requests) into SQL queries and renders the results fetched from the database back into graphical form.
  • Performance: It has the most significant impact on dashboard loading speeds and is a process that consumes a large amount of CPU and memory.

5. Cache Server

Shared memory storage for server performance optimization.

  • Role: Shares query results among various processes like VizQL Server, Backgrounder, and Data Server to prevent duplicate calculations.
  • Features: Based on Redis (in-memory data store). When configured properly, it can drastically improve dashboard response speeds.

6. Data Server

The Proxy responsible for Tableau's powerful data governance.

  • Role: Passes client queries to the actual database and performs centralized permission management for data sources.
  • Advantage: Enables multiple workbooks to share a single data connection via Published Data Sources, thereby reducing the load on the database.

7. Data Engine & File Store

The duo for high-performance data processing.

  • Data Engine: Generates and queries Extract files based on 'Hyper' technology. It maximizes CPU and memory resource usage to deliver high performance.
  • File Store: Automatically replicates extract files (.hyper) between nodes to ensure data is synchronized and accessible from any node.

8. Backgrounder

The scheduler working behind the scenes.

  • Role: Processes scheduled tasks such as Extract Refreshes, subscription email sending, and alert notifications.
  • Operation Tip: Since this task consumes a significant amount of CPU, it is recommended to separate it onto an independent node away from VizQL (visualization) nodes to ensure stable operation.

9. Repository

The place where all server metadata is stored.

  • Role: Stores all data necessary for server operation, such as user information, groups, permissions, and content locations.
  • Features: Based on a PostgreSQL database.

Clearly understanding the role of each Tableau Server process is the foundation for troubleshooting and performance tuning. In the next post, we will cover 'Performance Optimization and Tuning' based on this knowledge.