Snorkel AI用Lakebase分支隔离PR数据库
Databricks Blog称,Snorkel AI在基于Kubernetes的CI流水线中,为每个拉取请求创建临时Lakebase分支,让测试使用接近生产的数据且互不干扰。厂商表示,准备环境的时间从20至30分钟以上降至目标60秒以内(p95),但该p95结果仍标注为待验证,目前已向60至70名开发者推广。
该案例展示了AI数据工具公司如何利用数据库分支规模化部署隔离且接近生产环境的测试基础设施,但关键延迟指标仍待验证。
The problem: testing against production data shouldn't take over 30 minutes
Snorkel AI builds data development tools for AI teams, used by expert data annotators and frontier model providers. In this specific use case, Snorkel ships code through a CI pipeline built on Kubernetes. Every open pull request, plus ad-hoc commits, gets its own ephemeral Kubernetes namespace (a "PR namespace"). Developers deploy their branch there and run the full test suite before merging.
These tests are most useful when they run against real data. Snorkel's production database is an Amazon Aurora PostgreSQL cluster. Giving each PR namespace its own copy of that database was the hard part. Restoring a copy took about 20 minutes per environment, which is too slow when developers open PRs all day and the merge queue needs a fresh environment for each run. The alternatives (shared staging databases, trimmed fixtures, or synthetic data) bring back the problems production-like testing is supposed to solve: tests interfering with each other, stale schemas, and bugs that only show up with real data shapes.
Success criteria
Snorkel would consider Lakebase a success for CI/CD if it met these criteria:
#Snorkel AI#Databricks#Lakebase#Amazon Aurora PostgreSQL#Kubernetes#AWS DMS#Okta