Zum Inhalt springen

Nichtfunktionale Anforderungen (NFR)

Status: Entwurf · Spec-Kandidat: ja (Querschnitt über mehrere Specs)

IDAnforderungZiel
NFR-001DatenkonsistenzACID-konforme Speicherung
NFR-002Verfügbarkeitproduktionsgeeigneter Betrieb mit Monitoring und Backup
NFR-003Performanceübliche Listen- und Filterabfragen performant ausführbar
NFR-004Erweiterbarkeitneue Typen ohne Datenbankschemaänderung
NFR-005Integritätrelationale Beziehungen und kontrollierte Löschregeln
NFR-006SicherheitAuthentifizierung, Autorisierung, TLS, Audit
NFR-007Wartbarkeitklare API, Migrationen, Versionierung
NFR-008BeobachtbarkeitLogging, Metriken, Health Checks
NFR-009Portabilitätcontainerisierter Betrieb
NFR-010SQL-Fähigkeitad-hoc Abfragen und Reporting sollen möglich bleiben

Querverweise

NFRVerantwortliche Spec(s)
NFR-001, NFR-005DDL, Trigger, Validierung
NFR-002Backup und Restore, Beobachtbarkeit
NFR-003Indizes, Suche und Filterung
NFR-004Domänenmodell
NFR-006Autorisierung, Authentifizierung, Transport und Sicherheits-Audit
NFR-007REST API, CI/CD und Migrationen
NFR-008Beobachtbarkeit
NFR-009Laufzeitumgebung
NFR-010Views, SQL / Reporting

Performance-Zielwerte (NFR-003, OP-07, gesetzt 2026-04-29)

V1-Ziele, P95-orientiert. P99 toleriert bis 3× P95; alles darüber ist Capacity-Issue.

MetrikV1-Ziel
Read-by-ID (Single Entity inkl. JSONB-Casts)P95 ≤ 50 ms
Liste à 50 Records mit Filter + VolltextP95 ≤ 200 ms
Single-Insert / -Update einer EntitätP95 ≤ 150 ms
relate / unrelate einer BeziehungP95 ≤ 200 ms
Throughput pro Tenant — Readssustained 200 req/s
Throughput pro Tenant — Writessustained 50 req/s
Datenvolumen pro Tenantbis 5 Mio Entities, 20 Mio Relations
Concurrent active User je Tenant50
Worker-Pool je AA_JOB.job_kind4 parallel

Lasttest-Profile decken Worst-Case-Tenant (volles Datenvolumen + voller Cache-Refresh) und Cold-Start (leerer Redis-Cache, OP-24) ab.

Offen

  • (gestrichen — siehe oben)