Eric Redmond on Design Patterns for Distributed Systems

Eric Redmond is an engineer at Basho, which produces the NoSQL database Riak. We talked with Eric about design patterns for distributed systems.

Eric wanted to de-mystify the creation of highly available systems, so he wrote an example in Ruby for his OSCON presentation. He wanted to show that it's doable by an average programmer, and that you don't have to use an industrial-strength programming language like Erlang.

Eric talks about the many different tradeoffs involved in implementing some of these different distributed design patterns, including speed, capacity, uptime and data integrity

Eric describes Riak as a distributed system that persists data rather than a database that has been given distributed functionality. He explains the primary distribution mechanisms of replication and sharding, and how Riak deals with a cascading failures through primary and secondary replication.

It's that ability to deal with failure that Eric says makes Riak operations friendly: It's able to handle the loss of multiple nodes—he's seen up to half go down in a Riak deployment—while maintaining the ability to write and read all of the data.

Finally, he talks about some of the upcoming features of Riak, including commutative replicated data types (CRDT), which makes it easier to merge and resolve conflicts between replicated states.

Learn More

Leave a comment

Have you used Geppetto? (Hint: it’s not Pinocchio’s creator.) Listen in to the...
Aug 27
Last week was OSCON week in Portland - and with OSCON, thousands of people from...
Aug 1
Want the details on what's new in PuppetDB 2.1.0, just released this week? Kara...
Jul 11
In the latest edition of the Puppet Podcast, you’ll get the lowdown on tools...
Jun 30
Tradeshow
Sep 3
Puppet Practitioner
Sep 9
Speaking Engagement
Sep 11
Tradeshow
Sep 12