For Twitter, making sense of its mountains of user data was big enough of a problem that it purchased another company just to help get the job done.
Twitter's success is dependent entirely on how well it exploits the data its users generate. And it has a lot of data to work with: It hosts over 200 million accounts, which generate 230 million Twitter messages a day.
Last July, the social networking giant purchased BackType, a company with software, called Storm, that could parse live data streams such as millions of Twitter feeds. After the acquisition, Twitter released the source code of Storm, having no interest in commercialising the product itself.
Storm is valuable for Twitter for its own operations specifically because it can be useful in identifying emerging topics as they are unfolding, in real time, on the company's service. For instance, Twitter uses the software to calculate how widely Web addresses are shared across multiple Twitter users in real-time.
Such a job "is a really intense computation, which could involve thousands of database calls and millions of follower records," said Nathan Marz, Twitter lead engineer for Storm, who explained the technology in December at a New York conference held by Big Data software vendor DataStax.
Using a single machine, computing the reach of a Web address could take up to 10 minutes. But spread across 10 machines, Marz explained, it could execute in as little as a few seconds. For a company that makes money selling ads against emerging trends, the faster operation can be crucial.
Like Twitter, organizations are finding that they have a great deal of data on hand, and that the data could potentially be used to maximize profits and improve efficiencies -- if they can organize and analyze it quickly enough. This pursuit, made possible by a number of new technologies that are mostly open source is often referred to as big data.
"It absolutely gives us a competitive advantage if we can better understand what people care about and better use the data we have to create more relevant experiences," said Aaron Batalion, chief technology officer for online shopping service LivingSocial, which uses technologies such as the Apache Hadoop data processing platform to glean more information about what their users want.
"The days are over when you build a product once and it just works," Batalion said. "You have to take ideas, test them, iterate them, use data and analytics to understand what works and what doesn't in order to be successful. And that's how we use our big data infrastructure."
Big data getting bigger
Last May, consulting firm McKinsey and Company issued a report that anticipated how organizations would be deluged with data in the years to come. They also predicted that a number of industries -- including health care, public sector, retail, and manufacturing -- would benefit by analyzing their rapidly growing mounds of data.
Collecting and analysing transactional data will give organizations more insight into their customers' preferences. It can be used to better inform the creation of products and services, and allow organizations to remedy emerging problems more quickly.
"The use of big data will become a key basis of competition and growth for individual firms," the report concluded. "The use of big data will underpin new waves of productivity growth and consumer surplus."
Of course, Teradata, IBM and Oracle, among many others, have been offering terabyte scale data warehouses for more than a decade. These days, however, data tends to be collected and stored in a wider variety of formats and can be processed in parallel across multiple servers, which would be a necessity given the amounts of information being analyzed. In addition to exhaustively maintained transactional data from databases and carefully culled data residing in data warehouses, organizations also are reaping untold amounts of log data from servers and forms of machine generated data, customer comments from internal and external social networks and other sources of loose, unstructured data.
"Traditional data systems simply don't handle big data very well, either because they can't handle the variety of data -- today's data is much less structured because it evolves very quickly, and because [such systems] just cannot scale at the rate it which they must ingest data," said Eric Baldeschwieler, chief technology officer of Hortonworks, a Yahoo spinoff company that offers a Hadoop distribution.
Such data is growing at an exponential rate, thanks to Moore's Law, pointed out Curt Monash, of Monash Research. Moore's Law states that the number of transistors that can be placed on a processor wafer doubles approximately every 18 months. Each new generation of processors is twice as powerful as its most recent predecessor. And, not surprisingly, the power of new servers also doubles every 18 months, which means their activities will generate correspondingly larger datasets as well.
The big data approach represents a major shift in how data is handled, said Jack Norris, vice president of marketing for MapR. Before, carefully culled data was piped through the network to a data warehouse, where it could be further examined. With increasing amounts of data, however, "the network becomes the bottleneck," he said. Distributed systems such as Hadoop allow the analysis to occur where the data resides.
Instead of creating a clean subset of user data to place in a data warehouse to be queried against a limited number of predetermined ways, big data software just collects all the data an organization generates, and allows administrators and analysts to worry about how to use the data later. In this sense, they are more scalable than traditional databases and data warehouses.
How the Internet spurred big data
In many ways, the giant online service providers such as Google, Amazon, Yahoo, Facebook and Twitter have been on the cutting edge of learning how to make the most of such large data sets. Google and Yahoo, among others, had a hand in developing Hadoop. Facebook engineers first developed the Apache Cassandra distributed database, also open source.
Hadoop got its start from a 2004 Google white paper, one that described the infrastructure Google built to analyze data across many different servers, using an indexing system called Bigtable. Google kept Bigtable for internal use, but Doug Cutting, a developer who had already created the Lucene/Solr open source search engine, created an open source version, naming the technology after his son's stuffed elephant.
One early adopter of Hadoop was Yahoo. The company hired Cutting and started dedicating large amounts of engineering work to refining the technology around 2006. "Yahoo had lots of interesting data across the company that could be correlated in various ways, but it existed in separated systems," said Cutting, who now works for Hadoop distribution provider Cloudera.
Yahoo is now one of Hadoop's biggest users, deploying it on more than 40,000 servers. The company uses the technology in a variety of ways. Hadoop clusters hold massive log files of what stories and sections users click on. Advertisement activity is also stored on Hadoop clusters, as are listings of all the content and articles Yahoo publishes.
"Hadoop is a great tool for organizing and condensing large amounts of data before it is put into a relational database," Monash said. The technology is particularly well suited for searching for patterns across large sets of text.
Another big data technology that got its start at an online service provider was the Cassandra database. Cassandra is able to store 2 million columns in a single row, making it handy for appending more data onto existing user accounts, without knowing ahead of time how the data should be formatted.
Using a Cassandra database can also be advantageous in that it can spread across multiple servers, which helps organizations scale their databases easily beyond a single server, or even a small cluster of servers.
Cassandra was developed by social-networking giant Facebook, which needed a massive distributed database to power the service's inbox search, said Jonathan Ellis, the Apache Cassandra project chairman and cofounder of DataStax, a company that now offers professional support for Cassandra.
Like Yahoo, Facebook wanted to use the Google Bigtable architecture, which could provide a column-and-row-oriented database structure that could be spread across a large number of nodes. The limit of Bigtable was that it was a master-node-oriented design. The whole operation depended on a single node to coordinate read and write activities across all the other nodes. In other words, if the head node went down, the whole system would be useless.
"That's not the best design. You want one where if one machine goes down, the others keep going," Ellis said.
So Ellis and his peers built Cassandra using a distributed architecture developed by Amazon, called Dynamo, which Amazon engineers described in a 2007 paper. Amazon first developed Dynamo to keep track of what its millions of online customers were putting in their shopping carts.
The Dynamo design is not dependent on any one master node. Any node can accept data for the whole system, as well as answer queries. Data is replicated across multiple hosts.
To the enterprise
The good news is that many of the tools first developed by these online service providers are becoming more available for enterprises as open source software. These days, big data tools are being tested by a wider range of organizations, outside the large online service providers. Financial institutions, telecommunications, government agencies, utility companies, retail, and energy companies all are testing big data systems, Baldeschwieler noted.
"There is an air of inevitability" with Hadoop and big data implementations, he said. "It's applicable to a huge variety of customers."
So how does an organization start to use its heaps of machine generated and social networking data?
Perhaps surprisingly, setting up the infrastructure will not be the biggest challenge for the CIO. Vendors such as Cloudera, Hortonworks, MapR and others are commercializing big data technologies, in effect, making them easier to deploy and manage.
Rather, finding the right talent to analyze the data will be the biggest hurdle, according to Forrester Research analyst James Kobielus.
Organizations will "have to focus on data science," Kobielus said. "They have to hire statistical modelers, text mining professionals, people who specialize in sentiment analysis."
Big data relies on solid data modeling, Kobielus said. "Statistical predictive models and test analytic models will be the core applications you will need to do big data," he said.
Many are predicting that big data will bring about an entirely new sort of professional, the data scientist. This would be someone with a deep understanding of mathematics and statistics who also knows how to work with big data technologies.
These people may be in short supply. By 2018, the United States alone could face a shortage of 140,000 to 190,000 people with deep analytical skills as well as 1.5 million managers and analysts with the know-how to use the analysis of big data to make effective decisions, McKinsey and Company estimated.
Despite these limitations, organizations need to forge ahead just to stay competitive and efficient, said MapR's Norris. As an example, he pointed to Google, which entered the field of Internet search years after the competition did, only to have dominate the market within two years.
"A lot of that was due to the advantages of Google's back-end architecture," Norris said. Big data "is a big paradigm shift that has the potential to change industries."
Join the CIO New Zealand group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.