understanding tableau's visual pipeline

Post on 13-Apr-2017

513 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Visual

# V i s u a l P i p e l i n e

Scott Sherman Mrunal Shridhar

Principal Software Engineer Sales Consultant, EMEA

What makes a view slow?

Executing Query

Computing View

Layout

Marks Table Calculations

SortingAggregations and Joins

Calculated Fields Filters

Connect to Data

Computing Quick Filters

Capabilities Checking

Native vs Generic ODBC

Cascading Filters

Itemized or Ranged Filters

Query Data Layout Render

Query

• Query database

Data Layout Render

Latency

Time it takes to query

Time to stream records back

Number of records

Large number vs. smaller number of aggregated records

Number and complexity of joins

Number, type and complexity of calculated fields

Number and type of filters

Query

• Query database

• Cache results

Data Layout Render

To ensure interactivity

Latency and predictability

Higher responsiveness

Data extracts

If our queries are fast, why bother with caching?

Reduce load on the database

Reduce network traffic

In literal query

cache?In abstract query

cache?

Query

data sourceMissMiss

Post-process cache

entry

Abstract

query

Literal

query

Query results

Literal

query

Dashboard/workbook

Refresh thumbnails

Story points

Click through the whole story

Load data into memory

Filter to single row

Add all needed fields to LOD

On server no guarantee that all caches are warm

•Quick filters

Add filtering dimension to the view if that doesn’t change LOD

Add to tooltips – won’t affect LOD

Add filtering measure in the view

•Logging

Cache miss – ‘end-query’ event

Cache hit – no query entry

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout Render

Query Data Layout

• Layout views

• Compute legends

• Mark types

Render

Query Data Layout Render

• Marks

• Selection

• Highlighting

• Labels

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

? ? ? ?

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

or

? ? ? ?

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Extract Filters

Data Source Filters

Context Filters

Dimension Filters (including LOD dimensions)

Measure Filters (including LOD measures)

Local Filters (ATTR, geocoding)

Table Calc Filters

Hide

database

local

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

or

? ? ? ?

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

…unless it impacts

highlighting…

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

or

…or

filtering

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Query Data

• Geocoding

• Blending

• Calculated fields

• Local filters

• Totals

• Forecasting

• Table calculations

• Table calc filters

• Sort

Layout

• Layout views

• Compute legends

• Mark types

Render

• Marks

• Selection

• Highlighting

• Labels

Limitations

• Quantitative

Limitations

• Quantitative

• Field must be in viz

Limitations

• Quantitative

• Field must be in viz

• No table calcs

Limitations

• Quantitative

• Field must be in viz

• No table calcs

• No dependent totals

Limitations

• Quantitative

• Field must be in viz

• No table calcs

• No dependent totals

• No stacking

Limitations

• Quantitative

• Field must be in viz

• No table calcs

• No dependent totals

• No stacking

• No polygons

Limitations

• Quantitative

• Field must be in viz

• No table calcs

• No dependent totals

• No stacking

• No polygons

Interactivity in the

browser

the best of both worlds

power vs.

responsiveness

Power Responsiveness

Interactive filters

Fast highlighting

Changes when mouse moves

1,000,000+ marks

Forecasting, table calcs

Query databases

BrowserServer

Is viz simple?

Interactive

data

Very

responsive

Bitmaps

Full power of

server

Fast selection

Fast highlighting

Fast tooltips

Live hover actions

Interactive filtering

< ~5000 marks, headers, annotations, etc.

No custom shapes

No polygons

No page trails

Simple filtering

Query databases

Compute calculated fields

Apply forecasting models

Compute reference lines and trend lines

Sort

Layout

Work with 1,000,000+ marks

Far more than Flash or JavaScript apps

Questions?

Please complete

the session survey

from the Session

Details screen in

your TC15 app

Scott Sherman Mrunal Shridhar

ssherman@tableau.com mshridhar@tableau.com

@loki3dot @mrunalshridhar

top related