EuraStudy
Big data is data too large, too fast or too varied for traditional tools and techniques to store and process, and this chapter explains its characteristics and how it is tackled. It covers the defining three Vs - volume, velocity and variety - the fact-based and graph-based models used to represent it, and the distributed processing that handles it, including why the functional programming paradigm is so well suited to running computations in parallel across a cluster.
3 sections~11 min reading time3 competenciesLevel Standard 1 · Advanced 2
basic level
AS-Level students meet big data mainly as context; the full detail is A-Level.
higher level
The full A-Level expects the characteristics of big data, fact-based and graph models, and the link between functional programming, immutability and distributed/parallel processing.
Reading depth: In depth
Text size: Standard
The characteristics of big data
A wind-farm operator collects readings from thousands of turbine sensors many times a second, mixing numeric telemetry, maintenance text logs and photographs. Explain which Vs are challenging.
Thousands of sensors sampled frequently produce an enormous, ever-growing quantity of readings - too much for a single server to hold or scan efficiently.
Readings arrive continuously and many times a second, so they must be ingested and processed as a real-time stream, not a nightly batch.
Numeric telemetry, free-text logs and images together do not fit one relational schema - a mix of structured, semi-structured and unstructured data.
Result: All three Vs are present: the volume, velocity and variety together make this a big-data problem requiring distributed storage and processing rather than a single relational database.
Typical mistakes
Active revision
A retailer wants to analyse in real time the clicks, searches, social-media mentions and purchases of millions of customers. Explain, using the three Vs, why this is a big-data problem and why a single relational database would struggle.
Active recall
Recall the key points — then reveal.
Sources: GCE AS and A level subject content for computer science (Department for Education) · AQA A-level Computer Science 7517 specification (AQA)
A graph-based data model
A fraud team needs to find rings of accounts that transfer money to one another in circles. Explain why a graph model suits this better than relational tables.
What matters is the pattern of transfers between accounts - the edges - not just the accounts themselves.
Finding a circular chain of transfers in relational tables needs the transactions table joined to itself repeatedly, once per hop - expensive and awkward for chains of unknown length.
In a graph model each account is a node and each transfer an edge; a circular ring is a cycle, found directly by traversing edges without repeated joins.
Result: A graph-based model represents the transfers as traversable edges, so detecting cycles (fraud rings) is a natural graph traversal - far more efficient than the many self-joins a relational database would require.
Typical mistakes
Active revision
Explain why a social network that must answer 'who are the friends-of-friends of this user?' would use a graph-based model rather than a relational database, and explain how the immutability of a fact-based model helps when data is spread across many machines.
Active recall
Recall the key points — then reveal.
Sources: AQA A-level Computer Science 7517 specification (AQA)
The MapReduce data flow
Show how MapReduce would count word occurrences in the two short documents 'the cat sat' and 'the cat ran', explaining each phase.
Each document is processed independently, emitting (word, 1) for each word. Doc 1: (the,1)(cat,1)(sat,1); Doc 2: (the,1)(cat,1)(ran,1).
Pairs are grouped by key: the -> [1, 1]; cat -> [1, 1]; sat -> [1]; ran -> [1].
For each key, sum the values: the -> 2, cat -> 2, sat -> 1, ran -> 1.
Result: The counts are the: 2, cat: 2, sat: 1, ran: 1. Because map runs independently per document and reduce independently per key, both phases parallelise across the cluster - the essence of processing big data.
Typical mistakes
Active revision
Explain, with reference to side effects and immutability, why functional programming makes distributed processing safer than imperative code. Then describe how MapReduce would count how many times each word appears across a huge collection of documents.
Active recall
Recall the key points — then reveal.
Sources: AQA A-level Computer Science 7517 specification (AQA)
References & sources
Department for Education