Skip to content

ADR-002: PostgreSQL first, analytical store later

Decision

Use PostgreSQL for v0.1 of this self-hosted open-source platform.

Context

The initial platform has moderate data volume and requires transactional consistency across datasets, experiments, evaluations and metadata.

Adding ClickHouse, Redis and object storage immediately would increase operational complexity without proving the need. The same discipline applies to identity systems: keep the runtime small for local and private deployments.

Consequences

Positive: - simple local setup - easy development - fewer moving parts - straightforward migrations

Negative: - not optimized for very high-volume trace analytics

Migration trigger

Introduce an analytical store when load tests demonstrate that: - trace ingestion/list queries exceed target latency, or - retention/analytics volume makes PostgreSQL materially unsuitable.

The architecture must keep repository interfaces abstract enough to permit this migration.