|
Re: Seven Lessons on Scalability from Reddit
|
Posted: May 19, 2010 6:12 PM
|
|
Having worked on an early-development phase project where SQL tables were frequently changing, my experience says that John is glossing over many of the problems. Sure, it is "easy" to write script after script, update_v1.0_to_v1.1.sql, update_v1.1_to_v1.2.sql, update_v1.17btest3_tov1.17fc1, but it quickly becomes non-easy to keep up to date. Also, you collect some preliminary data that you are used to using for use-case studies, a standard test run, or similar, there's an update, and you may not be able to run using the old data anymore.
IMO, a "big sloppy hash table" database, or, perhaps better, an OODB, is superior during the early development phase. Note that, even though we used an SQL database, several of our tables were effectively big key-value maps anyway cause the underlying structure was fluid.
Also, later in the project, we considered various Map-Reduce systems such as Hadoop. Which seem to be designed for big sloppy hash tables. Here I'm far from an expert, but if non-SQL databases work better with massively parallel distributed "cloudy" systems, (and I have no idea if they do) that's something to discuss here at Artima.
|
|