Building Scalable Systems

After getting very, very frustrated with MySQL replication (and seeing the hoops people have to hop through to get replication to scale), I’ve decided I’m not that interested in pursuing designs that put a database at the center of the universe. Reading through Tim O’Reilly’s database war stories helped cement this idea for me. Especially interesting was the bloglines and memorandum interview and the facinating topix.net architecture (found from a comment). Another datapoint is LiveJournal. LiveJournal uses MySQL for storing posts, but they’ve a lot of work to minimize the use of MySQL as they’ve grown. We hear a lot about Google’s BigTable and GoogleFS all the time. But we can’t use them because the source isn’t available. LiveJournal has written similar systems in MogileFS and memcached and, unlike Google’s work, these are available to everyone. I’m going to start looking at how I can build systems around these two utilities and to minimize or eliminate my dependence on a SQL server.

Weekend Update

First, to any OpenWeblog users: you can now tag your entries. This is like categorization, so, if you’ve been looking for a way to catagorize what you write, you have it now. Second, I’m recruiting old college buddies to start keeping a weblog on here.  First up are and .  I hope to get them sharing more and recruiting their friends.  We’ll turn this place into LiveJournal for people over 30!  So, if you’re over 30, start up an OpenWeblog account. Fine, you can start one if you’re under 30, too.  And you don’t have to be an old college buddy.  I don’t even have to know you. Third, I went to the book release party in Philly with some people from Harrisburg.pm this weekend for Higher Order Perl.  Great fun.  You know that many geeks are socially awkward, right?  So what happens when they get together for a party?  Well, they don’t do regular introductions, for starters.  Instead of saying “Hello, I’m X, who are you?”  you point and say “I don’t know you! Who are you?” That, and, a couple of these people (mjd included) have started having kids, so they tote their child along and they make great conversation pieces.  I wish I had brought and Lily.  (She didn’t like that idea — said it would be unfair to leave the other three children with our neighbors that long.) With YAPC in a couple of weeks, it was a really good thing that I went to this book party.  Many of the people there are going to YAPC, so it was good to get acquainted with some of them before hand. I actually drove the Harrisburg.pm people. I had volunteered my minivan and it worked out nicely. Except for the fact that the darn thing started to overheat just as I pulled into the parking lot to pick them up. That’s ok. The problem was a hose with a small breach right near the connection to the radiator cap. Unscrew the clamp, cut the hose, screw clamp back onto the (slightly shorter) hose and away we go. Somehow, in the hour or two between Harrisburg and Philadelphia, I got nominated to do a talk on Catalyst this coming Wednesday. For those more familiar with Java or Ruby, this is like Struts or Ruby on Rails, this is an MVC framework like those, but better since a) Catalyst learned lessons from Struts, Ruby on Rails, and Maypole and b) its in Perl! It should be obvious by now that I’m in love with Perl (and Emacs, but that’s a story for another time). And if my ardor needed any more fuel, hanging out with Perl Geeks did it. See, geekiness about free software, Perl, Emacs, etc. isn’t really about the technology. Tech is just a conversation piece — a shared passion. The real fun comes from geeking out with other people. Wonder if I can find any Emacs geeks…