Skip to content

Latest commit

 

History

History
53 lines (31 loc) · 2.16 KB

File metadata and controls

53 lines (31 loc) · 2.16 KB

Evolving a Database While the World Is Watching

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

Start here (the runnable demo)

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

What you’ll do in the demo

  • 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.

Want a dev Kubernetes cluster fast? Use VDK

If you don’t already have a local Kubernetes cluster, VDK is the quickest way to get a dev cluster you can experiment with:

https://vdk.sh

Once you’ve got a cluster and kubectl pointed at it, follow the demo README above and start applying the manifests.

Quotes from the story

“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.”