In PuzzleDB, both the coordinator service and the store service use key-value stores to store data. The coordinator uses a key-value store to store states, messages, jobs, and indices, while the store uses a key-value store to store to store records, schemas, and indices.
Since both services may use the same key-value store implementation, the key-value store specifications are designed not to affect each other. This document provides a list of these specifications.
Category | Key Order | Value | ||
---|---|---|---|---|
0 | 1 | 2 | ||
Message | Header (M) | Logical Clock | - | CBOR (Message) |
State | Header (S) | State Type | (Key) | CBOR (State) |
Job | Header (J) | Job ID | - | CBOR (Job) |
Category | Key Order | Value | |||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | ||
Database | Header (D) | Database | - | - | CBOR (Options) |
Collection | Header © | Database | Collection | - | CBOR (Schema) |
Object | Header (O) | Database | Collection | Element | CBOR (Object) |
Index | Header (I) | Database | Collection | Element | Tuple (Key) |