Skip to content

Commit 6bb9f9f

Browse files
committed
add key comparisons
1 parent cd03581 commit 6bb9f9f

File tree

1 file changed

+52
-3
lines changed

1 file changed

+52
-3
lines changed

slides/v3-update-20190619.md

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ document. Store.*
486486
* Metadata documents are defined using the JSON type system (objects,
487487
arrays, strings, numbers).
488488

489-
* Metadata documents are encoded for storage.
489+
* Metadata documents are serialised (encoded) for storage.
490490

491491
* Default encoding is JSON, but protocol extensions can define other
492492
encodings for group and array metadata, see below.
@@ -870,18 +870,67 @@ Operation | Implementation
870870

871871
### Making hierarchy discovery more efficient
872872

873-
* Current v3 resolves this by two means:
873+
* Current v3 resolves this by three means:
874874

875875
1. Split the [storage key
876876
space](https://zarr-specs.readthedocs.io/en/core-protocol-v3.0-dev/protocol/core/v3.0.html#storage-keys),
877877
so all metadata keys have prefix "meta/" and all chunk keys have
878878
prefix "data/".
879+
880+
2. Change the format of metadata keys slightly (see below).
879881

880-
2. Leverage the fact that many stores, including cloud object
882+
3. Leverage the fact that many stores, including cloud object
881883
stores, can support `list_prefix(prefix)` and/or
882884
`list_dir(prefix)` operations, which natively list all keys with
883885
a given prefix.
884886

887+
===
888+
889+
### v2/3 comparison - storage keys
890+
891+
Bootstrap metadata ...
892+
893+
Version | Storage key
894+
--- | ---
895+
v2 | N/A
896+
v3 | `zarr.json`
897+
898+
===
899+
900+
### v2/3 comparison - storage keys
901+
902+
Array metadata, e.g., for array at path "/foo/bar" ...
903+
904+
Version | Storage key
905+
--- | ---
906+
v2 | `foo/bar/.zarray`
907+
v3 | `meta/root/foo/bar.array`
908+
909+
===
910+
911+
### v2/3 comparison - storage keys
912+
913+
Group metadata, e.g., for group at path "/foo/baz" ...
914+
915+
Version | Storage key
916+
--- | ---
917+
v2 | `foo/baz/.zgroup`
918+
v3 | `meta/root/foo/baz.group`
919+
920+
===
921+
922+
### v2/3 comparison - storage keys
923+
924+
Chunk data, e.g., for chunk at grid index (0, 0) in 2D array at path "/foo/bar" ...
925+
926+
Version | Storage key
927+
--- | ---
928+
v2 | `foo/bar/0.0`
929+
v3 | `data/foo/bar/0.0`
930+
v3* | `data/foo/bar/0/0`
931+
932+
<small>* chunk key format can be configured in array metadata</small>
933+
885934
====
886935

887936
### [Core protocol](https://zarr-specs.readthedocs.io/en/core-protocol-v3.0-dev/protocol/core/v3.0.html#protocol-operations) - examples

0 commit comments

Comments
 (0)