Databases
Relational Storage – PostgreSQL
Primary relational database for all off-chain services. Stores structured business objects—users, bonds, companies, and transactions. Each service uses its own schema. The PostgreSQL operator ensures HA and automatic failover.
Architecture principles:
- each major domain area owns its own schema or database boundary, according to operational deployment design
- DEUSS Backoffice, DEUSS Core, Broker Platform, and the Validator Application must be treated as separate persistence domains — each component must have its own DB schema (or its own DB instance)
- relational storage is used for structured business entities, operational metadata, workflow state, identities, and integration state
- direct cross-domain reads from another domain’s relational store are not allowed
- cross-domain data consumption must happen through published service APIs
For PostgreSQL topology, HA, backup, and operational design, see the dedicated storage article.
Data Warehouse – The Graph
Data analytics layer using subgraphs. Stores indexed on-chain data optimised for reporting, analytics dashboards, and regulatory exports.
Indexing Layer – Subgraph / Subsquid
Provides structured, versioned, queryable datasets derived from blockchain events. Serves analytical and reporting backends.
Monitoring Storage (Prometheus, Loki, Grafana)
Time-series database (Prometheus) for metrics, log aggregation storage (Loki), and dashboards (Grafana). Provides APM, alerting, and audit trails.