bigdata.foundation
big data

Building blocks

A big-data system is assembled from a small number of kinds of component. The names change every few years; the kinds have been stable since the mid-2000s.

Building blockWhat it doesFirst widely known form
Distributed file systemStores very large files as blocks spread over many machines, each block in several copiesGoogle File System paper, 2003
Object storageStores any blob under a key, with no folders and practically no size limitPublic cloud storage services, from 2006
Batch engineRuns one computation over an entire dataset, in parallelMapReduce paper, 2004; Hadoop, 2006
In-memory engineThe same, keeping intermediate results in memorySpark, 2010
Distributed logAn append-only sequence of events that many consumers read at their own paceKafka, 2011
Stream processorMaintains running results as events arriveOpen-source systems of the early 2010s
Key-value and wide-column storesLook up and update single records at very large scale, relaxing some guarantees of a relational databaseBigtable paper, 2006; Dynamo paper, 2007
Columnar storageStores each column together, so a query reads only the columns it needsC-Store, 2005; Dremel paper, 2010
Data warehouseCleaned, structured data organised for analysisDescribed by Bill Inmon, 1992
Data lakeRaw data kept as it arrived, given structure only when readTerm introduced by James Dixon, 2010

The three Vs

The usual definition comes from a 2001 research note by Doug Laney, which described data growing along three dimensions at once: volume, velocity and variety. Later writers added more Vs — veracity, value — with less agreement. The phrase “big data” itself was already in use in Silicon Valley in the 1990s.