Subscribe to our Erlang Factory newsletter to receive the latest updates and news

Dustin Sallings
Co-founder of Couchbase

Dustin is the Chief Architect and a Co-Founder of Couchbase, Inc. An Erlang programmer since early 2004 (though far from exclusively), Dustin started life building networks and clusters of machines before writing software to live on them in internet commerce and telco systems. Dustin keeps his hands covered in the vernix caseosa of birthing technologies while never forgetting the old, reliable friends he grew up with.

Dustin Sallings is Giving the Following Talks
Couchbase Performance and Scalability: Iterating with DTrace Observability

Couchbase Server provides a simple, distributed document store. Written in a combination of Erlang using components of OTP for clustering and supervision alongside some C/C++, Couchbase Server manages the distribution of documents across a cluster of commodity hardware allowing for indexing of these documents and analytics through views. The system is accessible from nearly any programming language or through one of two open protocols: HTTP and memcached protocol.

This session will be a case study in designing and building this distributed, document oriented database. Couchbase ran into challenges with understanding where performance bottlenecks were in the system, for which Couchbase's Dustin Sallings contributed new DTrace probes to the common Erlang VM. Using these probes, Dustin and the Couchbase team were able to identify and correct bottlenecks in the system. Since then, Dustin and others in the Erlang community have collaborated to enhance Erlang observability. Couchbase also had to overcome some challenges in trying to cluster the system to ever larger groups of computers with Erlang/OTP. The Couchbase team has been able to overcome these challenges with careful separation of cluster management from data management processing and careful attention to how OTP is used in the system.

In this session, Dustin and Matt will cover these topics, sharing what has worked and where the challenges were in bringing Couchbase Server together. Couchbase Server has it's roots in both the Apache CouchDB project and the Membase project.

Talk objectives: This session will educate the attendee on how Couchbase has been able to use DTrace and Erlang together to better understand the interaction between Couchbase Server, the Erlang VM, other user-space software and the operating system's network and IO services.

Target audience: The ideal attendee of this session will have a solid background in Erlang software development and a familiarity with UNIX systems.