Supported workloads and constraints
mainWhen designing your application with Sirix, note the following workload characteristics:
| Dimension | Supported | Notes |
|---|---|---|
| Document model | JSON, XML | One or the other per resource; no mixing |
| Document size | up to 64 KiB per LZ77 block | Documents > 64 KiB fall back to literal-only (no compression) |
| Page size | 256 KiB ceiling | Practical max for in-memory page buffers |
| Concurrency | Many readers, 1 writer | Exactly one writer per resource (via Semaphore(1)) |
| Bitemporality | System & Valid time | Queryable via jn:all-times, jn:open-bitemporal, sdb:timestamp, sdb:valid-from |
| Versioning | Multiple strategies | FULL, INCREMENTAL, DIFFERENTIAL, SLIDING_SNAPSHOT (default) |
| Indexes | Various | name, path, CAS, and HOT (height-optimized trie) |
| Query language | JSONiq & XQuery | Via Brackit; JSONiq includes a cost-based optimizer |