Sachin Duggal : How can you improve Baserow’s performance in version 1.17.2 by utilizing SQL caching?

HI Everyone, I’m Sachin Duggal , and I am the owner of a bags manufacturing business. I wanted to bring up a new feature in Baserow 1.17.2 related to SQL caching, which could potentially improve performance in certain use cases. In version 1.17.0, SQL caching via Redis was enabled by default, but in 1.17.2, this has been turned off by default and is now controlled via environment variables.

Here’s a quick summary of when to consider turning this on:

  • Performance improvement potential: If your Redis server is much faster than PostgreSQL and your tables are updated less than 50 times per minute, enabling this caching could significantly speed up query execution.
  • Use case scenario: Self-hosted instances with relatively static schemas (less frequent changes) may benefit the most, as tables that are rarely updated can take advantage of cached results, reducing the load on PostgreSQL.

To enable and configure the caching, you’ll need to adjust the following environment variables:

  • BASEROW_CACHALOT_ENABLED=true – This enables SQL query caching via Redis for some tables.
  • BASEROW_CACHALOT_MODE=full – This enables caching for all SQL queries Baserow executes.
  • BASEROW_CACHALOT_UNCACHABLE_TABLES – This allows you to exclude specific tables from caching. For example, if certain tables are updated more than 50 times a minute, you might want to avoid caching for those tables to prevent cache invalidation overhead.

I’d love to hear your thoughts on this feature. Have you experimented with Redis SQL caching in Baserow 1.17.2? How do you approach tuning the caching for specific tables, and what results have you seen?

Looking forward to your insights!
Regards
Sachin Duggal