Download presentation
1
Tableau Software Australia
PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia
2
©2011 Tableau Software Inc. All rights reserved.
What we will cover… Architecture Scalability & Availability Caching ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
3
©2011 Tableau Software Inc. All rights reserved.
Overview ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
4
Tableau Desktop Tableau Server
extract Information consumers (Tableau Reader) connect live Tableau Desktop Self-service visual data analysis Data Server Repository Cache Presentation extract connect live Security Web & mobile users (Tableau Server interactors) Management/Automation Tableau Server Rapid fire business intelligence
5
©2011 Tableau Software Inc. All rights reserved.
Architecture ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
6
©2011 Tableau Software Inc. All rights reserved.
Terminology Process – an instance of a computer program that is being executed. It has its own set of resources (e.g. memory) that are not shared with other processes. Thread – a process may run multiple threads to perform instructions in parallel. Threads within a process share resources (e.g. memory). Server – a program running to serve the requests of other programs. The term is also used to refer to a physical computer dedicated to run one or more services. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
7
Tableau Server
8
Data Tableau Server Relational OLAP Files
9
Data Tableau Server Clients
Relational Browser/Mobile Tableau Desktop OLAP Files Command Line Tools
10
Gateway/Load Balancer
Data Tableau Server Clients Gateway/Load Balancer Receives incoming client requests and directs them to the appropriate service for action Acts as a load balancer, routing traffic round-robin to service instances Returns HTML responses to client Single-process; multi-threaded Relational Browser/Mobile Tableau Desktop OLAP Files Command Line Tools
11
Gateway/Load Balancer
Data Tableau Server Clients Gateway/Load Balancer Processes logins, content searches, user/group/permission management, and other tasks not related to visualizing data Works in conjunction with data stored in the Repository Multi-server; multi-process; multi-threaded Relational Browser/Mobile Tableau Desktop OLAP App Server Files Command Line Tools
12
Gateway/Load Balancer
Data Tableau Server Clients Gateway/Load Balancer Stores Tableau Server metadata: users, group assignments, permissions, projects, etc. Also stores flat files used as data sources Responds to queries from other services when they need metadata Has a SQL interface so external applications can connect (read-only) Relational Browser/Mobile Tableau Desktop OLAP Repository App Server Files Command Line Tools If used, verifies authentication in conjunction with the App Server and Repository Active Directory
13
Gateway/Load Balancer
Data Tableau Server Clients Data Source Drivers Gateway/Load Balancer Provides same functionality as Tableau Desktop, processing requests related to data visualisation Includes built-in caching (more on this later…) Multi-server; multi-process; multi-threaded Relational Browser/Mobile Native drivers need to be installed for each data source (32-bit) VizQL Server Tableau Desktop OLAP Repository App Server Files Command Line Tools Active Directory
14
Gateway/Load Balancer
Data Tableau Server Clients Data Source Drivers Gateway/Load Balancer Data Extract Host Relational Browser/Mobile VizQL Server Tableau Desktop OLAP Invoked when a visualisation including a data extract is published Stores and processes data extracts Multi-threaded; 64-bit Repository App Server Files Command Line Tools Active Directory
15
Gateway/Load Balancer
Data Tableau Server Clients Data Source Drivers Gateway/Load Balancer Backgrounder Data Extract Host Relational Browser/Mobile VizQL Server Tableau Desktop OLAP Controls tasks that ensure Tableau Server is running smoothly and efficiently When the Data Extract Host is used, also handles scheduled data refreshes Multi-server; multi-process Repository App Server Files Command Line Tools Active Directory
16
Gateway/Load Balancer
Data Tableau Server Clients Data Source Drivers Gateway/Load Balancer Data Server Invoked when a data source is published via Tableau Desktop Serves as proxy between requests for data and individual data sources Enables centralized metadata management for data sources and an additional layer of access control Allows centralized driver deployment Allows multiple workbooks to us the same data extract Multi-server; multi-process; multi- threaded; 32-bit Backgrounder Data Extract Host Relational Browser/Mobile VizQL Server Tableau Desktop OLAP Repository App Server Files Command Line Tools Active Directory
17
Gateway/Load Balancer
Data Tableau Server Clients Data Source Drivers Gateway/Load Balancer Data Server Backgrounder Data Extract Host Relational Browser/Mobile VizQL Server Tableau Desktop OLAP Repository App Server Files Command Line Tools Active Directory
18
Server Monitoring ©2011 Tableau Software Inc. All rights reserved.
19
©2011 Tableau Software Inc. All rights reserved.
What you see running… ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
20
Scalability & Availability
©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
21
©2011 Tableau Software Inc. All rights reserved.
Terminology Scalability – scalability is about supporting multiple simultaneous actions, not about making a single action faster. Availability – the ability of a solution to be resistant to component failures. Increasing the availability of a solution will increase the cost. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
22
©2011 Tableau Software Inc. All rights reserved.
Terminology Scale Up – adding more resources (CPU, RAM, etc) to a single server. Scale Out – adding more resources (CPU, RAM, etc) by adding more servers in a “cluster”. Multi-Process – adding more throughput by running multiple instances of a process or service. These can be on a single server or can be distributed across multiple servers. Multi-Threaded – within a process, being able to perform multiple tasks simultaneously across multiple CPUs. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
23
©2011 Tableau Software Inc. All rights reserved.
Terminology Single Point of Failure – within a solution, a component that if it fails will cause the solution to fail as a whole. Active/Active – when all instances of a multi-process service will process requests. Active/Passive – when only some instances of a multi- process service will process requests and the other instances are only activated in the event of a component failure. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
24
©2011 Tableau Software Inc. All rights reserved.
Server Scalability Service Multi-Process Multi-Threaded High Availability VizQL Server Yes Active/Active Data Server Application Server Backgrounder No Data Extract Host Active/Passive Repository Gateway Manual Failover ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
25
Server Scalability Primary Node Active Repository Active Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Starting with a single server – everything is installed on one machine… ©2011 Tableau Software Inc. All rights reserved.
26
Server Scalability Primary Node Active Repository Active Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server ↑ Scale up - add more resources and run more service instances if required. ©2011 Tableau Software Inc. All rights reserved.
27
Server Scalability ©2011 Tableau Software Inc. All rights reserved.
28
Scale out – add a worker node running some or all of the services.
Server Scalability Primary Node Worker Node Active Repository Active Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Application Server VizQL Server Data Server Backgrounder Web Server 2 Scale out – add a worker node running some or all of the services. ©2011 Tableau Software Inc. All rights reserved.
29
Server Scalability ©2011 Tableau Software Inc. All rights reserved.
30
Scale out – add a worker node running some or all of the services.
Server Scalability Primary Node Worker Node Active Repository Active Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Scale out – add a worker node running some or all of the services. ©2011 Tableau Software Inc. All rights reserved.
31
If the extract host or the repository fail…
Server Scalability Primary Node Worker Node Failed Repository Failed Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 If the extract host or the repository fail… ©2011 Tableau Software Inc. All rights reserved.
32
… the standby will take over as the active.
Server Scalability Primary Node Worker Node Failed Repository Failed Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 … the standby will take over as the active. ©2011 Tableau Software Inc. All rights reserved.
33
When the failure is repaired, it starts up in standby mode.
Server Scalability Primary Node Worker Node Standby Repository Standby Extract Host Gateway Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 When the failure is repaired, it starts up in standby mode. ©2011 Tableau Software Inc. All rights reserved.
34
Server Scalability Primary Node Worker Node Standby Repository Standby Extract Host Gateway Application Server VizQL Server Data Server Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Web Server 2 Backgrounder Web Server ↑ Worker Node Worker nodes don’t need all the services – e.g. handling lots of extract refreshes… ©2011 Tableau Software Inc. All rights reserved.
35
Server Scalability Primary Node Worker Node Worker Node Gateway Web Server Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Separate the gateway and now our architecture starts to have HA properties… ©2011 Tableau Software Inc. All rights reserved.
36
We can survive a total server failure of any worker node.
Server Scalability Primary Node Worker Node Worker Node Gateway Web Server Server Down Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 We can survive a total server failure of any worker node. ©2011 Tableau Software Inc. All rights reserved.
37
For full HA, we require a failover gateway server.
Server Scalability Primary Node Worker Node Worker Node Active Gateway Web Server Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Failover Gateway Web Server For full HA, we require a failover gateway server. ©2011 Tableau Software Inc. All rights reserved.
38
In the event of a gateway failure…
Server Scalability Worker Node Worker Node Server Down Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Failover Gateway Web Server In the event of a gateway failure… ©2011 Tableau Software Inc. All rights reserved.
39
… we activate the failover gateway, but this is not automatic.
Server Scalability Worker Node Worker Node Server Down Standby Repository Standby Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Repository Active Extract Host Application Server VizQL Server Data Server Backgrounder Web Server 2 Active Gateway Web Server Primary Node … we activate the failover gateway, but this is not automatic. ©2011 Tableau Software Inc. All rights reserved.
40
©2011 Tableau Software Inc. All rights reserved.
Caching ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
41
©2011 Tableau Software Inc. All rights reserved.
Terminology Performance – the speed with which a single process can be completed, assuming no contention for resources. Caching – a transparent store of values that have been calculated so that future requests for the same data can be serviced more quickly. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
42
©2011 Tableau Software Inc. All rights reserved.
Caching Dashboard Gateway 1. Image Tile Cache VizQL Server Data Source ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
43
©2011 Tableau Software Inc. All rights reserved.
Image Tile Cache Dashboards are delivered to the client as a series of image “tiles” – these are assembled to show the complete dashboard. We can use this cache if: Same dashboard (duh!) No per-user security Same dashboard size Handled by the gateway service, one per VizQL worker node ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
44
©2011 Tableau Software Inc. All rights reserved.
Image Tile Cache There is one single, simple step you can take to maximise the reuse of image tiles… Fixed size dashboards! ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
45
If We Miss the Image Tile Cache…
Dashboard Gateway 1. Tile Cache VizQL Server 2. Model Cache Data Source ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
46
©2011 Tableau Software Inc. All rights reserved.
Model Cache When re-rendering the dashboard we check to see if computations have already be done calculated fields, table calculations, reference lines, trend lines, etc We can use this cache if: No change to data No change to calcs Model cache is RAM based per VizQL server instance ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
47
If We Miss the Model Cache…
Dashboard Gateway 1. Tile Cache VizQL Server 2. Model Cache 3. Query Result Cache Data Source ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
48
©2011 Tableau Software Inc. All rights reserved.
Query Result Cache The query result cache holds the results from queries we have sent to data sources We can use this cache if: Dimensions and measures are the same Filters are the same – this means no per user security Cache has not expired or is not explicitly bypassed Query result cache is RAM based per VizQL server instance ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
49
©2011 Tableau Software Inc. All rights reserved.
Managing Caching ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
50
©2011 Tableau Software Inc. All rights reserved.
Managing Caching Model cache vizqlserver.modelcachesize:30 The number of models to cache, where there is one model per viz instance in a workbook Query result cache vizqlserver.querycachesize:64 The size in megabytes of query results to cache ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
51
©2011 Tableau Software Inc. All rights reserved.
Managing Caching Distributing components is a scalability strategy, not a performance strategy Caching is per-process Distribution can hurt performance due to missing the cache ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
52
©2011 Tableau Software Inc. All rights reserved.
One Last Layer… Dashboard Gateway 1. Tile Cache VizQL Server 2. Model Cache Data Extract 3. Query Result Cache Data Source ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
53
©2011 Tableau Software Inc. All rights reserved.
Extracts Also can be used as a form of cache to improve user response times Using aggregated extracts can improve performance even further (at the sacrifice of granularity) Can be scheduled to refresh fully or incrementally Using the Data Server they can be shared across multiple workbooks ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
54
©2011 Tableau Software Inc. All rights reserved.
Extracts ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
55
©2011 Tableau Software Inc. All rights reserved.
Summary Tableau Server provides a flexible, scalable architecture that (in general) can look after itself. Growing a Tableau Server installation to support more users and data is simple and does not require deep technical skills. By understanding how Tableau Server’s caching mechanisms work, we can design our dashboards for optimal performance. Unless you have a reason not to, make all dashboards fixed size. ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
56
©2011 Tableau Software Inc. All rights reserved.
Q&A ©2011 Tableau Software Inc. All rights reserved. ©2011 Tableau Software Inc. All rights reserved.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.