Read the post on Medium: https://medium.com/archetypical-software/evolving-a-database-while-the-world-is-watching-16fe2bd765fd
A live-fire story about scale, pressure, and changing shape without breaking trust — evolving a CockroachDB cluster while traffic is climbing: locking constraints, scaling nodes, increasing replication factor, and separating read vs write intent without downtime.
This repo exists so you can:
- Read the narrative
- Inspect the Kubernetes manifests
- Run the same “traffic is climbing, don’t stop the world” evolution yourself
The hands-on Kubernetes demo lives in:
cockroachdb-live-evolution/README.md
It covers prerequisites, deployment, and the full Phase 0 → Phase 1 → Phase 2 flow.
If you want the deeper “contract” for what this repo is allowed to do (zero downtime, no destructive ops, observability expectations, etc.), read:
context.md
- Phase 0 (09:12): 1 node, RF=1 (intentionally Postgres-like)
- Phase 1: scale to 2 nodes, RF=2, and make read vs write intent explicit (reader path + read-only user)
- Phase 2: scale to 3 nodes, RF=3 for survivability (quorum-based reality)
You’ll keep load running while you evolve the database and watch the system stabilize instead of fracture.
If you don’t already have a local Kubernetes cluster, VDK is the quickest way to get a dev cluster you can experiment with:
Once you’ve got a cluster and kubectl pointed at it, follow the demo README above and start applying the manifests.
“This system wasn’t designed for this moment — but we still have to survive it.”
“Not a retrospective. Not a cleaned-up success story. The real thought process while traffic is climbing and decisions matter.”
“Replication factor is a contract with reality about how much failure you’re willing to survive.”
“The goal isn’t infinite scale. It’s the ability to change shape while the world is watching.”