Tableau is one of the essential tools for Big Data professionals. It helps you in showing your data findings through detailed visualizations. Tableau is divided into many components; that’s why learning about Tableau architecture is essential for any data science aspirant. It makes data analytics easy and helps you perform a variety of tasks, including accessing databases, collaborate on projects, generate reports, and so on.
Sources for Data
Before you use Tableau for data visualization, you’ll need some data to work with. For that purpose, you’ll have to add a source of data to the Tableau architecture. The data source is the first component of this architecture. You can use a variety of sources for adding data to your server. These options include MySQL, Salesforce, Oracle, Excel files, and many others.
The best thing about Tableau is it can connect with multiple sources at once. It blends the data it receives from those sources to give you accurate results. You can combine various types of sources at once as well. This means you have the option to connect an Excel file along with a web application and extract data from them together.
You’ll need a data connector for transferring data from the sources to the server. Tableau uses an OBDC/SQL connector for this task. You can use this connection with any database through the database’s native connector.
Tableau provides you with two options for storing this transferred data. These options are:
- Real-time Data
- Extracted Data
Both of them have their specific features. Let’s discuss them in brief:
You can transfer data directly from an external source in this method. Tableau sends SQL statements and multi-dimensional expressions for transferring data. You wouldn’t have to import the data for using it. It’s useful when you need to use a data source that gets real-time updates.
You can use this method when you are using Tableau as a data visualization tool for a live data source.
Apart from relying on a live data source, you can retrieve data from a particular source as well. Tableau enables you to create a local copy of the data as an extract file. Tableau’s data extraction is capable of extracting millions of records from a data source. The straightforward interface ensures that data extraction doesn’t remain complicated for you.
You can store the extracted data in the Data Engine of Tableau. It saves the data in ROM, RAM and as cache memory for better accessibility. You also have the option of extracting specific records from a large dataset by using filters. This way, you can save many resources and complete the process faster.
Both of these features have their advantages. While real-time data lets you work with live data without facing any interruptions, extracted data gives you the option to use Tableau for visualization offline. You don’t have to be connected with a data source for using Tableau if you’re using extracted data.
Tableau Server is a vital component of Tableau. Its multiple components help in managing various tasks. It stores data in the repository, keeps the user’s data secure, and performs many similar essential tasks.
Components of Tableau Server
Data Engine optimizes the speed of analytical processes for better efficiency. It creates, refreshes or queries extracts. It can also help you with cross-database joins when you use data sources having several connections. Multiple other components (such as VizQL Server and Data Server) use the local instance of this component for performing cross-database joins. Apart from that, they use the Data Engine to produce shadow extracts as well.
Data Engine mainly works when you’re working with TDEs (Tableau data extract). It can store many TDEs and run them on various servers. It can also handle multiple requests at the same time for higher efficiency. It can save the extracted data from TDE if you need so.
The application server provides authentication and permissions. It handles login requests, user permissions, and domain authentication. It keeps your processes secure by recording each session in the Tableau server. It also handles processes related to the VizQL server that isn’t concerned with data visualization.
The gateway enables Tableau clients to communicate with the server through HTTP (or https). You can run a single gateway process on every node of the cluster of your server environment if needed. If your server is required to use SSL, make sure the certificate is at the same location in every computer connected to the cluster.
The Tableau server receives many requests, and it has to direct them to the right server. The gateway handles multiple processes related to the server. It sends files to clients, rewrites URLs, etc. When a client sends a request, it goes to the load balancer. The gateway distributes these requests from the load balancer to the appropriate components. The gateway can also act as a load balancer if the system lacks one.
As the name suggests, backgrounder performs tasks in the background. It handles the schedules of the server and data engine for better operation. It can manage multiple processes at the same time. Like the data engine, backgrounder consumes a lot of processing power on your server. Apart from TDEs, it also helps in rebuilding search indexes, checking available disk space, and synchronizing directory groups.
VizQL server converts data into visualizations, so it’s undoubtedly an essential component of Tableau server architecture. When a client requests for a visualization, it is sent to VizQL, which converts it into an SQL statement. Then, VizQL sends it to the data sources from which the request is sent back to VizQL. After that, it adds some calculates to it and sends the final product to the user.
VizQL server creates caches of the visualizations for reducing load times. If multiple users have permission to the visualization, they will also receive the cache of the same.
This component handles server metadata of assignments, users, projects, and permissions. Whenever a part requires any metadata, the repository sends the same accordingly. It also stores the visualizations in the form of flat files. It can also store performance data for future audits. It works with the active directory to send information to the application server for login verification.
It manages data from external sources. The data server handles storage, data connection, security, driver requirements, and metadata management. It also stores details related to the stored data such as parameters, calculations, etc. The data server enables you to centralize metadata management. It also handles requests for preventing any users from accessing a data source.
License and Search
The license component, as the name suggests, handles the licensing tasks of the server. On the other hand, the search section lets you search the index in the repository for your requirements. While these components might seem simple, they are essential for the proper functioning of the server.
You must’ve noticed how vast the Tableau architecture is. Now that you know about Tableau server, we can take a look at the next section, Tableau clients.
Tableau Clients (Desktop, Mobile, and Browser)
The mobile devices, on-cloud, web apps, and on-premise interfaces you use for accessing Tableau are called clients. These end-users interact with the server for accessing visualizations or data. You’d send the requests for accessing the data through the client, who’d then display the visualizations accordingly.
Web browsers such as Safari, Google Chrome, and Mozilla Firefox can let you edit the contents of your visualization through the dashboards of Tableau Online. You can also use Tableau Desktop for this purpose. It enables you to create and manage the dashboard in the server. Tableau also lets you access and use the server through mobile applications.
Tableau desktop helps you in creating the dashboard, workbooks, and visualizations by using the data you received from sources. You can also publish the results into the server for future use. This tool also lets you create custom designs for your dashboards according to tablets, phones, and PCs.
How Tableau Server Architecture Works
The various components of Tableau server architecture work together for giving you the required results. The server facilitates communication between data connectors and visualizers. After discussing the specific functions of different components, let’s see how they all work together.
- First, the data sources send the data through connectors, where it goes through the data engine and repository. The data engine processes the received data and assigns its values accordingly (such as data type and dimension).
- The SQL connector, a section of the data engine, generates an SQL query for processing the user requests.
- After those components comes the data server. It handles the operation of the data connectors to make sure they work correctly. Then the data is sent to the VizQL server and then to the Application server. While the application server determines which type of request it is receiving, the VizQL server creates the required visualizations.
- In the final stage, the gateway handles the queries and user requests. It acts as a primary server if required, sends requests to secondary servers.
Want to Learn More about Tableau?
Tableau is a powerhouse when it comes to data analytics. In this guide, we learned about Tableau architecture, its server and the components of the same. You must’ve seen how its various parts work together to give you a powerful data visualization tool. Many organizations use Tableau.
The support for this tool is also highly impressive. They release regular updates, so you don’t face issues with bugs or any other technical causes. You can learn more about Tableau and data analytics tools in our blog.
If you are curious to learn about Tableau, check out IIIT-B & upGrad’s PG Diploma in Data Science which is created for working professionals and offers 10+ case studies & projects, practical hands-on workshops, mentorship with industry experts, 1-on-1 with industry mentors, 400+ hours of learning and job assistance with top firms.