The word comes from a blog post. On 14 October 2010 James Dixon, then CTO of Pentaho, wrote that a data mart is "a store of bottled water", "cleansed and packaged and structured for easy consumption", while a data lake is "a large body of water in a more natural state". Background from the resources, not from the slides.
Flexibility: schema-on-read and the data lake
After this lesson you will explain why big-data platforms apply the schema after the write instead of before it, draw the logical architecture of big data from ingestion to BI, and say what each zone of a data lake adds — and what all this flexibility costs.
Take the hospital of the most recent past paper (30 January 2026) — heating systems, floors, departments — and picture this. Two winters ago its IT team spent weeks agreeing on one table for the heaters' hourly readings: heater, time, kWh. Every reading since has been written into it, typed and checked. This morning the facility manager asks two questions: on which floors did it drop below 18 °C last winter, and did the gas heaters report errors before they broke down?
The thermostats sent the room temperature every hour; the gas heaters sent their error codes. The database holds none of it. Nothing crashed, nobody deleted anything. So where did the data go — and what would a system look like in which a question invented today can still be answered on data collected two years ago? The deck's answer fits in one word, alone on a slide. By the end of the lesson you will know where the values went, and what keeping them would have cost.
One keyword: flexibility
The deck "Towards NoSQL" opens its first section, "Towards Big Data Architectures", with a three-row comparison (p. 165). Read the rows as answers to three questions: which data, on what hardware, for what purpose.
| Traditional | Big Data | |
|---|---|---|
| Data Characteristics | "Relational (with highly modeled schema)" | icons only; text layer: "All Data (with schema agility)" |
| Cost | "Expensive (storage and compute capacity)" | "Commodity (storage and compute capacity)" |
| Culture | "Rear-view reporting (using relational algebra)" | "Intelligent action (using relational algebra AND ML, graph, streaming, image processing)" |
Data. The traditional side admits data only after it has been modelled into tables — a "highly modeled schema" designed before the first row arrives. The big-data cell has no words, only icons — read them as web pages, video, touch screens, tweets, searches: whatever form the data happens to have. "Schema agility" is the name for being able to take it anyway.
Cost. One expensive machine against many cheap, ordinary ones, for storage and for computing alike. Why the cheap machines win beyond a certain size — the cost curves and their grey area — is the subject of lesson 3.
Culture. A report looks backwards, like a rear-view mirror: what happened last month, computed with relational algebra. "Intelligent action" acts on the data, with machine-learning models, graph algorithms, streams and image processing. Notice the capital AND: relational algebra stays in the toolbox; the new tools join it.
The next slide is a single line: "One keyword: FLEXIBILITY" (p. 166). Every row is flexibility of a kind — in the data you accept, in the way you grow, in what you do with the data. This lesson follows the first kind, and its price.
Big data trades the guarantees of a structure designed up front for flexibility: in the data it accepts, the hardware it grows on and the analyses it runs.
Schema-less or implicit schema?
Page 168 is titled "The schema-less idea", and its first line is a question: "Schema-less or implicit schema?" Look at two documents from one collection of the hospital's heating systems — an HVAC system and a gas heating system, the two children of the (T, E) hierarchy in the exam's ER diagram:
{ "Heater_Sys_ID": "HS_1",
"Heating_Power": 150,
"Hourly_KWh_Cons": 42.0,
"Cost_Per_KWh": 0.25 }
{ "Heater_Sys_ID": "HS_2",
"Heating_Power": 120,
"Hourly_SQM_Cons": 3.5,
"Cost_Per_SQM": 0.9 }
No table declared these fields, and the store accepted both. Yet nothing about the data is shapeless: a program that computes the cost of an hour of heating must know that an HVAC system carries Hourly_KWh_Cons and Cost_Per_KWh and a gas system Hourly_SQM_Cons and Cost_Per_SQM.
# hourly cost of a heating system,
# whatever its kind
def hourly_cost(d):
if "Hourly_KWh_Cons" in d:
# an HVAC system
return (d["Hourly_KWh_Cons"]
* d["Cost_Per_KWh"])
if "Hourly_SQM_Cons" in d:
# a gas heating system
return (d["Hourly_SQM_Cons"]
* d["Cost_Per_SQM"])
raise ValueError("unknown kind")
For the two documents it returns 10.5 and 3.15. The if lines are a schema: they say which fields exist and what they mean. The schema has moved out of the database — where a relational DBMS would declare it and refuse every row that breaks it — into the code that reads the data. That is the answer to the slide's question.
Implicit schema — the structure that the programs writing and reading the data assume when the database itself neither declares nor enforces one. "Schema-less" means "no schema enforced by the DBMS", not "no structure".
The slide then sorts the non-relational models by what they treat as the unit of data (Fig. 1):
- Aggregate-based — "Key-value and document-based". The unit is an aggregate: a cluster of related data that is read, written and moved together, like a hospital with its buildings and departments. A key-value store keeps the aggregate as an opaque value under its key; a document store keeps it as a document whose fields the database can see and query.
- Relationship-based — graph databases. The unit is the connection: nodes and the relationships between them are stored as data, so a question that walks from a heating system to the floors it heats and on to the departments placed there follows stored links instead of matching keys.
The reference at the bottom of the slide, "Domain-Driven Design, by Eric Evans", is the book that named the aggregate.
Aggregate-based: one hospital, one unit
Relationship-based: the links are the data
HOSP_1, a document store can look inside. Right: heating system HS_2 heats floors F2 and F3, on which department D1 (cardiology) is placed. "Which departments does HS_2 heat?" walks two stored relationships (orange) instead of joining tables.This split is the first thing that the one-point question of five past papers, "Which DB technology would be the best to store the entities/rel. of the ER diagram?", asks of you: which parts of a diagram are aggregates, read as a unit, and which are webs of relationships. Lesson 5 completes the list of database types; the last exam question below is a first try.
The schema moves after the write
The hospital of the hook ran the traditional pipeline. Pages 169–170 set it next to the new one under the title "Paradigmatic shift introduce by Big Data", and redrawn side by side the two stacks make their point by position alone.
Before: schema on write (p. 169)
After: schema on read (p. 170)
Schema on write (p. 169): collect, apply a complex schema, write, analyse. The schema comes first, so it has to be designed before anybody knows all the questions — the slide's "Long lasting discussion about the schema that can accommodate all needs". Whatever the finished schema has no place for is dropped or refused on the way in, and the second bullet follows from the order of the steps: "Some analysis can no longer be performed because the data were lost at writing time". That is where the room temperatures went.
Schema on read (p. 170): collect, write, and only then — separately for every analysis — apply a simple schema and analyse. The slide says it in three lines: "Load data first, ask question later"; "All data are kept, the minimal schema need for an analysis is applied when needed"; "New analyses can be introduced in any point in time". The data-wrangling deck puts it in one sentence: "In schema on read, data is applied to a plan or schema as it is pulled out of a stored location, rather than as it goes in", right after "Today data modeling at design time is a luxury" (p. 1142, lesson 37).
You have met this move before, at the level of method: one of the four paradigmatic shifts of lesson 2 sets "Carefully cleanse information Before any analysis" against "Analyze information as is, Cleanse as needed" (p. 27). Schema on read is the same shift applied to the data model.
Both ideas have a twin you already know. In statistics, keeping only the sample means you planned is schema on write; keeping the raw observations is schema on read, the only way to compute a statistic nobody thought of at collection time. And Python checks a type when the line runs, not before — Kleppmann compares schema on read to exactly this dynamic type checking (background, not slides).
What is gained, what is paid
Nothing is lost at writing time: every field of every record is kept.
New analyses at any time, each with its own minimal schema.
No "long lasting discussion" before the first byte is stored, and faster writes, since nothing is checked (course notes, §3.1.2).
The guarantees of the relational schema — "Typing", "Coherence", "Uniformity" (p. 144, lesson 3) — are no longer checked at the write.
Bad values are found late, by every reader that meets them.
Every analysis re-interprets the raw data: the schema is written many times, and two readers may assume different ones.
"Schema on read means there is no schema." There is one per analysis, applied when the data is read — the small {heater, sqm: number} of the gas analysis in the widget. What disappears is the single schema imposed on everything at write time.
Schema on write decides at design time what will survive; schema on read keeps everything and lets each analysis bring its own schema.
The logical architecture of big data
Page 171, "Logical Architecture of Big Data", turns the principle into a platform. Follow one thermostat reading of the hospital through it, from the bottom up.
Data Ingestion. The reading arrives with thousands of others and is imported, transferred and loaded — "The process of importing, transferring and loading data for storage and later use" (p. 159, lesson 3).
Raw Big Data Landing Zone — "Any data, any form, many schemata (if any) (e.g., csv, json, txt, …)". The JSON is written as it came,
room_tempand all. This is the write of schema on read: nothing is dropped.Data Wrangling — "understanding, cleansing, augmenting and shaping data" (p. 160). Here the "n/a" values are found and a format is chosen; the method itself fills lessons 35–37.
Big Data Long Term Storage — "Data format optimized for querying, but without an integrated schema (e.g., ORC, parquet)". The readings are rewritten in a columnar file format: fast to scan, still not bound to the schema of any one analysis.
ETLs #1 … #n. For the facility manager's question an ETL extracts floor, time and room temperature, transforms them into the schema that fits the analysis and loads them. This is the point where a schema is applied — one per purpose.
Data View #1 … #n, and on top the consumers: BI dashboards ("BI #1.a", "BI #1.b" …) or "<<anything>> e.g., algorithm for process optimization" — say, a model that schedules the heaters.
Two things in the picture deserve a second look. Nothing below the ETLs carries an integrated schema: the landing zone takes "any data, any form", and even the long-term storage keeps the data free of the schema of any particular use. And "ORC, parquet" are columnar file formats: a file stores the values of each column together, block by block, so a job that needs three columns reads only those three — the "best format (e.g., columnar)" that the wrangling slide asks for (p. 160). Lesson 40 opens such a file.
ETL, and virtual ETL
The arrows "ETLs #i" have a slide of their own, "Extract Transform Load (in the Big Data era)" (p. 175): "The process that extracts data from heterogeneous data sources, transforms it in the schema that better fits the analysis to perform and loads it in the system that will perform the analysis." The slide then draws it twice.
ETL: scheduled, into a target
Virtual ETL: on demand, no target
The slide shows only the pictures; the standard reading of them is a trade-off. The classic ETL, run every night say, gives fast queries on a materialised copy — but the data is only as fresh as the last run, and the copy has to be stored. The virtual ETL keeps no copy and is always fresh, but every query pays for the extraction and loads the sources. The slides do not say which kind feeds the data views of p. 171: a view that is stored and refreshed needs a classic ETL, a view computed when it is queried a virtual one. The target of a classic ETL is typically a data warehouse — lesson 23.
The data lake and its zones
The next slide names the store in which all this raw data collects: "The Concept of Data Lake" (p. 172), an infographic built as a water cycle: "The concept can be compared to a water body, a lake, where water flows in, filling up a reservoir and flows out." Its four numbered circles:
- "The incoming flow represents multiple raw data archives ranging from emails, spreadsheets, social media content, etc."
- "The reservoir of water is a dataset, where you run analytics on all the data."
- "The outflow of water is the analyzed data."
- "Through this process, you are able to "sift" through all the data quickly to gain key business insights."
Around the lake the slide lists both inflows: STRUCTURED DATA, "Information in rows and columns", and UNSTRUCTURED DATA — "Raw, unorganized data", emails, PDF files, images, video and audio, social media. The course notes (§3.1.3) add why one lake is better than many: the organisation gets "only one centralized data source for all its analytical needs, as opposed to silos based approaches" — not a database per department, each with its own schema and its own copy.
Data lake — one centralised reservoir that receives structured and unstructured data in raw form, and on which all the analytical jobs run; the schema is applied when the data is read.
A lake of raw files has an obvious way to fail, and the notes name it: "it's important to organize and index well all the incoming data, or we could end up with a huge Data Swamp where it's impossible for everyone to find what they're looking for". They give the remedy in the next sentence: the incoming raw data "gets incrementally refined and enriched in order to improve accessibility, by adding metadata and indexing tags and by performing quality checks". The next slide, "Data Lakes in Process" (p. 173), draws that refinement as four zones.
- Transient zone — "Ingest, Tag, & Catalog Data": every incoming file is labelled and entered in a catalogue, so that it can be found.
- Raw zone — "Apply Metadata, Protect Sensitive Attributes": who produced it, when, in which format; personal data masked or locked.
- Trusted zone — "Data quality & Validation": the values are checked against what they should be.
- Refined zone — "Enrich Data & Automate Workflows": joined with other data, prepared for use and refreshed without manual work.
On its left the slide shows where data comes from — STREAMING, FILE DATA, RELATIONAL — and on its right who uses it, the CONSUMER SYSTEMS: "Data Catalog, Data Prep Tools, Data Visualization, External Connectors". Try the zones on three of the hospital's files.
Put p. 171 and p. 173 side by side and they tell one story: the transient and raw zones do their work where the landing zone of p. 171 sits, wrangling produces trusted data, and the ETLs and data views draw on refined data. The slides do not draw this link; it is a reading that ties an answer together.
"A data lake is a data warehouse with more data." A warehouse is the schema-on-write side: data modelled, cleaned and integrated before it is loaded, for reporting (lesson 23). A lake is schema on read: raw data first, structure per analysis. The data views of p. 171 are warehouse-like products built from the lake.
Objects against tables — and the hospital's answer
The deck adds one more motivation, from the programmer's side: "Another issue: ORM" (p. 174), with three bullets — "Impedance Mismatch", "Object-Relational Mapping problem (and solution)", "Object Orientation (OODB)" — and under the last one, "Commercial failure!".
Concretely: in a program, a department of the hospital is one object, with its specialty, the list of floors it occupies and the list of people who work for it, each with a role. In a relational database the same department is spread over three tables — Department, Placed_Into and Works_For — rebuilt with joins at every read and taken apart into rows at every write.
In the program: one object
In the database: three tables
That translation is the impedance mismatch: the program thinks in nested objects with references, the database in flat rows linked by keys. Object-relational mapping (ORM) frameworks are the "solution" in brackets: they generate most of the translation code — but the two shapes stay different. Object-oriented databases tried to remove the mismatch by storing the objects themselves; the slide's verdict is the sub-bullet, "Commercial failure!".
Document stores attack the same problem from the data side: a document has the shape of the object. The MongoDB deck lists "Solves Impedance Mismatch problem" among the reasons for going document-based, next to "Handles Schema Changes Well (easy development)" (p. 291, lesson 13). Flexibility again — this time for the programmer.
The hospital's question, answered
Now the hook. The room temperatures were not deleted: they were never written. The heater table was schema on write — its schema stood between the collection and the write, and every field outside heater, time and kWh was dropped by design; "the data were lost at writing time" (p. 169). In the widget, the reading whose kwh was "n/a" even took a good room temperature with it when the typing check refused it.
A schema-on-read platform would have written the thermostat JSON into the landing zone as it came, and today's question would bring its own small schema — floor, time, room temperature — to two-year-old data: "Load data first, ask question later" (p. 170). The price would have been paid elsewhere. Someone had to tag and catalogue those files in the transient zone, or the lake would be a swamp in which nobody could find them today; and the analysis itself must cope with values like "n/a" that no DBMS refused at the write. Flexibility is not free: it moves the work from the writer to the reader.
Exam-style questions
Theory questions in the form of the written exam — short open answers, multiple-choice and true/false questions, where wrong answers may be penalised (that is announced just before the exam) — and one exercise in the form of the papers' one-point table.
Describe the paradigmatic shift from schema on write to schema on read introduced by Big Data. Explain the two pipelines and give one advantage and one disadvantage of schema on read.
Show model answer
In schema on write, the traditional approach, data is collected, a complex schema is applied, and only then the data is written and analysed. The schema must be designed in advance, after a long discussion, to accommodate all needs; whatever does not fit is dropped or refused when it is written, so some analyses can no longer be performed later because the data were lost at writing time. In schema on read, data is collected and written as it is, and each analysis applies, when needed, the minimal simple schema it requires: load data first, ask questions later. Advantage: all data is kept, so new analyses can be introduced at any point in time (and writes are fast, since nothing is checked). Disadvantage: nothing is checked at write time — typing and coherence are no longer enforced by the DBMS, errors are discovered late by every reader, and each analysis must interpret the raw data itself; without metadata and organisation the data lake can turn into a data swamp.
A complete answer gets three things right: the order of the steps in both pipelines — the position of the schema relative to the write — the slides' two consequences (data lost at writing time against new analyses at any time), and one real cost of schema on read. Writing "schema on read means no schema" contradicts the slides.
True or false: in a "schema-less" NoSQL database the stored data has no schema.
Show model answer
False. The data always has a structure, but in a schema-less store it is not declared to and enforced by the database: it is an implicit schema, assumed by the applications that write and read the data, and with schema on read it is applied when the data is read.
The slide itself asks "Schema-less or implicit schema?" (p. 168). In an open variant of the question, "implicit schema" is the phrase to write.
Consider the hospital heating management system of the exam of 30 January 2026 (Hospital, Building, Floor, Department, Person, Heating System with its children HVAC System and Gas Heating System). The hospital wants to keep its heater readings (CSV), thermostat events (JSON) and maintenance reports (PDF) for analyses that are not known yet. Describe the logical architecture of big data presented in the lecture, from ingestion to the consumers, saying what each layer would hold for this hospital and at which point a schema is applied.
Show model answer
Data ingestion imports, transfers and loads the readings, the thermostat events and the reports from their sources. The raw big data landing zone keeps any data in any form, with many schemata if any — here the CSV, JSON and PDF files exactly as they arrive. Data wrangling understands, cleanses, augments and shapes the raw data, for example removing invalid readings. The big data long-term storage keeps the wrangled data in a format optimised for querying but without an integrated schema, such as ORC or Parquet columnar files. On top of it, one ETL per purpose extracts the data it needs, transforms it into the schema that fits the analysis and loads it into a data view — for example a view of kWh per floor and day. The consumers of the data views are BI dashboards or any other application, such as an algorithm that optimises the heating schedule. The schema that fits an analysis is applied only at the ETL step, separately for each data view: this is schema on read.
Get the layers in the right order first; the sentence on where the schema enters shows why the architecture is built this way. The hospital examples are ours: the slide gives only csv, json, txt and ORC, parquet. A variant asks for the ETL of p. 175: learn its definition word for word — it "extracts data from heterogeneous data sources, transforms it in the schema that better fits the analysis to perform and loads it in the system that will perform the analysis" — and the contrast with a virtual ETL, which keeps no target and integrates the sources when a query arrives.
Which statements about data lakes are correct, according to the lecture? Select all that apply.
Show model answer
The second, fourth and fifth statements. The zones, in order: transient (ingest, tag and catalog data), raw (apply metadata, protect sensitive attributes), trusted (data quality and validation), refined (enrich data and automate workflows).
Wrong answers may be penalised, so a zone matched to the wrong task costs you: learn the four zones as a sequence, each with what it does.
What is the impedance mismatch? Explain how object-relational mapping and object-oriented databases relate to it.
Show model answer
The impedance mismatch is the difference between the data structures of application code — objects, nested and connected by references — and those of a relational database — flat tables whose rows are linked by keys. Every read must join tables to rebuild an object, and every write must take the object apart into rows. Object-relational mapping (ORM) frameworks automate this translation layer: they reduce the hand-written code but do not remove the mismatch. Object-oriented databases (OODB) tried to remove it by storing the objects directly, but they were a commercial failure. Document databases address it from the data side, because a document has the nested structure of the object.
A complete answer has the three items of the slide: the definition, ORM as the translation layer (its "problem (and solution)"), and the commercial failure of OODBs. The last sentence connects to the MongoDB deck (p. 291).
In the form of Exercise 1, "Unstructured data models (1 PT)", of five past papers (6 June 2024 to 13 June 2025), on the ER diagram of the exam of 30 January 2026 (a hospital heating management system; that paper itself has no such exercise). Entities: Hospital (Hospital_ID, Name), Building (Building_ID, Name, Year), Floor (Floor_ID, Number, Has_Elevator), Department (Department_ID, Specialty, N_Beds, Head_Physician_ID), Person (P_ID, Email), Heating System (Heater_Sys_ID, Heating_Power) with the children HVAC System (Hourly_KWh_Cons, Cost_Per_KWh) and Gas Heating System (Hourly_SQM_Cons, Cost_Per_SQM), ISA (T, E). Relationships, with the cardinalities as printed on the paper: Has H. Sys. (Hospital 1:N, Heating System 1:1), Has Building (Hospital 1:N, Building 1:1), Has Dept. (Hospital 1:N, Department 1:1), Has Floor (Building 1:N, Floor 1:1), Placed Into (Department 1:N, Floor 1:N), Heats (Heating System 1:N, Floor 1:N; Start_Time, End_Time), Works For (Department 1:N, Person 1:N; Role).
Which DB technology would be the best to store the entities/rel. of the ER diagram? [you may not need all the rows of the table] (1 PT) — ENTITIES / REL. | DB TYPE | MOTIVATION
Show model answer
| ENTITIES / REL. | DB TYPE | MOTIVATION |
|---|---|---|
| Heating System (with HVAC System and Gas Heating System), Floor, Building, Department; Heats, Placed Into, Has Floor | Graph DB (Neo4j) — relationship-based | Many-to-many relationships with attributes (Heats: Start_Time, End_Time) and questions that walk several of them, e.g. departments occupying more than two floors of the same building and the power of the heaters of those floors: each hop follows a stored relationship instead of a join. The two children become nodes with an extra label and their own properties. |
| Hospital with Building and Department, Person; Has Building, Has Dept., Works For | Document DB (MongoDB) — aggregate-based | A hospital is read together with its buildings and departments: one aggregate, with nested sub-documents (the people of a department with their role). Queries count inside the aggregate, e.g. hospitals with more than 10 buildings or departments with more than 25 people, with no join and no $lookup. |
The split follows the paper's own exercises: its Neo4j exercise uses Heating System, Floor, Building and Department, its MongoDB exercise Hospital, Building, Department and Person — so Building and Department appear in both rows. The real table also admits key-value, columnar and search-based rows; lesson 5 completes the list. Here the point is the split of p. 168: aggregates for what is read as one unit, a graph for webs of relationships.
Check yourself
In the schema-switch widget, in schema-on-write mode, reading R7 arrives with heater, time, kwh, room_temp and floor. What does the database end up holding for R7?
Which of these are costs of moving the schema from the write to the read? Select all that apply.
Why is "Apply Complex Schema" drawn below "Write Data" on p. 169, while "Apply Simple Schema" is drawn above it on p. 170?
A shop stores each order with its order lines and shipping address, always read and written as one unit. It also wants "customers who bought this also bought" over chains of four purchases. Following p. 168, which pairing fits?
A file with staff e-mail addresses goes straight from its relational source into the refined zone, skipping the transient, raw and trusted zones. Which problem comes from skipping the raw zone in particular?
A dashboard must show the heating of the last minute, read from three operational systems that change all the time; it is opened a few times a day. Which kind of ETL from p. 175 fits better?
On p. 165 the Culture row reads "Intelligent action (using relational algebra AND ML, graph, streaming, image processing)". What does the capitalised AND tell you?
Key take-aways
- Big data differs from traditional data in three rows — data (relational, highly modelled schema → all data, schema agility), cost (expensive → commodity storage and compute), culture (rear-view reporting → intelligent action with relational algebra AND ML, graph, streaming, image processing) — and the deck sums them up in one keyword: FLEXIBILITY.
- A "schema-less" store has an implicit schema: the structure still exists, but the applications assume it instead of the DBMS enforcing it. Non-relational models are aggregate-based (key-value, document: a unit read and written together) or relationship-based (graph: relationships stored as data), and "graph DBs are better than relational" holds only for relationship-centred queries.
- Schema on write — collect, apply a complex schema, write, analyse — needs a long discussion up front and loses at writing time whatever does not fit. Schema on read — collect, write, apply a simple schema per analysis, analyse — keeps all data and admits new analyses at any time, but moves checks and interpretation into every reader.
- The logical architecture runs data ingestion → raw landing zone (any data, any form) → data wrangling → long-term storage (query-optimised, no integrated schema: ORC, Parquet) → ETLs → data views → BI or anything; the schema enters at the ETL of each view. A classic ETL loads a target on a schedule, a virtual ETL integrates at query time with no target.
- A data lake is one centralised reservoir of raw structured and unstructured data on which all analytics run. Its transient (ingest, tag, catalog), raw (metadata, protect sensitive attributes), trusted (quality, validation) and refined (enrich, automate) zones keep it from becoming a data swamp.
- The impedance mismatch is the gap between nested objects in code and flat tables in the database: ORM automates the translation, OODBs tried to remove it and were a commercial failure, and document stores answer it with documents shaped like the objects.
What to watch and read
-
Pentaho, Hadoop, and Data Lakes
James Dixon, 20102 min
The blog post that named the data lake, with the bottled-water metaphor of the story box: the lake keeps everything so that questions nobody has asked yet can still be answered.
-
Aggregate Oriented Database
Martin Fowler, 2012
The aggregate of p. 168 in one short page: why key-value, document and column-family stores share it, why it suits clusters, and when a relational or graph database fits better.
-
What is a data lake?
Amazon Web Services
Warehouse and lake side by side — schema designed before capture against after it, a cleaned single source of truth against raw everything: Fig. 2 in a vendor's words.
-
Schemaless Data Structures
Martin Fowler, 2013
The implicit-schema argument in full: what you gain with non-uniform records, and what you pay when every reader must agree on a schema that nobody checks.
-
Big data architectures
Microsoft Learn, Azure Architecture Center
A current version of p. 171 — sources, storage, batch and stream processing, analytical store, analytics — plus the lambda and kappa variants, which the slides do not cover.