presented by alan eldridge sales consultant tableau software australia
TRANSCRIPT
![Page 1: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/1.jpg)
PRESENTED BY
Alan EldridgeSales ConsultantTableau Software Australia
![Page 2: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/2.jpg)
What we will cover…
©2011 Tableau Software Inc. All rights reserved.
• Architecture
• Scalability & Availability
• Caching
![Page 3: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/3.jpg)
Overview
©2011 Tableau Software Inc. All rights reserved.
![Page 4: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/4.jpg)
Tableau DesktopSelf-service visual
data analysis
Informationconsumers
(Tableau Reader)connectlive
extract
Web & mobileusers
(Tableau Server interactors)
Presentation
Tableau ServerRapid fire business intelligence
Repository
Security
Management/Automation
Data Server
Cache
connectlive
extract
![Page 5: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/5.jpg)
Architecture
©2011 Tableau Software Inc. All rights reserved.
![Page 6: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/6.jpg)
Terminology
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 7: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/7.jpg)
Tableau Server
![Page 8: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/8.jpg)
Tableau Server
Relational
OLAP
Files
Data
![Page 9: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/9.jpg)
Tableau Server
Relational
OLAP
Files
Data
Tableau Desktop
Command LineTools
Browser/Mobile
Clients
![Page 10: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/10.jpg)
Tableau Server
Relational
OLAP
Files
Data
Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load BalancerReceives 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
![Page 11: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/11.jpg)
Tableau Server
Relational
OLAP
Files
Data
Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
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
![Page 12: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/12.jpg)
Tableau Server
Relational
OLAP
Files
Data
Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Active Directory
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)
If used, verifies authentication in conjunction with the App Server and Repository
Repository
![Page 13: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/13.jpg)
Tableau Server
Relational
OLAP
Files
Data
Data Source D
rivers Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Active Directory
VizQL Server
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
Native drivers need to be installed for each data source (32-bit)
Repository
![Page 14: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/14.jpg)
Tableau Server
Relational
OLAP
Files
Data
Data Source D
rivers Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Active Directory
VizQL Server
Data ExtractHost
Repository
Invoked when a visualisation including a data extract is published
Stores and processes data extracts
Multi-threaded; 64-bit
![Page 15: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/15.jpg)
Tableau Server
Relational
OLAP
Files
Data
Data Source D
rivers Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Active Directory
VizQL Server
Data ExtractHost
Backgrounder
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
![Page 16: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/16.jpg)
Tableau Server
Relational
OLAP
Files
Data
Data Source D
rivers Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Active Directory
VizQL Server
Data ExtractHost
Backgrounder
Data ServerInvoked 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
Repository
![Page 17: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/17.jpg)
Tableau Server
Relational
OLAP
Files
Data
Data Source D
rivers Tableau Desktop
Command LineTools
Browser/Mobile
Clients
Gatew
ay/Load Balancer
AppServer
Repository
Active Directory
VizQL Server
Data ExtractHost
Backgrounder
Data Server
![Page 18: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/18.jpg)
Server Monitoring
![Page 19: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/19.jpg)
What you see running…
©2011 Tableau Software Inc. All rights reserved.
![Page 20: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/20.jpg)
Scalability & Availability
©2011 Tableau Software Inc. All rights reserved.
![Page 21: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/21.jpg)
Terminology
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 22: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/22.jpg)
Terminology
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 23: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/23.jpg)
Terminology
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 24: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/24.jpg)
Server Scalability
©2011 Tableau Software Inc. All rights reserved.
Service Multi-Process Multi-Threaded High Availability
VizQL Server Yes Yes Active/Active
Data Server Yes Yes Active/Active
Application Server Yes Yes Active/Active
Backgrounder Yes No Active/Active
Data Extract Host No Yes Active/Passive
Repository No No Active/Passive
Gateway No No Manual Failover
![Page 25: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/25.jpg)
Server Scalability
Primary Node
Starting with a single server – everything is installed on one machine…
![Page 26: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/26.jpg)
Server Scalability
Primary Node
Scale up - add more resources and run more service instances if required.
![Page 27: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/27.jpg)
Server Scalability
![Page 28: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/28.jpg)
Server Scalability
Primary Node Worker Node
Scale out – add a worker node running some or all of the services.
![Page 29: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/29.jpg)
Server Scalability
![Page 30: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/30.jpg)
Server Scalability
Primary Node Worker Node
Scale out – add a worker node running some or all of the services.
![Page 31: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/31.jpg)
Server Scalability
Primary Node Worker Node
If the extract host or the repository fail…
![Page 32: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/32.jpg)
Server Scalability
Primary Node Worker Node
… the standby will take over as the active.
![Page 33: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/33.jpg)
Server Scalability
Primary Node Worker Node
When the failure is repaired, it starts up in standby mode.
![Page 34: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/34.jpg)
Server Scalability
Primary Node Worker Node
Worker Node
Worker nodes don’t need all the services – e.g. handling lots of extract refreshes…
![Page 35: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/35.jpg)
Server Scalability
Primary Node Worker NodeWorker Node
Separate the gateway and now our architecture starts to have HA properties…
![Page 36: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/36.jpg)
Server Scalability
ServerDown
Primary Node Worker NodeWorker Node
We can survive a total server failure of any worker node.
![Page 37: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/37.jpg)
Server Scalability
Primary Node Worker NodeWorker Node
For full HA, we require a failover gateway server.
![Page 38: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/38.jpg)
Server Scalability
ServerDown
Worker NodeWorker Node
In the event of a gateway failure…
![Page 39: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/39.jpg)
Server Scalability
ServerDown
Primary Node
Worker NodeWorker Node
… we activate the failover gateway, but this is not automatic.
![Page 40: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/40.jpg)
Caching
©2011 Tableau Software Inc. All rights reserved.
![Page 41: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/41.jpg)
Terminology
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 42: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/42.jpg)
Caching
©2011 Tableau Software Inc. All rights reserved.Data Source
VizQL Server
GatewayDashboard
1. Image Tile Cache
![Page 43: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/43.jpg)
Image Tile Cache
©2011 Tableau Software Inc. All rights reserved.
• 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
![Page 44: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/44.jpg)
Image Tile Cache
©2011 Tableau Software Inc. All rights reserved.
• There is one single, simple step you can take to maximise the reuse of image tiles…
• Fixed size dashboards!
![Page 45: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/45.jpg)
If We Miss the Image Tile Cache…
©2011 Tableau Software Inc. All rights reserved.Data Source
VizQL Server
GatewayDashboard
2. Model Cache
1. Tile Cache
![Page 46: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/46.jpg)
Model Cache
©2011 Tableau Software Inc. All rights reserved.
• 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
![Page 47: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/47.jpg)
If We Miss the Model Cache…
©2011 Tableau Software Inc. All rights reserved.Data Source
VizQL Server
GatewayDashboard
2. Model Cache
3. Query Result Cache
1. Tile Cache
![Page 48: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/48.jpg)
Query Result Cache
©2011 Tableau Software Inc. All rights reserved.
• 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
![Page 49: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/49.jpg)
Managing Caching
©2011 Tableau Software Inc. All rights reserved.
![Page 50: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/50.jpg)
• 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.
Managing Caching
![Page 51: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/51.jpg)
©2011 Tableau Software Inc. All rights reserved.
• Distributing components is a scalability strategy, not a performance strategy
• Caching is per-process• Distribution can hurt performance due to missing the cache
Managing Caching
![Page 52: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/52.jpg)
One Last Layer…
©2011 Tableau Software Inc. All rights reserved.Data Source
VizQL Server
GatewayDashboard
Data Extract
2. Model Cache
3. Query Result Cache
1. Tile Cache
![Page 53: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/53.jpg)
Extracts
©2011 Tableau Software Inc. All rights reserved.
• 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
![Page 54: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/54.jpg)
Extracts
©2011 Tableau Software Inc. All rights reserved.
![Page 55: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/55.jpg)
Summary
©2011 Tableau Software Inc. All rights reserved.
• 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.
![Page 56: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia](https://reader038.vdocument.in/reader038/viewer/2022102814/55178f4a5503460e6e8b58ad/html5/thumbnails/56.jpg)
Q&A
©2011 Tableau Software Inc. All rights reserved.