Applicative 2016 / Speakers


Ben Darnell

The Challenges of Writing a Massive and Complex Go Application

We opted for Go when building CockroachDB, a scale-out, relational database, because of its support for libraries, interfaces, and tooling. However, it has come with its own frustrations, often related to performance and synchronization. And as for Cgo, RocksDB, and other critical external libraries, we’ve had to hunt down or develop creative workarounds to ensure they work well the rest of the toolchain. In this talk, we’ll share how we’ve optimized our memory usage to mitigate issues related to garbage collection and improved our use of channels to avoid deadlocks. We will also share creative techniques to integrate non-Go dependencies into the Go build process.

About

Ben Darnell is the CTO and co-founder of Cockroach Labs where he works on the distributed consensus protocols that underpin its transactional model. He started his career at Google and then went on to a series of startups where he saw firsthand the need for better scalable storage systems.


© 2016 ACM.