Skip to content

The future of chunk_store in Zarr #2495

@jhamman

Description

@jhamman

History

Zarr-Python 2 included the concept of a separate chunk_store. This was added very early on (#37) in Zarr's development and has not been widely used. Its biggest flaw is that it effectively is a runtime configuration for the storage layout of a Zarr hierarchy.

Splitting the storage behavior (or location) of metadata and chunks is not a bad idea. In fact, a number of systems have already implemented this (but without using Zarr's chunk_store argument). Examples include:

There are surely more. The point is that each of these have formalized the chunk store concept via a single store and with well defined specification of the storage layout.

Deprecation ahead of 3.0

This issue tracks the deprecation of this feature ahead of the 3.0 release. A deprecation warning will be added to Zarr's 2.18.4 release. Passing chunk_store to constructors and utility functions will raise a NotImplementedError in 3.0.

Formalizing the chunk store concept in 3.0

Zarr Python 3.0 will remove support for a separate chunk store in the API. However, creating custom stores will be supported. Beyond tracking the deprecation of the chunk_store argument in 2.18, this issue will serve as the place to discuss a fresh design for split metadata/chunks stores in Zarr-Python 3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements to the documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions