Abstrakte Visualisierung eines modernen AI-First Data Warehouse Stacks mit vernetzten Datenschichten, neuronalen Netzwerken und leuchtenden Datenströmen in Blau und Cyan

    Data Warehouse in der AI-First Welt

    7. Mai 20265 min read
    Till Freitag

    TL;DR: „Frag nicht 'BigQuery oder Supabase?' – frag 'Wo leben meine operativen AI-Daten?'. In den meisten Fällen ist das Supabase, nicht das DWH."

    — Till Freitag

    Das Paradigma hat sich verschoben

    Klassische DWH-Logik (ETL → Staging → Marts → Reports) war auf Menschen als Konsumenten ausgelegt. In der AI-First Welt ist der primäre Konsument oft ein Agent oder ein LLM – das ändert die Anforderungen fundamental.

    Ein Dashboard verzeiht 30 Sekunden Query-Zeit. Ein Agent, der mitten in einem Tool-Call wartet, nicht. Ein BI-Analyst weiß, dass rev_net_eur_q der Quartalsumsatz ist. Ein LLM rät – und liegt manchmal daneben.

    Was ein AI-First Stack braucht

    AnforderungWarum
    Semantic LayerAgenten brauchen Bedeutung, nicht nur Spalten
    Vector + RelationalStructured queries UND similarity search
    Low latency readsStreaming/Realtime für Agents, nicht nur Batch
    API-firstDirekter Zugriff ohne SQL-Middleware
    Row-level SecurityAgents dürfen nicht alles sehen

    BigQuery vs. Supabase – die ehrliche Antwort

    Das sind keine direkten Alternativen, sondern unterschiedliche Schichten:

    • BigQuery ist ein analytisches DWH – optimiert für Petabyte-Queries, Batch, BI.
    • Supabase ist eine operational database (Postgres) – optimiert für Transaktionen, Realtime, App-Backend.

    Wann Supabase zusätzlich sinnvoll ist

    • Du brauchst pgvector für Embeddings direkt in der DB
    • Deine Agenten brauchen Realtime-Subscriptions
    • Du willst Row Level Security für Multi-Tenant AI Apps
    • Stack ist eher product-nah als analytics-nah

    Wann BigQuery bleibt

    • Große Datenmengen (>100 GB)
    • Komplexe Transformationen mit dbt
    • Google Cloud already in use (Vertex AI, Looker)
    • BI-heavy Anwendungsfälle

    Der pragmatische AI-First Stack 2025/26

    Operational Layer:    Supabase (Postgres + pgvector + Realtime)
                               ↓
    Transformation:       dbt Core / dbt Cloud
                               ↓
    Analytical Layer:     BigQuery (oder DuckDB für kleinere Setups)
                               ↓
    Semantic Layer:       cube.dev / LookML / MetricFlow
                               ↓
    AI Access:            LLM + Tool Use → Semantic Layer API

    Für kleinere Teams fällt BigQuery oft weg – dann ist DuckDB + Supabase ein extrem schlanker, günstiger Stack.

    Konkrete Empfehlung, wenn du heute auf BigQuery sitzt

    Wenn du auf BigQuery bist und AI-Features brauchst:

    1. Supabase parallel für operationale Daten – insbesondere wenn du eigene Produkte baust.
    2. pgvector in Supabase für Embeddings statt einer separaten Vektordatenbank (Pinecone, Weaviate).
    3. BigQuery bleibt für Analytics – kein Grund zu migrieren.
    4. dbt als Bindeglied – Transformationen aus Supabase in BigQuery, sauber dokumentiert.

    Die häufigste Falle: Leute ersetzen BigQuery durch Supabase. Das ist die falsche Frage. Die richtige ist: „Wo leben meine operativen AI-Daten?" – und da ist Supabase oft die bessere Antwort als BigQuery.

    Falls du klein anfängst und neu aufbaust

    DuckDB + Supabase + dbt ist 2026 der leanste Stack mit dem besten AI-Fit – günstig, schnell, local-first möglich, pgvector inklusive. Du kannst lokal entwickeln, prototypisch deployen und erst skalieren, wenn die Datenmengen es wirklich verlangen.

    Beispiel-Setup: Supabase + pgvector + dbt + Agent

    Damit das nicht abstrakt bleibt – so sieht ein minimales, produktionsnahes Setup aus, das wir in der Praxis genau so bauen.

    1. Supabase: Schema mit pgvector

    -- Extension einmalig aktivieren
    create extension if not exists vector;
    
    -- Operationale Tabelle: Support-Tickets
    create table tickets (
      id uuid primary key default gen_random_uuid(),
      customer_id uuid not null references customers(id),
      subject text not null,
      body text not null,
      status text not null default 'open',
      created_at timestamptz default now()
    );
    
    -- Embedding-Tabelle (1:1 zu tickets)
    create table ticket_embeddings (
      ticket_id uuid primary key references tickets(id) on delete cascade,
      embedding vector(1536) not null,
      updated_at timestamptz default now()
    );
    
    -- Vektor-Index für schnelle Similarity Search
    create index on ticket_embeddings
      using ivfflat (embedding vector_cosine_ops) with (lists = 100);

    2. Embeddings via Edge Function

    Eine Supabase Edge Function hört auf neue Tickets (Webhook oder Trigger) und schreibt das Embedding zurück:

    // supabase/functions/embed-ticket/index.ts
    const { data: ticket } = await supabase
      .from('tickets').select('id, subject, body').eq('id', ticketId).single();
    
    const embedding = await openai.embeddings.create({
      model: 'text-embedding-3-small',
      input: `${ticket.subject}\n\n${ticket.body}`,
    });
    
    await supabase.from('ticket_embeddings').upsert({
      ticket_id: ticket.id,
      embedding: embedding.data[0].embedding,
    });

    3. dbt: Semantische Modelle für Analytics

    dbt transformiert die operationalen Daten in saubere, dokumentierte Marts – die Doku ist gleichzeitig der Semantic Layer für den Agenten:

    # models/marts/fct_tickets.yml
    models:
      - name: fct_tickets
        description: "Ein Ticket pro Zeile, angereichert mit SLA-Status und Kundensegment."
        columns:
          - name: ticket_id
            description: "Primärschlüssel."
          - name: time_to_first_response_minutes
            description: "Minuten zwischen Ticket-Eingang und erster Mitarbeiter-Antwort."
          - name: sla_breached
            description: "True, wenn die Erstantwort > 4h gedauert hat."
    -- models/marts/fct_tickets.sql
    select
      t.id as ticket_id,
      t.customer_id,
      c.segment as customer_segment,
      extract(epoch from (r.first_response_at - t.created_at))/60
        as time_to_first_response_minutes,
      case when r.first_response_at > t.created_at + interval '4 hours'
           then true else false end as sla_breached
    from {{ ref('stg_tickets') }} t
    left join {{ ref('stg_customers') }} c on c.id = t.customer_id
    left join {{ ref('int_first_response') }} r on r.ticket_id = t.id

    4. Agent-Zugriff: zwei Tools, klare Trennung

    Der Agent bekommt nicht „die Datenbank", sondern zwei eng definierte Tools:

    const tools = [
      {
        name: 'search_similar_tickets',
        description: 'Findet semantisch ähnliche, bereits gelöste Tickets.',
        parameters: { query: 'string', limit: 'number' },
        handler: async ({ query, limit }) => {
          const emb = await embed(query);
          // RPC mit RLS: gibt nur Tickets zurück, die der User sehen darf
          return supabase.rpc('match_tickets', { query_embedding: emb, match_count: limit });
        },
      },
      {
        name: 'query_ticket_metrics',
        description: 'Fragt aggregierte Kennzahlen aus fct_tickets ab (SLA, Volumen, Segmente).',
        parameters: { metric: 'string', dimension: 'string', period: 'string' },
        handler: async (args) => semanticLayer.query(args), // cube.dev / MetricFlow
      },
    ];

    Die zugehörige Postgres-Funktion mit RLS:

    create or replace function match_tickets(
      query_embedding vector(1536),
      match_count int default 5
    ) returns table (ticket_id uuid, subject text, similarity float)
    language sql stable as $$
      select t.id, t.subject,
             1 - (e.embedding <=> query_embedding) as similarity
      from ticket_embeddings e
      join tickets t on t.id = e.ticket_id
      order by e.embedding <=> query_embedding
      limit match_count;
    $$;

    Was dieses Setup richtig macht

    • Vector + Relational in einer DB – keine separate Pinecone/Weaviate-Infrastruktur.
    • RLS greift automatisch – der Agent kann technisch nicht mehr sehen als der User.
    • dbt-Doku = Agent-Kontext – Spaltenbeschreibungen werden zur Tool-Description.
    • Klare Tool-Grenzen – Similarity Search (operational) vs. Metrics (analytical) sind getrennt, der Agent muss nicht „SQL können".

    TL;DR

    Das DWH der 2010er war eine Bibliothek für Analysten. Der Data Stack der AI-First Welt ist eher ein Nervensystem für Agenten: schneller, semantischer, sicherer pro Zeile – und bewusst auf zwei Schichten verteilt statt in ein einziges großes Warehouse gepresst.

    TeilenLinkedInWhatsAppE-Mail

    Related Articles

    Vergleich klassischer Website-Baukasten-Blöcke mit einem AI-nativen Website-Stack
    June 13, 20263 min

    Website-Baukasten vs. AI-Native Stack: Welcher Weg passt 2026?

    Wix, Squarespace, Jimdo & Co. vs. AI-native Stack mit Lovable, Cloud und Edge-Hosting – wann lohnt sich was wirklich? Ei…

    Read more
    Lovable verbindet sich jetzt mit Google Workspace und Gemini Enterprise
    May 22, 20262 min

    Lovable verbindet sich jetzt mit Google Workspace und Gemini Enterprise

    Gmail, Calendar, Drive, Sheets, Slides, Maps Platform, BigQuery und Gemini Enterprise – Lovable baut jetzt Apps direkt a…

    Read more
    Architektur-Diagramm eines modernen Vibe Coding Stacks mit Lovable, Supabase und Resend als Kernkomponenten
    March 16, 20265 min

    Der Vibe Coding Stack 2026: Lovable, Supabase, Resend – und was noch fehlt

    Das ist der Tech-Stack, mit dem wir 2026 Full-Stack-Apps bauen – ohne klassisches Dev-Team. Drei Tools im Kern, zwei für…

    Read more
    SaaS Analytics Dashboard mit KPI-Karten, Line Charts und Datentabellen, gebaut in Lovable
    March 8, 20264 min

    SaaS Dashboard mit Lovable bauen: Vom Prompt zum fertigen Produkt

    Ein komplettes SaaS Dashboard mit Charts, Auth und Datenbank – gebaut mit Lovable in einem Nachmittag. Step-by-Step Tuto…

    Read more
    Alte Bibliothek mit Fachbüchern, aus denen goldene Datenströme in einen leuchtenden Knowledge Graph fließen
    June 15, 20264 min

    Fachverlage sitzen auf dem wertvollsten AI-Asset – und verschenken es

    LLMs können Allgemeinwissen. Im B2B zählt aber verifiziertes, kuratiertes Domänenwissen – und genau das pflegen Fachverl…

    Read more
    Odysseus von PewDiePie – selbst hostbarer KI-Workspace mit Chat, Agenten und Dokumenten als Alternative zu ChatGPT und Claude
    June 13, 20262 min

    Odysseus von PewDiePie: Warum die eigentliche Frage nicht KI-Souveränität, sondern der KI-Arbeitsplatz ist

    PewDiePies Open-Source-Projekt Odysseus hat in 48 Stunden über 30.000 GitHub Stars gesammelt. Spannender als die Reichwe…

    Read more
    Visualisierung eines großen blassen Neural-Net-Spheres und eines kleineren, hellen Sphere mit Cyan/Gelb – die schrumpfende Frontier offener Modelle
    June 8, 20265 min

    Nex-N2-Pro: Wie die Frontier der offenen Modelle in sechs Wochen um 75 % geschrumpft ist

    Vor sechs Wochen war DeepSeek-V4-Pro mit 1,6 Billionen Parametern das größte je veröffentlichte Open-Weight-Modell. Heut…

    Read more
    Microsoft Copilot Scout verbindet sich über das OpenClaw Gateway – Agenten-Infrastruktur als neue Standardschicht im Enterprise
    June 3, 20264 min

    Microsoft Scout läuft auf OpenClaw – nicht „OpenClaw-like", sondern das echte Gateway

    Microsoft hat auf der Build einen neuen Copilot-Agenten namens Scout gezeigt. In der Tech-Bubble heißt es „OpenClaw-like…

    Read more
    Abstrakte Visualisierung der AI Transformation: chaotische Datenstrukturen werden über glühende neuronale Pfade in geordnete Architektur überführt
    May 10, 20265 min

    AI Transformation: Roadmap, Change Management & Implementierungsphasen für Unternehmen

    AI Transformation ist mehr als ChatGPT-Lizenzen verteilen. Eine ehrliche Roadmap mit fünf Phasen, Change-Management-Prin…

    Read more