Tableau Server - 101 Prepared By: Ojoswi Basu Certified Tableau Consultant LinkedIn: https://ca.linkedin.com/in/ojoswibasu
Introduction Tableau Software was founded on the idea that data analysis and subsequent report development should be integrated into a single self-serve, visual analysis process. Tableau combines data exploration and data visualization into an easy-to-use and learn application Tableau Software has been ranked by Gartner and IDC in 2011 as the world s fastest growing business intelligence company. Tableau helps to quickly and easily analyze, visualize and share information. More than 7,000 companies get rapid results with Tableau
Tableau Server Tableau Server Architecture Tableau has a scalable, n-tier client-server architecture that caters to mobile clients, web clients and desktop-installed software. Tableau Desktop is a thickclient software for developing workbook and publishing to Tableau Server. Tableau Server is an enterprise-scale business analytics platform that: Scales up multi-threaded Scales out multi-process environment Supports High Availability Gateway/Load Balancer App. Server VizQL Data Server Data Connectors
Tableau Server Components 1. Clients: a) Web Browsers and Mobile Apps: Tableau Server renders interactive dashboards to users via zero-footprint HTML and JavaScript (AJAX) in a web browser, or natively via mobile app. Tableau Server supports Web browsers: Internet Explorer, Firefox, Chrome and Safari Mobile Safari: Touch-optimized views are automatically served on mobile Safari ipad app: Native ipad app that provides touch-optimized views and content browsing Android app: Native Android app that provides touch-optimized views & content browsing Android browser: Touch-optimized views are automatically offered in Android browser. b) Tableau Desktop: This is the GUI drag-n-drop development environment used to create and publish workbooks to Tableau Server. Using Tableau Desktop, a report author can connect to multiple data sources, explore relationships, modify metadata 2. Gateway/ Load Balancer: Requests from the client first hit the gateway server and then get routed to the appropriate process. If multiple processes are configured, the Gateway act as a load balancer and distributes the requests to the available processes. In a single-server configuration, all processes are hosted on the primary server.
Tableau Server Components 3. Application Server: The wgserver.exe processes handles browsing and permissions for Tableau Server web and mobile interfaces. Soon as user opens a published report on browser, the Application Server thread starts and checks permissions for that user for that report. 4. VizQL Server: Once a report is opened, the client sends a request to via the VizQL process (vizqlserver.exe)which in turn sends query(ies) directly to datasource, returning a result set rendered as images and presented to the user. Each VizQL Server has its own cache. 5. Data Server: Centrally manages and stores Tableau data sources. It maintains metadata (like calculations, definitions, group, aliases and hierarchies) from Tableau Desktop 6. Backgrounder: Refreshes scheduled extracts and manages background tasks.
Server Deployment Models Below are six examples of common configurations: 1. Simple Configuration: Single server with recommended minimum hardware configuration (8 CPU cores and 32GB of main memory). Tableau recommends running two instances of each major process: Data Server, Application Server, VizQL Server and Backgrounder on a single server. 2. Moderate Configuration: 3-Server (24-Core) Cluster with Gateway. The primary Server hosting Backgrounder, Repository and Extract sends requests to the worker machines. An administrator can configure the number and type of processes running in the system to support extract usage. 3. Heavy Configuration: 5-Server 40-Core Cluster to support heavier data usage or higher user load. Typically isolate the Repository and Extract on one machine, The backgrounder(s) on another, and let the VizQL and Application servers reside on the other worker machines. 4. High Availability Cluster helps IT organizations meet SLAs, minimize downtime and provides automatic failover capabilities for the Repository and Data Engine components. A minimum of 3 nodes are required in a High Availability environment. Tableau Server can be configured to sends email alerts to specified administrators in case of fail-over. 5. Virtual Machine or 6. Cloud-Based Deployment: There are no special considerations when running Tableau Server on virtual machines or in a cloud. Tableau Server requires static IP addresses.
Server Access Security Tableau Server provides comprehensive security solutions that balance the variety of sophisticated requirements with easy implementation and use. Enterprise-level security features manage authentication, permission, data and network security. Authentication Access Security: first level of security to establish user s identity. This prevents unauthorized access and helps personalize each user s experience. Typically referred to as authentication. Tableau Server supports three types of authentication security to the system: i. Microsoft Active Directory ii. Local authentication managed by Tableau Server iii. Trusted authentication protocol Tableau Server and one or more web servers. Tableau provides automatic login timeouts that can be configured by administrators.
Server Object Security Roles and Permissions - Object Security: A role is a set of permissions applied to manage how users/groups can interact with objects such as projects and published content (data sources, workbooks, and dashboards). These permissions allow users to view, create, modify, and delete published content. i. Projects control the default permissions for all workbooks published to that project. ii. iii. Administrators can create 'groups' of users to manage permissions easily Roles provide a default permission structure to differentiate users. There are over 20 parameterized customizations available to help manage object security. These role-based permissions do not control what data will appear inside a report.
Server Data Security Tableau offers flexibility in managing data security in three different ways: i. Implement the security solely in the database ii. iii. Implement security solely in Tableau Create a hybrid method where user information in Tableau Server has corresponding data elements in the database. When a user logs into the Tableau Server, they need to have credentials to log in to the DB for database level security to be applied. These login credentials can be passed using a) Windows Integrated Security (NT Authentication), b) Embedding the credentials into the view at publish time or c) Prompting for specific user credentials at report run time. Tableau also provides a User Filter capability that can enable row-level data security using the username, group, or other attributes of the current user. The filter appends queries with a where clause to restrict the data retrieved. This can be used with all data sources.
Server Network Security Network - Transmission Security: For external deployments, there are three main network interfaces to the Tableau Server i. Client-to-Tableau Server interface defaults to standard HTTP requests and responses but can be configures for HTTPS with customer security certificates. ii. iii. Tableau Server-to-database uses native drivers by default or generic ODBC adapters when native drivers are not available. Secure communication between Tableau Server components is only applicable in distributed deployments and is done using a trust model to ensure each server receives valid requests from other servers in the cluster. Additionally, there are a variety of encryption techniques to ensure security from browser to server to data repository and back, even when SSL is not enabled. Tableau also has built-in security mechanisms to help prevent spoofing, hi-jacking, and SQL injection attacks, which gets updated monthly.
Server Metadata Management Tableau has a hybrid approach so that IT can add value by providing a rich metadata layer. The metadata layer does not require extensive modeling exercises before getting started. Tableau s metadata system is a 3-tier system with 2 layers of abstraction and a run time VizQL Model. i. VizQL Model: This is the third layer, patented and unique to Tableau. VizQL Model allows users to adjust role and/or aggregation of the fields at run time. For example, user can change a measure to a dimension. Many calculations and comparisons that are difficult to define in a typical data model are easy to define in the VizQL Model. ii. iii. Data Model: This is the second layer which automatically characterizes fields as dimensions and measures. When connecting to cubes, the fields are read directly from the metadata in the cube. In relational data, Tableau uses heuristics to determine whether a field is a dimension or a measure. The Data Model also keeps track of usergenerated fields, such as data sets and calculations. The Data Model is independent and insensitive to changes in the Connection. Connection: This is the first layer of abstraction, which stores information about how to access the data and what data to make available to Tableau. It includes attributes for database, tables, views, columns, joins, or custom SQL used to access the data.
Metadata Model Ability to combine data from different Data Sources into one hybrid model without any changes to the Connections or Data Models. Data Models can have dependency on other Data Models. A Connection can be used in multiple Data Models. A Data Model can be used in multiple sheets and Multiple views can be used in a dashboard. VizQL Model Filters Aggregations Blends Table Calculations Data Model Comments/Description Calculations Aliases Connection DB Server Connection Attributes Tables and joins
Questions? Contact Ojoswi Basu LinkedIn: https://ca.linkedin.com/in/ojoswibasu