A new database designed to scale, survive disasters, be always consistent, and support abstractions has been released by ex-Google developers.

CockroachDB has been named in honor of the sheer resilience of its insect namesake. As the co-founders of Cockroach Labs, Spencer Kimball, Peter Mattis and Ben Darnell, say in their inaguaral blog post:

“If you can get past their grotesque outer aspect, you’ve got to give them credit for sheer resilience. You’ve heard the theory that cockroaches will be the only survivors post-apocalypse? Turns out modern database systems have a lot to gain by emulating one of nature’s oldest and most successful designs. Survive, replicate, proliferate. That’s been the cockroach model for geological ages, and it’s ours too.”

The developers say they developed a healthy appreciation for the difficulties of scale while working at Google, and started Cockroach Labs with a clear objective:

“build the database we’d been itching after for years, and build it as open source, from the start. The mission is simple, but as big and as broad as any we could happily commit to: Make Data Easy.”

The claims made for CockroachDB are certainly impressive enough. It can, according to the developers, transparently manage scale with an upgrade path from a single node to hundreds. You can add capacity to the cluster by starting new storage containers and CockroachDB automatically rebalances existing data. If you kill a container, CockroachDB re-replicates its data from available sources. It self-organizes, self-heals, and automatically rebalances.

CockroachDB uses majority consensus between replicas to achieve consistency. You can configure consistent replication can be configured within or across datacenters for high availability. The blog says you can upgrade, patch, or restart without applications noticing. Under the covers this all makes use of Raft, the Paxos successor.

CockroachDB also implements efficient, fully-serializable distributed transactions. The developers say you can stop using external locking mechanisms or half measures like CAS or “lightweight” transactions, and just build your applications.

The software is open source, and you can find it, and join in as a contributor, on Github. The claims for the database are impressive, it’ll be interesting to see whether it lives up to the promises and how it evolves.







Comments



Make a Comment or View Existing Comments Using Disqus





or email your comment to: comments@i-programmer.info