About the Talk
March 26, 2010 6:30 AM
At Songkick we've developed a pattern for gradually denormalizing our relational data to improve application performance. We'll discuss how to incrementally transition from one set of domain objects stored in MySQL, to another set stored in a key-value database.
We'll describe the architecture of our Rails application, which uses Presenters as first class domain objects, each one tailored for displaying a single page or module of information.
We'll demonstrate three Ruby projects:
Silos - a simple memoization library used to persist the Presenters
Asychronous Observers - a way to run Rails observers out of process, and keep our Presenter data in sync with our models.
MegaMutex - a cross-process mutex library to allow multiple processes to safely work together on the same data.