zarr-specs
zarr-specs copied to clipboard
Explicitly listing groups/arrays inside group metadata?
I'm curious if explicitly listing groups/arrays inside group metadata has been discussed before.
The downside is that this is redundant and potentially duplicate information (but in some sense so is all group metadata, see "implicit groups").
One advantage would be that this would eliminates the need to list the contents of a store and check for the existence of metadata objects, which can sometimes be rather expensive. It's kind of a half-way step to the consolidated metadata of Zarr v2.
It's also potentially useful for making group creation/modification atomic without race conditions like https://github.com/zarr-developers/zarr-python/issues/1435, because the canonical list of a group's contents is a single metadata file rather than a collection of sub-directories, which usually cannot be modied in an atomic fashion.