Some 1,500 breweries in the U.S. produce around 6 billion gallons of beer every year. Interestingly, according to the American Homebrewers Association there are currently about 750,000 homebrewers in the U.S. In other words, several hundred thousand people who could just walk into a supermarket — apart from maybe the brewing youth — and buy a case of beer go out of their way to create their own beverage.
Homebrewing is a fascinating activity. With some talent you can produce beer of a quality similar to what you get in the supermarket! However, doing it yourself allows you to create special flavors, experiment with all sorts of ingredients and, simply put, customize the process to your own needs. It comes at a price, however. Homebrewing demands commitment. Not only will it affect your vacation schedule and disrupt your social life it also tends to stink up the house.
Mind you, the result is beer, like the one from the supermarket. Is it better — or even just different (in a good way)? That’s a matter of perception.
Well, you see where I’m getting at. Much has been written about why MapReduce is or is not on par with database technology. And much of it resembles the discussion of beer — including a number of enthusiastic homebrewers with refreshingly little respect for an established discipline. On the past weekend I participated in a lively panel discussion at CIKM’s DOLAP. Carlos Ordonez and Il-Yeol Song did a great job at organizing and running this year’s edition of this long standing data warehouse and OLAP workshop series! Our panel was an interesting mix of folks from industry; database vendors as well as MapReduce users. Many of the usual questions were pondered and we touched on a number of urban myths: databases do not scale, databases cannot be expanded easily, databases are difficult to install, and so on — most of these are problems of specific products from specific vendors rather than short-comings of database technology.
My take away is simple though:
- there’s a place for MapReduce’s programming model (as there is for a plethora of programming languages), and
- marrying some of MapReduce’s conveniences such as its fault-tolerance with the power of consistency in the database world is not only an interesting challenge but a promising direction.
In other words, it’s not about whether brewing beer at home is the right thing to do or not — it’s about how we can make it more convenient so it does not stink up the house!