Reputation: 79
I am beginner in using Hadoop. I just wanted to know whether I can use Hadoop as backend in web application instead of using relation database?
Upvotes: 3
Views: 2831
Reputation: 169
I think the answer is "No, You shouldn't" but as someone pointed out above that isnt the whole answer.
Hadoop is not a drop in replacement for an RDBMS - it is both a distributed file store and distributed compute mechanism. Both of these things do not help a website by themselves.
Now it is possible that you have tonnes of "Big Data" which you have in Hadoop which could be made available through HBase if it is essentially a "Key/Value" lookup. BUT there are quite a few key value stores which may be more suitable.
If you still need SQL there are tools like Hive or Impala and others that give you SQL-like behaviour. With Hive the drawback is that it uses MapReduce - which means each query might take over a minute!!! OK for huge reports, but not ok for anything else. Impala is supposed to speed that up, but I don't have practical experience of that.
Upvotes: 0
Reputation: 34184
You cannot compare Hadoop with RDBMS on the first place, as it is not a database. It just provides you a FileSystem(HDFS) which like any other FS lacks the ability of random read/write. If you really want to have a distributed backend for your web app, you could make use of something like HBase on top of Hadoop. It'll provide you real-time, random read/write capabilities. And, yes most importantly, Hadoop is best suited for batch processing kinda stuff, as @Abhinav has already said.
Upvotes: 6
Reputation: 1282
In 1 line...NO...hadoop is meant for batch processing of large data....
Upvotes: 0