BigQuery table options

Partitioning versus sharding

Richard Boss avatar
Written by Richard Boss
Updated over a week ago

When setting up a BigQuery Share you can choose between sharing data to a Single table or Multiple tables.

Single table

This is the recommended way to share your data to BigQuery.

With a 'single table', all data is shared to just one table, partitioned per month.
This requires that the Funnel 'date' dimension is included in the Share.

Having a partitioned single table will reduce the schema and metadata overhead over using multiple tables. This will improve query performance.

Multiple tables

With 'multiple tables', separate tables will be created for each calendar month.

Using 'multiple tables' is also called sharding in BigQuery and has some negative effects, such as schema and metadata overhead for each separate table. In most cases using a single table is the most advantageous way to set up your Share.

Using date-partitioned tables

When using multiple tables we also support partitioning on each individual table, based on date. This requires that the Funnel 'date' dimension is included in the Share.
We recommend using this when possible.

Create BigQuery View

Funnel can also create a view that combines the data in all the monthly tables. This view is called all_funnel_data_view by default and can ease the use of querying the data in all tables from a single point.

Did this answer your question?