liveBook · Manning

Larger-than-memory data

As explained in Fast Python: High performance techniques for large datasets

Larger-than-memory data is data whose total size exceeds the available main memory for processing it all at once.

Larger-than-memory data exceeds available main memory, so processing must avoid loading the complete dataset or data structure at once. Two foundational techniques are memory mapping and chunking, applied here to Parquet and CSV files. section 8.3

Dask extends familiar pandas- and NumPy-like interfaces to larger-than-memory data frames and arrays. Its partitioned data model and mostly lazy execution differ from eager in-memory libraries, making the execution model central to effective use. section 10.0 section 10.4

Practical approaches include:

  • Use memory mapping or chunking as direct techniques for processing oversized files. section 8.3
  • Use Dask when larger-than-memory arrays or data frames require partitioned computation across a single machine or larger architectures. section 10.0 section 10.4
  • Inspect task graphs, persistence, repartitioning, and scheduler behavior when analyzing execution and performance trade-offs. section 10.4

From files to partitioned computation

A CSV or Parquet workload can begin with chunking or memory mapping. A larger analysis can instead use a Dask data frame or array, inspect its task graph, and choose an execution architecture appropriate to the environment. section 8.3 section 10.4

How Fast Python: High performance techniques for large datasets covers it

How deep it goes
Builds from memory mapping and chunking to Dask’s partitioning, lazy semantics, task graphs, and scheduling trade-offs.
Examples
Uses Parquet and CSV files, Dask data frames and arrays, task graphs, repartitioning, persistence, and scheduler dashboards.
What it assumes
Assumes familiarity with pandas, NumPy, and parallelism while grounding advanced workflows in memory mapping, chunking, and execution semantics.
What you can do after
Apply it via memory mapping, chunking, or Dask while adapting partitioned computation and scheduling to the execution environment.
How it connects
Connects memory mapping, chunking, partitioning, lazy execution, pandas, NumPy, parallelism, and distributed scheduling.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Fast Python: High performance techniques for large datasets. The section links point to the parts of the book it draws on.