How to isolate your Sigma analytics queries from production Postgres

Sigma’s Postgres connector allows users to run realtime analysis on their operational data, avoiding the expense and potential data staleness of a data warehouse.

Analytic vs. Operation Workload Resource Contention

While Sigma generates efficient SQL to retrieve the data necessary for your workbook analysis, analytic queries may be significantly more expensive than the usual operational queries of your applications; this is because they typically access large quantities of data, and are often accessing “cold” data unlikely to be in cache. This can potentially impact the performance of the operational queries, resulting in poor application performance.

The Use of Read Replicas

This risk can be eliminated through the use of a read replica. A read replica is a separate, read-only instance of the production database, created by cloning the operational database, and then streaming updates to the database from production to the replica, where they are applied. This results in an identical database which is typically only seconds behind production. Analytic queries can be run here without any impact to production; the fact that this database has a separate pool of compute and storage resources may also improve performance of analytic queries vs. running on production where it must compete with operational workload.

Links For Each Cloud Platform

Once you’ve created a read replica, simply change the connection configuration in Sigma to point to the read replica instance rather than

For features such as CSV upload and materialization, you will need to set up a write schema on the read replica instance, where that schema is separate from the replicated data. See Set Up Write Access.

1 Like