Data Model

Core hierarchy and cost-rate tables for TCO.

Core hierarchy: Provider → Region, Provider → InstanceType; InstanceType + Region → Price. FxRate for currency conversion. Cost-rate tables (by provider) for TCO: EgressRate, StorageRate, PublicIpRate, OsLicenseRate.

erDiagram
    Provider ||--o{ Region : "has"
    Provider ||--o{ InstanceType : "has"
    InstanceType ||--o{ Price : "has"
    Region ||--o{ Price : "scoped to"
    FxRate }o--|| Price : "EUR lookup"
    Provider ||--o{ EgressRate : "TCO"
    Provider ||--o{ StorageRate : "TCO"
    Provider ||--o{ PublicIpRate : "TCO"
    Provider ||--o{ OsLicenseRate : "TCO"
            

Key entities

  • Provider — slug (aws, hetzner, …), type (HYPERSCALER, EU, REGIONAL)
  • Region — slug, country, is_eu
  • InstanceType — vcpu, ram_gb, arch, gpu_count, family
  • Price — purchase_model (ON_DEMAND, SPOT, RESERVED), price_per_hour, price_eur_per_hour, append-only
  • FxRate — from_currency, to_currency, rate, effective_date

← All architecture topics