presented by alan eldridge sales consultant tableau software australia

56
PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

Upload: lillian-mccall

Post on 29-Mar-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

PRESENTED BY

Alan EldridgeSales ConsultantTableau Software Australia

Page 2: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Overview

©2011 Tableau Software Inc. All rights reserved.

Page 4: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Architecture

©2011 Tableau Software Inc. All rights reserved.

Page 6: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Tableau Server

Page 8: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

Tableau Server

Relational

OLAP

Files

Data

Page 9: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

Tableau Server

Relational

OLAP

Files

Data

Tableau Desktop

Command LineTools

Browser/Mobile

Clients

Page 10: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

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

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

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

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

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

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

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

Server Monitoring

Page 19: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

What you see running…

©2011 Tableau Software Inc. All rights reserved.

Page 20: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

Scalability & Availability

©2011 Tableau Software Inc. All rights reserved.

Page 21: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

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

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

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

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

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

Server Scalability

Page 28: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Server Scalability

Page 30: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

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

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

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

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

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

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

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

Server Scalability

ServerDown

Worker NodeWorker Node

In the event of a gateway failure…

Page 39: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Caching

©2011 Tableau Software Inc. All rights reserved.

Page 41: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

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

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

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

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

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

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

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

Managing Caching

©2011 Tableau Software Inc. All rights reserved.

Page 50: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

• 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

©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

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

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

Extracts

©2011 Tableau Software Inc. All rights reserved.

Page 55: PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

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

Q&A

©2011 Tableau Software Inc. All rights reserved.