On a related note, I find it amusing that people seem to think that "Big Data == Hadoop". In actuality, there are plenty of other approaches to scaling out clusters to handle large jobs, including MPI and OpenMP, as well as BSP (Bulk Synchronous Parallel)[3] frameworks. [1]: http://en.wikipedia.org/wiki/Message_Passing_Interface [2]: http://en.wikipedia.org/wiki/OpenMP [3]: http://en.wikipedia.org/wiki/Bulk_synchrono…
Why do you find this amusing?
Don't use Hadoop when your data isn't that big
141–150 of 235 posts
Re: Don't use Hadoop when your data isn't that big
#142I love how whoever mods this site now doesn't even have to follow their own rule about not editorializing headlines. Mods: Don't be hypocrites. If you're going to enforce your "only use the source title" trash on us, follow it yourself. Original title: "Don't use Hadoop - your data isn't that big" Mod-invented title: "Don't use Hadoop when your data isn't that big"
Re: Don't use Hadoop when your data isn't that big
#143Earlier quoted context omitted.
> "Hadoop is not a database!" Nor does the essay claim that Hadoop is a database. > "If your problem fits this, Hadoop absolutely rocks" The essay points out that most systems which do use Hadoop don't actually fit the Hadoop model, and that other 'mature application infrastructures' would be more effective than Hadoop. You misinterpreted it to mean the converse. It also agrees with you that there are cases where "Ha…
Sorry, I didn't mean to offend you in any way! First, I really don't like if somebody by default compares Hadoop with SQL and this is a widespread confusion - they are completely different beasts; in fact an extension called Hive gives Hadoop + HTable an SQL-like syntax. However Hadoop is a parallel, batch-processing platform. Hadoop is slow-responding, you can't even talk about latency because a single task takes a…
The first comparison was to Scala, and then to SQL. The main comparison was to SQL and a Python script. While it does talk more about SQL than other solutions, I don't see that as a default comparison.
> "For those, the in-memory, GPGPU, streams are much better"
I'll go off on a bit of philosophical tangent here. Yes, GPGPUs can be more effective for the task I'm doing, since I'm actually memory bound. However, GPGPUs require dedicated hardware, while the code I work is effective even on laptops with limited GPUs, including web servers.
Ideologically, I prefer to enable single-person developers, and scientists who do not have much training in hardware and network administration. For that situataion, GPGPUs are not "much better", because so long as the performance is fast enough, it doesn't need to be faster. And 100 ms is "fast enough."
> "This way you don't need to transfer a lot of data"
True. But to point out, I used the traditional approach of developing a file format which can be memory-mapped directly to my internal data structures, and a search algorithm which doesn't need to search the entire data set before loading it. These optimizations aren't synergistic with how I understand how Hadoop works.
> Hadoop's tragedy ... mostly driven by technologically clueless people
The author of the essay agrees with you. Here's the P.P.S.:
"I don’t intend to hate on Hadoop. I use Hadoop regularly for jobs I probably couldn’t easily handle with other tools. ... Hadoop is a fine tool, it makes certain tradeoffs to target certain specific use cases. The only point I’m pushing here is to think carefully rather than just running Hadoop on The Cloud in order to handle your 500mb of Big Data at an Enterprise Scale."
This is why I don't think you actually disagree with the author.
> Think about your case for chemical structures - is there any part of your algorithm that needs to be computed only occasionally but it's a lot of data to process?
Certainly, but there are two other important facets to that. 1) updates occur weekly, a full rebuild on a single core only takes 12 hours, and those 12 hours aren't critical, and 2) the deltas are relatively small and data from previous builds can be reused, so incremental updates should take about 30 minutes - I'll be working on that code in the next couple of weeks.
It's easier to have a cron job trigger a command-line program every week than to set up a Hadoop server.
Re: Don't use Hadoop when your data isn't that big
#144Earlier quoted context omitted.
For some reason, wrapping my mind around this is like trying to fathom the Grand Canyon or the scale of the universe.
You and me both. It's made even worse when you learn that the first-level trigger removes 90% of the input stream before passing it to 2,000 computers, which in turn select only 0.2% of that data for storage and further analysis. https://lhcb-public.web.cern.ch/lhcb-public/en/Data%20Collec...
Computing and particle physics is where awesome meet.
Re: Don't use Hadoop when your data isn't that big
#145While I couldn't agree more with the general point of the article, I have some small additional comments. Just as a bit of background, I think that Chris would very much agree that I am not the intended recipient of this advice, and so my comments probably aren't keeping in the spirit of the article. I've spent the last 10+ years exclusively in very large HPC environments where the average size of the problem set is…
Re: Don't use Hadoop when your data isn't that big
#146On a related note, I find it amusing that people seem to think that "Big Data == Hadoop". In actuality, there are plenty of other approaches to scaling out clusters to handle large jobs, including MPI and OpenMP, as well as BSP (Bulk Synchronous Parallel)[3] frameworks. [1]: http://en.wikipedia.org/wiki/Message_Passing_Interface [2]: http://en.wikipedia.org/wiki/OpenMP [3]: http://en.wikipedia.org/wiki/Bulk_synchrono…
Why do you find this amusing?
Re: Don't use Hadoop when your data isn't that big
#147While I couldn't agree more with the general point of the article, I have some small additional comments. Just as a bit of background, I think that Chris would very much agree that I am not the intended recipient of this advice, and so my comments probably aren't keeping in the spirit of the article. I've spent the last 10+ years exclusively in very large HPC environments where the average size of the problem set is…
"Big Data starts at 1.5 PB [because that's what fits in memory on Blue Waters]" -- Bill Gropp On today's top HPC installations, it currently takes about an hour to read or write the contents of memory from/to global storage. If the workflow has broad dependencies (PDEs are especially bad, but lots of network analysis also fits the bill), it's much better to use more parallelism to run for a shorter period of time wit…
Re: Don't use Hadoop when your data isn't that big
#148Hooray! Some sense at last. I have worked for at least 3 different employers that claimed to be using "Big Data". Only one of them was really telling the truth. All of them wanted to feel like they were doing something special. The sad thing is, they were all special, each in their own particular way, but none of what made each company magic and special had anything to do with the size of the data that they were hand…
Yes I've worked for a couple of outfits that did this over the years. It's usually down to who sold them the solution though. It's worst if the salesperson is external. The funniest has to be the engineering company which I used to work with (not for thank fuck) back in the 90's (when 100Gb was big data!). They managed to bag 2x full 42U racks full of HP N-Class HPUX UNIX kit, PDU systems and separate disk arrays for…
We really just want high throughput for linear scans; possibly with a small amount of parallelism, which would argue for a fairly simple solution with as little cacheing as possible (ideally none whatsoever) ... but I cannot even tell (from the website & the literature that I can access) how these things are supposed to operate -- which is a worrying sign in itself.
Previously, I got good performance out of a SAN using a handful of NexSan SataBeasts -- which I would have recommended to use again, if anybody had bothered to ask.
:-)
Re: Don't use Hadoop when your data isn't that big
#149I have been looking into building simple recommendation engine (i have at max million data rows) using Python. I looked into Crab ( https://github.com/muricoca/crab ) and it seems to not have updated for 2 years. Any suggestions for libraries or just use basic numpy/scipy and implement the algorithms?
Re: Don't use Hadoop when your data isn't that big
#150"We don't have big data" or "our data is rather small" -- said no dev team ever. "Big data" is like "cloud" it is a cool label everyone applying to their system. Just like OO was in its time. Well once they applied the label they feel they need to live up to it so well "we gotta use what big data companies use" and they pick Hadoop. I've heard hadoop used when MySQL, SQLite or even flat files would have worked.