Hello again from CyberSpace!
This post is all about big data, what it is, why it's important, and why it matters. I've done some research into Hadoop before, but that work wasn't posted here, and it was limited to one big data solution. So let's get started!
First, it will probably help to define big data. Webster's Dicti.... wait, isn't that too 20th century? Wikipedia defines 'big data' as data that is so large that it be difficult to work with using on-hand database management tools. This can also mean that the data isn't stored anywhere on your system, but on the Internet itself. Big data isn't new: fields such as meteorology and genomics (genetic research) find that there is more data than can be easily stored and queried using standard relational databases.
Being an SQL fan myself, big data had me somewhat curious as to how one would go about extracting any information if it isn't stored locally. The answer is a "No SQL" database - a database that does not use SQL as its primary query language. These databases typically use a key-value pairs to find data, cannot be join tables, and scale horizontally. This sounds impressive, but given the limited uses for this type of search, there are only a few companies that can make good use of the technology. Just ask these fuzzy little guys. WARNING!! Video contains harsh language. Even so, these types of databases allow Google to search millions of web pages in seconds. Nothing to scoff at, as some have suggested Google saved the Internet.
I know what you're thinking - "So I know what big data is, and that No SQL databases are used in big data, but I'm still a little iffy. Do you have any concrete examples for me to wrap my brain around?" Glad you asked, because I'll tell you about not just one, but three - Hadoop, Pig, and Hive. All three are offered by Apache, and by the sounds of their products, they are going into the farming business. Obviously they aren't, so let's examine what each one of these are:
- Hadoop
- Hadoop is software framework that allows the coordination of multiple servers to process resource intensive work - just like big data. Hadoop is scalable, so that the program go from using one server to thousands with little effort on the programmer's part. In relation to big data, Hadoop is the software that allows programs to be written that can process petabytes of data quickly.
- Pig
- If Hadoop is the data gathering side of big data, Pig is the analysis side of big data. Pig is fairly new, but has some great potential. Let's face it - what good is collecting a petabyte of data if you can't do anything with it?
- Hive
- The most aptly named of the three programs, Hive stores the data collected by Hadoop, just like a hive stores honey (and bees!). Interestingly enough, Hive uses HiveQL, which is supposed to be like SQL.
Now that we know the what and how, let's that a look at why. Why is big data important? As I already said, Google used the idea to change search engines, but that was years ago, and only a few companies today are in the business of big data. But as we move into the future, we are going to be dealing with more data - a LOT more. According to the SSI, we are adding data by 60% annually. As we continue to add more data to our lives, and machines start to gather more data about their existence, we have to find better ways of using the data. Considering how cheap data storage is becoming, and how many things have computers in them now, big data is really just a natural response. We have tons of data collected by millions of devices, and curious human minds want to know what all that data has to tell us!
