SumoDB: a Clean Persistence Layer for Erlang/OTP

Marcos Almonacid
Erlanger at Inaka, Open Source Author/Contributor

This talk will introduce SumoDB, an open source persistence layer for Erlang/OTP. At the core, it uses "repositories" to give developers a small, but consistent layer of abstraction over different databases ("storage backends"). At the same time, it promotes an architecture that will help them write clean code, reducing the dependency on the implementation details of the storage backend, and will be more easily scalable in terms of features. It brings a few "new" concepts into the erlang table, like entities, repositories, and domain events.

Talk objectives:

Tour around SumoDB components and architecture. Learn the differences between ActiveRecord and Repository. What are storage backends, and repositories. What is a sumodb_doc. How to avoid the "god module". How to write clean erlang code that access databases. Learn about entities, and how to decouple their state from their behavior. Learn how to work with repositories. Domain events: what are they and why they are useful.

Target audience:

Developers who use databases from erlang code, and want to write cleaner code for their data layer. Developers looking for a well defined architecture and persistence layer for their erlang code.


With a total of 5 years on the software industry, Marcos (@m_amilkr) has being working at Inaka on big erlang projects like Whisper and TV TuneIn (for MTV and VH1). 

He enjoys mentoring developers, tackling new technologies, and, in short, creatively solving tough problems. And he worked with different technologies in a wide variety of environments and scenarios (C, C++, Ruby, Node.js, Erlang).
He is author and contributor of some open source projects such Classifier (an Erlang Bayesian Filter and Text Classifier) and Edis (an Erlang implementation of redis).

Back to conference page