# Lakebase branching for CI/CD: lessons from 100 PR databases

DevFeed: [Lakebase branching for CI/CD: lessons from 100 PR databases](<https://devfeed.tech/articles/lakebase-branching-for-ci-cd-lessons-from-100-pr-databases-110118.md>)

Original publisher: [Read original article](<https://www.databricks.com/blog/lakebase-branching-cicd-lessons-100-pr-databases>)

Author: Yasamin Tari; Kartik Mathur

Published: 2026-10-31T21:25:00Z

Content type: article

Language: en

Sources: [Databricks](<https://devfeed.tech/sources/databricks.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [AWS Database Migration Service](<https://devfeed.tech/topics/aws-database-migration-service.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [staging](<https://devfeed.tech/topics/staging.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [amazon-aurora](<https://devfeed.tech/tags/amazon-aurora.md>), [api](<https://devfeed.tech/tags/api.md>), [audit-logs](<https://devfeed.tech/tags/audit-logs.md>), [aws](<https://devfeed.tech/tags/aws.md>), [branch](<https://devfeed.tech/tags/branch.md>), [cd](<https://devfeed.tech/tags/cd.md>), [ci](<https://devfeed.tech/tags/ci.md>), [cluster](<https://devfeed.tech/tags/cluster.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [ephemeral](<https://devfeed.tech/tags/ephemeral.md>), [industries](<https://devfeed.tech/tags/industries.md>), [lakebase](<https://devfeed.tech/tags/lakebase.md>), [pr](<https://devfeed.tech/tags/pr.md>), [production](<https://devfeed.tech/tags/production.md>), [technology](<https://devfeed.tech/tags/technology.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

Snorkel AI uses Lakebase branches to give each pull request an isolated, writable copy of production data for CI tests. AWS DMS replicates Aurora into Lakebase's main branch, keeping it within about two minutes of production; a PR branch can be created in seconds and is ready in under a minute. Tests run over standard Postgres and can write data or change schemas without affecting production or other PRs. Copy-on-write avoids a full database restore, with storage growing mainly from branch changes (about 5-10 GB per PR in this setup); compute scales to zero when idle. The pipeline deletes branches when PRs finish, with TTL expiration as a cleanup backstop. Production-to-Lakebase and Lakebase-to-CI traffic uses private networking. Developers connect interactively, while CI uses noninteractive service identities; the excerpt also describes short-lived OAuth tokens for agents. Long-lived branches retain older data pages as the main branch updates, so TTLs help limit storage growth.

## Source excerpt

The problem: testing against production data shouldn't take over 30 minutesSnorkel...