Why the days are numbered for Hadoop as we know it
gigaom.com
gigaom.com
The fact is, Hadoop is becoming more and more easy to setup, with distributions like Cloudera & Hortonworks allowing users to set up clusters with minimal upfront knowledge of Hadoop and how it works. The article uses HBase and Hive together in the same sentence which is kind of weird, Hive and HBase are completely different. Hive was made by Facebook to allow users to map schemas to a large set of files so their employees could run MapReduce jobs without Java knowledge, but instead SQL (HSQL)...basically a way to bridge the gap between Hadoop and non-java / programmers. HBase is a different beast all together and has no relation to MapReduce...the only thing it has in common with Hadoop is that it uses HDFS as its underlying FS (but doesn't have to). It's a NoSQL database that is modeled after BigTable (K -> V) and is pretty complicated...more so than just Hadoop/MR.
I think Hadoop will be around for quite a while, especially since it's becoming almost trivial to deploy. I see a lot of companies repurposing older servers into hadoop clusters and they are VERY happy with its performance. I rarely see where Hadoop is not providing enough to the user, but rather the user is not providing enough for Hadoop.
* Existence of tools beyond Map/Reduce in use at Google, does not imply that Map/Reduce's "days are numbered."
Map/Reduce is still enormously useful for many tasks even when other approaches (BSP, traditional distributed RDBMS techniques like Dremel) are available.
* Hadoop is not restricted to Map/Reduce. HDFS, cluster management, and more can be used and are used by other applications.
I am not too heavily involved with the query-processing side of Hadoop, but as far as as I understand the long term idea is that Map/Reduce will become just another application (of many) running on top of Hadoop's cluster management and storage infrastructure. See http://hadoop.apache.org/common/docs/r0.23.0/hadoop-yarn/had...
(Disclosure: I contribute to HDFS and HBase)
1. GraphLab2. Unlike Pregel's Bulk Synchronous Parallel Model, GraphLab2 it allows non-synchronous updates, which is more efficient for approximate quantities. For instance, for AltaVista's web graph, most nodes only need to be updated couple of times, while some nodes need more than 60 updates.
2. Flume: it's an abstraction on top of MapReduce, you program as if your data is contained in Java-like containers, and it turns your program into series of regular MapReduces
3. ScalOps (http://cs.markusweimer.com/pub/2012-DataEng.pdf): that's a higher level abstraction prototyped in Yahoo Research, might get resurrected in Microsoft.
4. AllReduce
It's a great technology, but it just isn't there yet.
I fail to see how the existence of other tools that solve different and/or narrower problems takes anything away from the success of Hadoop, let alone spells its demise.
Hadoop was a nice general purpose tool but niche-specific tools will eventually supersede it for many types of processing.
Once again, very old ideas being published as some amazing new discovery from Google, mesmerizing geeks, tech companies. and wannabe tech companies everywhere. The fact they are trying to sell it as a service shows they are behind the curve. Using buzz phrases like "time to value" and "time to insight".
How about the time it takes to get programmers to stop using iterative, loop bases programming and braindead IDE's?
The author of the Pregel article talks about graphs and vertexes. "Everything is a graph." "Think in terms of vertexes." No, everything is a list. That's a very old idea. You must think in terms multi-dimensional lists and vectors. The old new thing.
Processing trillions of rows in minutes. This is old hat for many folks in the financial world.
Iterative programming is ingrained. And Google is a victim of this as much as anyone else.
You can show a CS grad how to generate highly efficient C replete with goto's using a high level language like Scheme, they will see the performance benefit, and yet they will still go back to using some crippled "expressive" language, because that's what they are used to. They want to write algorithms that no one needs and programs that no one will ever use. Users want stuff that is FAST. But a lot of programming is not for users, it's to entertain programmers who are doing it. Sadly, they are not entertained by functional programming and short programs of a few lines. They want to write 1000's of lines of code. FAIL.
Give me someone who's mind has not been poisoned with the idea of loops and the du jour scripting languages, preferably someone who has not majored in Computer Science, and I can make them 100x as productive as today's average and even above average programmers.
People will be stuck on Hadoop for a long time. Just as people are stuck on C++, Perl, Java, Python and other verbose iterative languages.
One might bet against Hadoop MapReduce, but betting against the Hadoop Filesystem as cheap storage built on commodity hardware that can serve large data in a highly available fashion is... misguided. Nothing else scales to 10,000 nodes per cluster and provides data locality (processor near disk spindles) so that data is accessible, or is even close.
Many systems will sit in front of Hadoop to do things other than batch computing, and many new types of distributed compute systems will sit on top of Hadoop and Zookeeper. Hadoop is here to stay.
MapReduce is too low level, and systems like Pig and Hive will continue to grow, improve and be the standard interface to working with Hadoop.
I'm writing a behavioral database in C and I didn't add it to the Hadoop umbrella specifically for those reasons. For example, my database's query language uses LLVM for compilation and optimization. That's something I couldn't do if I was locked into the JVM.
The days aren't numbered. More and more companies are going to keep on contributing to Hadoop and Hadoop like projects. One can imagine that the days are numbered for Google. The moat will start to become less and less. Google is running from Hadoop not the other way around.
I mean look at this http://opencloudconsortium.org/ Eventually everyone is going to figure out that you can not just copy google but you can out engineer google. Google can't hire every good engineer.