Blog blocks.
Post listings: a featured story with a secondary grid, card grids, and lists with or without covers.
Fresh from the blog. Latest posts from the engineering team.
The newest essays, notes, and postmortems that matter. Learn everything from how we built our data platform to how we're using AI.
Why we killed the nightly sync
For three years every customer woke up to data that was already eighteen hours old. How we moved to streaming ingestion without a maintenance window.
Reading a query plan without fear of being wrong
Most slow queries give themselves away in the first three lines of the plan. A practical guide to the parts that actually matter.
We benchmarked four columnar formats to find the best one
Parquet, ORC, Lance, and one we wrote ourselves. What the numbers said about compression, scan speed, and the cost of being clever.
What a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
Most read this month. Our editors' picks.
What a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
Cost controls that analysts do not resent
Query budgets fail when they block the wrong person at the wrong moment. What worked for us was making spend visible before the query ran.
Designing dashboards people trust
A number without provenance is a rumor. How we surface freshness, lineage, and definitions right next to the chart.
The full archive
Every post we've published, newest first. A mix of engineering, product, and design.
Why we killed the nightly sync
For three years every customer woke up to data that was already eighteen hours old. How we moved to streaming ingestion without a maintenance window.
Reading a query plan without fear of being wrong
Most slow queries give themselves away in the first three lines of the plan. A practical guide to the parts that actually matter.
We benchmarked four columnar formats to find the best one
Parquet, ORC, Lance, and one we wrote ourselves. What the numbers said about compression, scan speed, and the cost of being clever.
What a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
Cost controls that analysts do not resent
Query budgets fail when they block the wrong person at the wrong moment. What worked for us was making spend visible before the query ran.
Designing dashboards people trust
A number without provenance is a rumor. How we surface freshness, lineage, and definitions right next to the chart.
Recent essays
Why we killed the nightly sync
For three years every customer woke up to data that was already eighteen hours old. How we moved to streaming ingestion without a maintenance window.
Reading a query plan without fear of being wrong
Most slow queries give themselves away in the first three lines of the plan. A practical guide to the parts that actually matter.
We benchmarked four columnar formats to find the best one
Parquet, ORC, Lance, and one we wrote ourselves. What the numbers said about compression, scan speed, and the cost of being clever.
What a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
Everything from the blog.
Notes from the engineering, product, and design teams, newest first.
-
Engineering 6 min readWhy we killed the nightly sync
For three years every customer woke up to data that was already eighteen hours old. How we moved to streaming ingestion without a maintenance window.
by Jordan Reyes -
Engineering 4 min readReading a query plan without fear of being wrong
Most slow queries give themselves away in the first three lines of the plan. A practical guide to the parts that actually matter.
by Priya Shah -
Engineering 5 min readWe benchmarked four columnar formats to find the best one
Parquet, ORC, Lance, and one we wrote ourselves. What the numbers said about compression, scan speed, and the cost of being clever.
by Marco Bellini -
Product 8 min readWhat a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
by Theo Park -
Engineering 3 min readCost controls that analysts do not resent
Query budgets fail when they block the wrong person at the wrong moment. What worked for us was making spend visible before the query ran.
by Aria Lin -
Design 5 min readDesigning dashboards people trust
A number without provenance is a rumor. How we surface freshness, lineage, and definitions right next to the chart.
by Sasha Volkov
Latest news.
Every essay, postmortem, and release note we have published.
- Engineering 6 min read
Why we killed the nightly sync
For three years every customer woke up to data that was already eighteen hours old. How we moved to streaming ingestion without a maintenance window.
by Jordan Reyes - Engineering 4 min read
Reading a query plan without fear of being wrong
Most slow queries give themselves away in the first three lines of the plan. A practical guide to the parts that actually matter.
by Priya Shah - Engineering 5 min read
We benchmarked four columnar formats to find the best one
Parquet, ORC, Lance, and one we wrote ourselves. What the numbers said about compression, scan speed, and the cost of being clever.
by Marco Bellini - Product 8 min read
What a semantic layer actually solves for analysts
Two teams, two definitions of active user, one very long meeting. The case for defining metrics once and querying them everywhere.
by Theo Park - Engineering 3 min read
Cost controls that analysts do not resent
Query budgets fail when they block the wrong person at the wrong moment. What worked for us was making spend visible before the query ran.
by Aria Lin - Design 5 min read
Designing dashboards people trust
A number without provenance is a rumor. How we surface freshness, lineage, and definitions right next to the chart.
by Sasha Volkov