NEW
Also known as: Data Co-location
Principle of executing computation near where data resides to minimize network transfer and improve performance.
DESCRIPTION
Data locality optimizes distributed processing by scheduling tasks close to the data’s physical storage. Systems like Hadoop and Spark attempt node-local or rack-local execution to reduce network bottlenecks. Locality benefits include lower latency and higher throughput, especially for large scans and joins. Strategies include partitioning, co-location, and caching. Trade-offs arise with load balancing and cluster heterogeneity.
ALTERNATIVE DEFINITIONS
Apache Hadoop
MapReduce exploits data locality by attempting to run map tasks on or near the storage nodes where the input data resides.
Highlights map task scheduling near storage nodes to leverage locality.
Apache Spark
Spark tries to run tasks close to the data to reduce network I/O, achieving better performance through data locality.
Introduces locality levels and scheduling to minimize network I/O.
Wikipedia
Data locality refers to placing computation near the data to reduce latency and improve performance.
General principle describing proximity of compute and data.
RELATED TERMS
Hadoop MapReduce Apache Spark Partitioning Sharding Caching Distributed File Systems NUMA Presto Edge Computing
COMPETING TERMS
Remote I/O Data Transfer
KNOWLEDGE AREAS
Data Engineering Infrastructure Real-time & Streaming Data
TARGET AUDIENCE
Data Engineer Software Developer Cloud Architect Data Architect
EXTERNAL SOURCES
- Wikipedia - Data locality
- Apache Hadoop - MapReduce data locality concepts
- Apache Spark - Spark task scheduling and locality
- Presto - Distributed SQL and data locality
TOP QUESTIONS
Why is Data Locality important in big data processing?
It reduces network traffic, lowers latency, and improves throughput by executing tasks where data physically resides.
Category: Relevancy
How do Hadoop and Spark use Data Locality?
Schedulers prefer node-local or rack-local tasks to minimize remote reads, improving job performance.
Category: Example
What affects Data Locality in clusters?
Data distribution, partitioning, replication, and storage topology influence locality opportunities.
Category: Overview
Does Data Locality conflict with load balancing?
Sometimes. Strict locality can create hotspots; schedulers balance between locality and fairness.
Category: Opinion
How to design for Data Locality?
Partition by access patterns, co-locate related datasets, and use caching layers near compute.
Category: Best practices
What’s a common mistake with Data Locality?
Ignoring skewed partitions leads to remote reads and stragglers. Plan for skew mitigation.
Category: Mistakes
Is Data Locality relevant for SQL engines?
Yes. Distributed SQL engines push computation to worker nodes close to data or use predicate pushdown.
Category: Overview
How to measure Data Locality benefits?
Track remote I/O percentages, task locality levels, and job runtimes before and after tuning.
Category: Observability
What are risks if Data Locality is ignored?
Higher latency, network congestion, and increased cost due to data movement across the cluster.
Category: Risks