> Data platforms
Project Siphon
- PostgreSQL
- NATS JetStream
- Go
- Apache Iceberg
- Nessie / Open Catalog
- Snowflake
§ 01
Problem
Earlier pipelines missed 30–40% of database changes, so analytics, product intelligence and AI were built on incomplete data.
Legacy pipelines tied up data and SRE engineers in maintenance.
GitLab runs three deployment models and was moving to a cell-based architecture, so CDC had to work everywhere.
§ 02
Architecture
PostgreSQL changes are published into NATS JetStream, capturing every insert, update and delete.
Go consumers write Parquet through buffered and direct write paths, with right-sized files and schema drift handled by versionHash keying.
Apache Iceberg tables on Nessie / Snowflake Open Catalog serve the same governed data to Snowflake and Spark, with Prometheus metrics at every stage.
§ 03
Approach
Run as DRI from feasibility to production through a working council of seven functions: data engineering, analytics, data science, instrumentation, product engineering, database operations and SRE.
Mirror staging and production in a Dockerised Nessie/GCS dev environment, cutting onboarding from days to under 2 hours.
Design for the Cells migration from the start, so one platform serves all three deployment models.
§ 04
Impact
- of database changes captured, closing a 30–40% gap
- 100%
- realized annual infrastructure savings
- $500K+
- freed from legacy pipeline maintenance
- ~3 FTE
- total annual value
- ~$1M/yr
Get the next case study and the field notes that built it.
Free. Unsubscribe with one click.