Tuesday, May 22, 2007

Evan Weaver's RailsConf Presentation

In the aftermath of RailsConf, one of the most interesting ideas came from Evan Weaver - later echoed by Dave Thomas.

The idea is that SQL itself is a kludge. I read somewhere that DHH said at RailsConf in 2006 that he uses databases as hashes. Evan Weaver went one step further and said that there are very few Web apps where you don't need a hash instead of a database. His suggestion was that SQL itself is a design mistake.

People use relational databases to provide persistence in Web apps, but they don't do it because databases exist for that purpose. It's a little like using a necktie as a belt when you're late for lunch. The Web came along, and everybody suddenly needed persistent data yesterday. SQL databases existed, so everybody tied them around their waists and ran off to lunch.

Avi Bryant's keynote presented just one alternative to the necktie belt - the object database, handled by a virtual machine. This is a powerful, successful option used in performance-intensive financial applications.

The future of Web apps will probably bring us more options. There will be a lot of apps using SQL for a long time to come, just because "that's how everybody's always done it", but the case for GemStone-style Web app VMs is a strong one. One of the major unifying points among Seaside, Rails, and the entire armada of new Web frameworks released in the past two or three years is that they all minimize the amount of raw SQL you write. Already, the fact that you can write raw SQL is becoming a differentiator for Web developers.


  1. I was just gonna say object databases. But obviously you beat me to it.

    But back to the 'thats how its always done' point you made, I've had troubles convincing board members that Ruby On Rails was 'enterprise ready' & 'secure'. I think if I told them that I wasn't using a relational database they would kick me out of the room.

    That being said I completely agree with the points you made , and the more complex structurally your model needs to be the harder it is to elegantly use a relational database.

    I was talking to a guy from Web Side Story HBX. They run probably the biggest metrics application in the world and he was telling me that they would never DREAM of using a relational database because it would be their downfall.

    Great presentation style by the way , I really like the ongoing images. I just started reading your blog and it's a really cool style.



  2. Hey Nima, thanks. I got the style from Kathy Sierra. You might dig this post about using unconventional languages and systems. Quick summary: the hardest part isn't the tech, it's the sales, especially the selling to people who don't know the difference between the stuff they have to choose from when they buy.

    What does Web Side Story use? OODB? Is it GemStone? Inquiring minds want to know!

  3. Awesome read.

    I think the broad appeal of our industry is its best and worst quality.

    The fact that by this point most people have or do use computers on a every day basis has rendered any computer scientist no matter how legendary or visionary he or she may be as just slightly above average or a dime a dozen in the eyes of an outsider. Thats because the outsider doesn't have the depth to recognize whats average and whats spectacular. However since computers and computer people have inundated their life they have much more confidence in their judgment then say the confidence they would portray when tasked with having to judge the quality of a physicist or chemist.


    There was a general mysticism to computers even as short as a decade ago. In fact its what drew me to them in the first place.

    It's getting harder and harder to recapture that feeling and that excitement no matter what your working on. I think thats why I am drawn to the more 'esoteric' languages and operating systems more than ever.

    Sure that may be a childish or simplistic causation but it's the absolute truth for me at least.

    That's another reason why I idolize the power set guys, Avi, etc. etc. because they are keeping the dreams alive that real and concrete innovation is still possible in this industry.

    Now to webside story.

    It wasn't gemstone I probably would have remembered that. I didn't get the nitty gritty details. But he made it SOUND like a custom xml based db written in C.

    He also mentioned that they have a custom web side story query language for it.

    An interesting thing he mentioned was that a couple of years there ago there was an initiative to move away from it to a traditional RDBMS and it just could never compete with they're solution.


Note: Only a member of this blog may post a comment.