You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,15 +33,15 @@ Let's break down what "transactional storage engine for Zarr" actually means:
33
33
Zarr defines the metadata for describing arrays (shape, dtype, etc.) and the way these arrays are chunked, compressed, and converted to raw bytes for storage. Zarr can store its data in any key-value store.
34
34
There are many different implementations of Zarr in different languages. _Right now, Icechunk only supports
If you're interested in implementing Icehcunk support, please [open an issue](https://github.com/earth-mover/icechunk/issues) so we can help you.
36
+
If you're interested in implementing Icechunk support, please [open an issue](https://github.com/earth-mover/icechunk/issues) so we can help you.
37
37
-**Storage engine** - Icechunk exposes a key-value interface to Zarr and manages all of the actual I/O for getting, setting, and updating both metadata and chunk data in cloud object storage.
38
38
Zarr libraries don't have to know exactly how icechunk works under the hood in order to use it.
39
39
-**Transactional** - The key improvement that Icechunk brings on top of regular Zarr is to provide consistent serializable isolation between transactions.
40
-
This means that Icechunk data are safe to read and write in parallel from multiple uncoordinated processes.
40
+
This means that Icechunk data is safe to read and write in parallel from multiple uncoordinated processes.
41
41
This allows Zarr to be used more like a database.
42
42
43
43
The core entity in Icechunk is a repository or **repo**.
44
-
A repo is defined as a Zarr hierarchy containing one or more Arrays and Groups, and a repo functions as
44
+
A repo is defined as a Zarr hierarchy containing one or more Arrays and Groups, and a repo functions as a
45
45
self-contained _Zarr Store_.
46
46
The most common scenario is for an Icechunk repo to contain a single Zarr group with multiple arrays, each corresponding to different physical variables but sharing common spatiotemporal coordinates.
47
47
However, formally a repo can be any valid Zarr hierarchy, from a single Array to a deeply nested structure of Groups and Arrays.
@@ -116,7 +116,7 @@ You can then update these virtual datasets incrementally (overwrite chunks, chan
116
116
## How Does It Work?
117
117
118
118
**!!! Note:**
119
-
For more detailed explanation, have a look at the [Icechunk spec](./docs/docs/spec.md).
119
+
For a more detailed explanation, have a look at the [Icechunk spec](./docs/docs/spec.md).
120
120
121
121
Zarr itself works by storing both metadata and chunk data into a abstract store according to a specified system of "keys".
122
122
For example, a 2D Zarr array called `myarray`, within a group called `mygroup`, would generate the following keys:
0 commit comments