Terminology and Conventions
This document defines the terminology used throughout Primatomic documentation.
Service Guarantees
Section titled “Service Guarantees”Primatomic provides the following guarantees:
Durability
Section titled “Durability”- Events appended to a log are durably stored before the append response is returned.
- The service does not acknowledge an append until the event is persisted.
Log Ordering
Section titled “Log Ordering”- Events within a single log are assigned strictly monotonically increasing sequence numbers.
- Each event is stored exactly once with a unique sequence number.
- The service never reorders or skips events within a log.
View Processing
Section titled “View Processing”- Views process events in sequence order.
- View execution is at-least-once: events may be reprocessed after failures.
- Views are expected to be deterministic. Applying the same event sequence must produce the same state.
Consistency
Section titled “Consistency”- When a query specifies a sequence number, the response reflects all events up to and including that sequence.
- Queries without a sequence number may return stale results.
Isolation
Section titled “Isolation”- Tenants cannot access other tenants’ logs, views, or data.
- API keys only authorize access to the owning tenant’s resources.
Availability
Section titled “Availability”- The service maintains high availability through distributed leadership election.
- View queries may be temporarily unavailable during leader transitions.
Definitions
Section titled “Definitions”| Term | Definition |
|---|---|
| Tenant | An isolated account with its own logs, views, and API keys. |
| Log | An append-only sequence of events belonging to a tenant. |
| Event | A binary payload appended to a log, assigned a sequence number. |
| View | A WASM component that processes log events and maintains queryable state. |
| Sequence Number | A monotonically increasing identifier assigned to each event in a log. |
| Leader | The node responsible for processing events and serving queries for a view. |
| Snapshot | A serialized representation of view state used for recovery. |
| Stale Read | A query that may not reflect the most recent events. |
| Read-After-Write | A consistency model where reads reflect preceding writes. |