Scientific computing was moving from local files to object stores, but giant arrays in monolithic formats were awkward to slice remotely. Reading a small region could still mean dragging too much data through the network.

Zarr's trick was to keep the mental model as an N-dimensional typed array while changing the storage unit. Data lives in compressed chunks, each with a deterministic key, and metadata describes shape, type, chunk grid and codecs.

That made the format fit distributed computing: workers could read chunks in parallel, and different implementations could target Python, Rust, JavaScript, Java, C++ and other languages. OGC later endorsed Zarr V2.0 as a community standard for multidimensional array storage.

Make every chunk addressable

Chunk keys map naturally onto cloud object stores and byte-addressable storage.

JSON metadata made the format inspectable and easy for independent implementations to parse.

The v3 spec formalized extension points so codecs and chunk grids could evolve without central rewrites.

It solved a real pain in climate, microscopy, remote sensing and simulation workflows.

For cloud data, the winning format is often the one that makes partial reads cheap without making scientists abandon their array model.

Zarr became a common substrate for analysis-ready scientific data. The project lists implementations in 10 languages and eight public datasets totaling about 3.1 PB; OGC's standard page describes Zarr as an open-source specification for ND-array data and metadata.

FOLLOW THE EVIDENCE

The sources

  1. Zarr core specification zarr-specs.readthedocs.io
  2. Zarr Storage Specification ogc.org
  3. Zarr Implementations zarr.dev
  4. Zarr Datasets zarr.dev