Files
git.stella-ops.org/docs/features/unchecked/platform/materialized-views-for-analytics.md

1.9 KiB

Materialized Views for Analytics

Module

Platform

Status

IMPLEMENTED

Description

Materialized views with indexes, VEX validity filters, and deterministic arrays are used for analytics with a dedicated maintenance service for refresh.

Implementation Details

  • PlatformAnalyticsMaintenanceService: src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsMaintenanceService.cs -- BackgroundService that periodically refreshes 4 materialized views (mv_supplier_concentration, mv_license_distribution, mv_vuln_exposure, mv_attestation_coverage) using REFRESH MATERIALIZED VIEW CONCURRENTLY; supports daily rollup backfill, configurable interval, and run-on-startup mode via PlatformAnalyticsMaintenanceOptions
  • PlatformAnalyticsQueryExecutor: src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsQueryExecutor.cs -- executes analytical queries against materialized views
  • PlatformAnalyticsService: src/Platform/StellaOps.Platform.WebService/Services/PlatformAnalyticsService.cs -- service layer for analytics queries (suppliers, licenses, vulnerabilities, backlog, attestation coverage, vulnerability/component trends)
  • AnalyticsEndpoints: src/Platform/StellaOps.Platform.WebService/Endpoints/AnalyticsEndpoints.cs -- REST API at /api/analytics with 7 endpoints: suppliers, licenses, vulnerabilities, backlog, attestation-coverage, trends/vulnerabilities, trends/components; all require AnalyticsRead authorization
  • Source: Feature matrix scan

E2E Test Plan

  • Verify materialized views refresh concurrently without blocking reads
  • Test daily rollup backfill covers configured BackfillDays range
  • Verify analytics endpoints return correct data from materialized views
  • Test analytics service returns 503 when analytics storage is not configured
  • Verify trend endpoints return daily data points for specified time windows