A C-backed numpy data type with preallocated provenance buffers captures cell-level lineage up to 275x faster than a naive Python implementation on element-wise operations and scales to 100 million cells.
Compression and In-Situ Query Processing for Fine-Grained Array Lineage
1 Pith paper cite this work. Polarity classification is still indexing.
abstract
Tracking data lineage is important for data integrity, reproducibility, and debugging data science workflows. However, fine-grained lineage (i.e., at a cell level) is challenging to store, even for the smallest datasets. This paper introduces DSLog, a storage system that efficiently stores, indexes, and queries array data lineage, agnostic to capture methodology. A main contribution is our new compression algorithm, named ProvRC, that compresses captured lineage relationships. Using ProvRC for lineage compression result in a significant storage reduction over functions with simple spatial regularity, beating alternative columnar-store baselines by up to 2000x}. We also show that ProvRC facilitates in-situ query processing that allows forward and backward lineage queries without decompression - in the optimal case, surpassing baselines by 20x in query latency on random numpy pipelines.
citation-role summary
citation-polarity summary
fields
cs.DB 1years
2025 1verdicts
CONDITIONAL 1roles
background 1polarities
unclear 1representative citing papers
citing papers explorer
-
Fast Capture of Cell-Level Provenance in Numpy
A C-backed numpy data type with preallocated provenance buffers captures cell-level lineage up to 275x faster than a naive Python implementation on element-wise operations and scales to 100 million cells.