Presentation is loading. Please wait.

Presentation is loading. Please wait.

PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia.

Similar presentations


Presentation on theme: "PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia."— Presentation transcript:

1 PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia

2 What we will cover… ©2011 Tableau Software Inc. All rights reserved. Architecture Scalability & Availability Caching

3 Overview ©2011 Tableau Software Inc. All rights reserved.

4 Tableau Desktop Self-service visual data analysis Information consumers (Tableau Reader) connect live extract Web & mobile users (Tableau Server interactors) Presentation Tableau Server Rapid fire business intelligence Repository Security Management/Automation Data Server Cache connect live extract

5 Architecture ©2011 Tableau Software Inc. All rights reserved.

6 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.

7 Tableau Server

8 Relational OLAP Files Data

9 Tableau Server Relational OLAP Files Data Tableau Desktop Command Line Tools Browser/Mobile Clients

10 Tableau Server Relational OLAP Files Data Tableau Desktop Command Line Tools Browser/Mobile 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

11 Tableau Server Relational OLAP Files Data Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server 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

12 Tableau Server Relational OLAP Files Data Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server 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

13 Tableau Server Relational OLAP Files Data Data Source Drivers Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server Active Directory VizQL Server 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

14 Tableau Server Relational OLAP Files Data Data Source Drivers Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server Active Directory VizQL Server VizQL Server Data Extract Host Data Extract Host Repository Invoked when a visualisation including a data extract is published Stores and processes data extracts Multi-threaded; 64-bit

15 Tableau Server Relational OLAP Files Data Data Source Drivers Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server Active Directory VizQL Server VizQL Server Data Extract Host Data Extract Host 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

16 Tableau Server Relational OLAP Files Data Data Source Drivers Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server Active Directory VizQL Server VizQL Server Data Extract Host Data Extract Host Backgrounder Data Server 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 Repository

17 Tableau Server Relational OLAP Files Data Data Source Drivers Tableau Desktop Command Line Tools Browser/Mobile Clients Gateway/Load Balancer App Server App Server Repository Active Directory VizQL Server VizQL Server Data Extract Host Data Extract Host Backgrounder Data Server Data Server

18 Server Monitoring

19 What you see running… ©2011 Tableau Software Inc. All rights reserved.

20 Scalability & Availability ©2011 Tableau Software Inc. All rights reserved.

21 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.

22 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.

23 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.

24 Server Scalability ©2011 Tableau Software Inc. All rights reserved. ServiceMulti-ProcessMulti-ThreadedHigh Availability VizQL ServerYes Active/Active Data ServerYes Active/Active Application ServerYes Active/Active BackgrounderYesNoActive/Active Data Extract HostNoYesActive/Passive RepositoryNo Active/Passive GatewayNo Manual Failover

25 Server Scalability Primary Node Starting with a single server – everything is installed on one machine…

26 Server Scalability Primary Node Scale up - add more resources and run more service instances if required.

27 Server Scalability

28 Primary Node Worker Node Scale out – add a worker node running some or all of the services.

29 Server Scalability

30 Primary Node Worker Node Scale out – add a worker node running some or all of the services.

31 Server Scalability Primary Node Worker Node If the extract host or the repository fail…

32 Server Scalability Primary Node Worker Node … the standby will take over as the active.

33 Server Scalability Primary Node Worker Node When the failure is repaired, it starts up in standby mode.

34 Server Scalability Primary Node Worker Node Worker nodes dont need all the services – e.g. handling lots of extract refreshes…

35 Server Scalability Primary Node Worker Node Separate the gateway and now our architecture starts to have HA properties…

36 Server Scalability Server Down Primary Node Worker Node We can survive a total server failure of any worker node.

37 Server Scalability Primary Node Worker Node For full HA, we require a failover gateway server.

38 Server Scalability Server Down Worker Node In the event of a gateway failure…

39 Server Scalability Server Down Primary Node Worker Node … we activate the failover gateway, but this is not automatic.

40 Caching ©2011 Tableau Software Inc. All rights reserved.

41 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.

42 Caching ©2011 Tableau Software Inc. All rights reserved. Data Source VizQL Server Gateway Dashboard 1. Image Tile Cache

43 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

44 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!

45 If We Miss the Image Tile Cache… ©2011 Tableau Software Inc. All rights reserved. Data Source VizQL Server Gateway Dashboard 2. Model Cache 1. Tile Cache

46 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

47 If We Miss the Model Cache… ©2011 Tableau Software Inc. All rights reserved. Data Source VizQL Server Gateway Dashboard 2. Model Cache 3. Query Result Cache 1. Tile Cache

48 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

49 Managing Caching ©2011 Tableau Software Inc. All rights reserved.

50 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

51 ©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

52 One Last Layer… ©2011 Tableau Software Inc. All rights reserved. Data Source VizQL Server Gateway Dashboard Data Extract 2. Model Cache 3. Query Result Cache 1. Tile Cache

53 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

54 Extracts ©2011 Tableau Software Inc. All rights reserved.

55 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 Servers caching mechanisms work, we can design our dashboards for optimal performance. Unless you have a reason not to, make all dashboards fixed size.

56 Q&A ©2011 Tableau Software Inc. All rights reserved.


Download ppt "PRESENTED BY Alan Eldridge Sales Consultant Tableau Software Australia."

Similar presentations


Ads by Google