Zum Inhalt

Datenspeicherung und automatische Bereinigung

ID: TRADINGDL-004 · Service: trading-data-layer · Status: 🟢 aktiv · Use Case: UC-TDL-004, UC-TDL-005, UC-TDL-006


Alle gesammelten Daten werden in PostgreSQL gespeichert. Daten älter als 6 Monate werden automatisch bereinigt. Der Service stellt Endpunkte zur Verfügung über die andere Services den Datenstatus prüfen können.


Datenbank

Feld Wert
Engine PostgreSQL
Schema market_data

Tabellen

Forex Ohlcv

Columns

Eintrag 1
Feld Wert
ID SERIAL PRIMARY KEY
Eintrag 2
Feld Wert
Pair VARCHAR(10)
Eintrag 3
Feld Wert
Open DECIMAL(10,5)
Eintrag 4
Feld Wert
High DECIMAL(10,5)
Eintrag 5
Feld Wert
Low DECIMAL(10,5)
Eintrag 6
Feld Wert
Close DECIMAL(10,5)
Eintrag 7
Feld Wert
Volume BIGINT
Eintrag 8
Feld Wert
Timestamp TIMESTAMPTZ
Eintrag 9
Feld Wert
Created At TIMESTAMPTZ DEFAULT NOW()

Indexes

  • pair + timestamp (UNIQUE)
  • timestamp (für Range-Queries)

Economic Events

Columns

Eintrag 1
Feld Wert
ID SERIAL PRIMARY KEY
VARCHAR(255)
Eintrag 3
Feld Wert
Country VARCHAR(10)
Eintrag 4
Feld Wert
Currency VARCHAR(10)
Eintrag 5
Feld Wert
Category VARCHAR(50)
Eintrag 6
Feld Wert
Actual DECIMAL(10,4)
Eintrag 7
Feld Wert
Forecast DECIMAL(10,4)
Eintrag 8
Feld Wert
Previous DECIMAL(10,4)
Eintrag 9
Feld Wert
Event Time TIMESTAMPTZ
Eintrag 10
Feld Wert
Created At TIMESTAMPTZ DEFAULT NOW()

Economic Indicators

Columns

Eintrag 1
Feld Wert
ID SERIAL PRIMARY KEY
Eintrag 2
Feld Wert
Indicator VARCHAR(100)
Eintrag 3
Feld Wert
Country VARCHAR(10)
Eintrag 4
Feld Wert
Value DECIMAL(10,4)
Eintrag 5
Feld Wert
Periode VARCHAR(20)
Eintrag 6
Feld Wert
Timestamp TIMESTAMPTZ
Eintrag 7
Feld Wert
Created At TIMESTAMPTZ DEFAULT NOW()

Correlation Data

Columns

Eintrag 1
Feld Wert
ID SERIAL PRIMARY KEY
Eintrag 2
Feld Wert
Instrument VARCHAR(20)
Eintrag 3
Feld Wert
Price DECIMAL(10,4)
Eintrag 4
Feld Wert
Currency Correlation VARCHAR(10)
Eintrag 5
Feld Wert
Timestamp TIMESTAMPTZ
Eintrag 6
Feld Wert
Created At TIMESTAMPTZ DEFAULT NOW()

Retention

Feld Wert
Duration 6 months
Cleanup Schedule 0 2 * * *
Strategy DELETE WHERE timestamp < NOW() - INTERVAL '6 months'

Health Check

Endpoint: /health

Checks

  • datenbankverbindung
  • letzter erfolgreicher Abruf je Datentyp
  • Anzahl Datenpunkte der letzten 24h

Abnahmekriterien

  • [ ] Alle Tabellen werden beim Start automatisch erstellt (falls nicht vorhanden)
  • [ ] Daten älter als 6 Monate werden täglich um 02:00 Uhr gelöscht
  • [ ] Health-Check Endpoint gibt Status aller Datenquellen zurück
  • [ ] Datenbankverbindung wird bei Ausfall automatisch neu aufgebaut
  • [ ] Alle Schreiboperationen sind transaktionssicher

Changelog

Eintrag 1

Version: 1.0

Changes: Initiale Version