Skip to main content

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.