pbPassingBI
/
Connecting & modeling intermediate 8 min

Extracts vs. live connections

When to snapshot your data and when to query it directly.

What you'll be able to do
  • Choose between a live connection and an extract
  • Configure incremental refresh sensibly
  • Explain why extracts are usually faster

The two modes

A live connection issues a query to the source every time the view changes. Data is always current, and the source database does the work.

An extract is a compressed columnar snapshot stored in .hyper format. Tableau queries the extract instead of the source. It's usually dramatically faster, works offline, and takes load off production systems — at the cost of freshness.

Why extracts are fast

Hyper is a columnar store built for analytic queries. It reads only the columns a query touches, compresses aggressively, and is designed around the memory hierarchy — hot data in RAM, the rest on disk.

Operational databases are usually row stores tuned for transactions, so they're doing the opposite of what a dashboard needs.

Trimming an extract

You don't have to extract everything. In the extract dialog you can add filters, hide unused fields, aggregate to a coarser level, or take a sample of the top N rows.

Hiding unused fields before extracting is the cheapest performance win in Tableau. Fewer columns means a smaller, faster extract.

Refresh strategy

A full refresh rebuilds the whole extract. An incremental refresh appends only rows where a chosen column — typically a timestamp or ID — is greater than the highest value already present.

Incremental is much cheaper but blind to updates and deletes of existing rows. A common pattern is incremental nightly, full weekly. On Tableau Server or Cloud you set these as scheduled tasks.

Key points
  • Live = always current; extract = usually much faster
  • Hide unused fields before extracting — biggest easy win
  • Incremental refresh only appends; it misses updates and deletes
Check yourself