Repository navigation
Glossary
Access key (jza1-...). A key issued by a shared file's owner that opens only the partitions and column groups it
was granted. Read-only. See Access Control.
Access-controlled file (shared file). A file with an owner key and access keys, signed by the owner.
Analyze. explain(filter, { analyze: true }): runs a query and reports what it read (rows, bytes, chunks, index
sections, column streams).
Append. A change written at the end of a file without touching existing bytes. Cheap; compact later.
Catalog. The file's description of itself: header, directories, statistics, indexes and key slots. Stored at the end, so writers can stream.
Chunk. A block of rows (4,096 by default), stored column by column, compressed and encrypted on its own. The unit a query reads.
Chunk statistics. Each chunk's minimum, maximum and null count per column. Let queries skip chunks that can't match.
Codec. The compression of each section: deflate (default), brotli (smaller; not in browsers) or none.
Column group. A named set of columns in a shared file, granted to keys separately. Columns in no named group form
the default group *.
Column stream. One column's values within one chunk. A query decodes only the streams it needs.
Compact. A rewrite that drops deleted and replaced rows, removes expired grants and re-locks the file with fresh
secrets. regroup also gathers each partition's rows together.
Compact indexes (compactIndexes). Sorted indexes stored as differences between keys: much smaller for numbers and
dates. Readers need 1.2 or later (reader feature index-deltas).
Embedded file. Any file (PDF, image, HTML, font, video) stored inside a .jzm file, in 256 KiB blocks.
Export shape. A JSON template that turns flat rows into nested JSON or XML. See Export Shapes.
File id. 16 random bytes identifying one version of a file, readable without a key (inspect()). A key service uses
it with a key id to issue unlock tokens.
Filter. The JSON query language shared by JavaScript, .NET, browsers, the CLI and GraphQL. See Filter Language.
Grant. What an access key may see: rows (partitions), columns (column groups), files, a label, an expiry and a mode.
Index. An optional per-column structure: sorted (equality, ranges, prefixes) or trigram (text contains).
Key (jzk1-...). 32 random bytes as text with a checksum. Encrypts a file, or is the owner key of a shared file.
Key service. Your server that issues unlock tokens for online grants, and may require 2FA first.
Key slot. The part of a shared file holding one access key's granted secrets.
Keyset paging. Asking for the rows after the last one you saw ({ id: { gt: lastId } }) instead of using a large
offset: stays fast however deep you page.
Metadata. Your own key/value information stored in a file (source, export date...). Visible to every key holder of a shared file.
Online grant. A grant whose holder also needs an unlock token from the key service to open the file.
Offline grant. A grant whose expiry the library enforces on the device (the default).
Owner key. The key of a shared file: reads everything, is the only key that can change the file or grant access, and signs the file. Keep it on servers; browsers refuse it.
Package. A file's embedded website: an entry page and the files it uses, shown by the viewer and printed by
renderPdf.
Partition. All rows sharing a value of the partitionBy column in a shared file: the unit of row access.
Priority. memory, balanced or speed: what reads and writes favour where memory and speed pull apart.
Reader feature. A capability a file announces because readers must understand it; readers that don't refuse the file and name the feature.
Section. Any stored unit of a file (a chunk part, an index page, the header...), with its own envelope, CRC and key.
Select. The query option listing the columns to return; only those (and the filter's) are decoded.
sortedBy. The declared order of a file's rows. Makes lookups and ranges on the first column skip to the right
chunks with no index.
Submission key. A key derived from an access key, sealed in the shared file, used to lock records sent back to the owner. See Sending Records Back.
Table. A set of columns and rows. A file has one by default and can hold several.
Trailer. The last 44 bytes of a file: where the header is, a CRC, and the magic JZM1.
Unlock token (jzu1-...). What an online grant needs, besides the access key, to open a file.
Viewer. The web app that opens .jzm files in a browser. See Viewer and Browser.
JAZMIN 1.2 · file format 1.0 · Repository · npm · NuGet · MIT license · Examples in this wiki are run and checked by tools/check-examples.mjs
Start
Using files
- Writing Files
- Nested Columns
- Reading and Querying
- Filter Language
- .NET Serializer and LINQ
- Updating and Appending
- Several Tables
- Converting JSON, CSV, XML
- Export Shapes
Security and sharing
- Encryption and Keys
- Access Control
- Masked Columns
- Time-Limited Access
- Sending Records Back
- Security Model
Documents and apps
Performance
Reference