Tuesday, March 23, 2010

NoSQL, getting back to basics?

I was reading an interesting article on O'Reilly Radar, about geo-spatial, location-aware application development, but I found the discussion towards the end about the application of NoSQL the more interesting part.

I've always grimaced at some of the SQL queries that come up... you know the ones, they are nearly a page long (or are multi-page affairs), and nearly impossible to infer the original intent. To centralize such complexity on the server side has always seemed like a bad idea to me. Keep the queries simple and quick to run, so as to not tax a critical central resource. That sort of application complexity should go in the application layer you can grow out easily vs. the database layer which is rather more hard to grow.

But I wasn't a "database guy", and deferred to those who were, and had these odd sense I was somehow missing something, and would let the "experts" deal with such issues. But it always felt wrong...

So to see stuff like this is being citied as the state-of-the-art thinking in data scalability is... satisfying:

"....at Digg, for instance, joins were verboten, no foreign key constraints, primary key look-ups. If you had to do ranges, keep them highly optimized and basically do the joins in memory. And it was really amazing. For instance, we rewrote comments about a year-and-a-half ago, and we switched from doing the sorting on a MySQL front to doing it in PHP. We saw a 4,000 percent increase in performance on that operation."

It really does feel like there is a renaissance happening in data storage, and this sort of getting back to basics is a key part of it I think.

No comments:

Post a Comment