Data Warehouse
Ein zentrales Datenspeichersystem, das strukturierte, aufbereitete Daten aus verschiedenen Quellen für schnelle analytische Abfragen optimiert bereitstellt.
OLTP (Online Transaction Processing) ist für schnelle, häufige Einzeltransaktionen optimiert. OLAP (Online Analytical Processing) für komplexe Analysen über große Datenmengen.
Zwei grundlegend verschiedene Anforderungen an Datenbanken:
OLTP – die Datenbank hinter deiner App: Viele Nutzer gleichzeitig, jeder macht kleine Operationen. Eine Bestellung aufgeben, einen Lagerbestand aktualisieren, einen Nutzer anlegen. Geschwindigkeit und Konsistenz sind entscheidend.
OLAP – die Datenbank hinter deinen Analysen: Wenige, aber komplexe Abfragen. „Wie war der Umsatz im letzten Quartal, aufgeteilt nach Region und Produktkategorie, im Vergleich zum Vorjahr?” Solche Abfragen scannen Millionen Zeilen – dafür ist OLTP nicht gebaut.
Vergleich:
| Aspekt | OLTP | OLAP |
|---|---|---|
| Operationen | INSERT, UPDATE, DELETE | SELECT mit Aggregationen |
| Datenmenge | Aktuelle Daten | Historische Daten |
| Abfragen | Viele, einfach, schnell | Wenige, komplex, langsam |
| Optimiert für | Schreiben | Lesen |
| Beispiel | PostgreSQL, MySQL | BigQuery, Snowflake |
-- Einzelne Bestellung abrufen – Millisekunden
SELECT * FROM orders
WHERE order_id = 'ord_12345'
AND user_id = 'usr_456';
-- Umsatzanalyse – scannt Millionen Zeilen
SELECT
DATE_TRUNC('month', created_at) AS month,
region,
product_category,
SUM(amount) AS revenue,
COUNT(DISTINCT user_id) AS unique_customers,
AVG(amount) AS avg_order_value
FROM orders
WHERE created_at >= '2025-01-01'
GROUP BY 1, 2, 3
ORDER BY 1, revenue DESC;
App → OLTP (PostgreSQL) → ETL/ELT → OLAP (BigQuery)
↓
BI-Tool (Looker, Tableau)
ML-Training
Ad-hoc-Analysen OLTP ist wie eine Supermarktkasse: Viele kleine, schnelle Transaktionen gleichzeitig – jeder Kauf wird sofort verbucht. OLAP ist wie der Buchhalter am Monatsende: Er analysiert alle Transaktionen, sucht Muster und erstellt Berichte – langsamer, aber mit viel mehr Tiefe.
OLTP: Optimiert für viele kleine, schnelle Lese-/Schreiboperationen (INSERT, UPDATE)
OLAP: Optimiert für wenige, komplexe Abfragen über große Datenmengen (SELECT mit Aggregationen)
Typischerweise werden OLTP-Daten regelmäßig in ein OLAP-System (Data Warehouse) übertragen
Marketing
OLTP: Bestellungen aufnehmen, Lagerbestand aktualisieren. OLAP: Umsatzanalysen, Kaufmusterauswertung
KI-Training
OLAP-Systeme als Quelle für Trainingsdaten – effiziente Abfragen über Millionen von Datensätzen
Business Intelligence
OLAP-Cubes für mehrdimensionale Analysen: Umsatz nach Region, Produkt und Zeitraum
Moderne Datenbanken wie Snowflake oder CockroachDB versuchen, HTAP (Hybrid Transactional/Analytical Processing) zu bieten. Für die meisten Anwendungen ist aber eine Trennung sinnvoll: OLTP-Datenbank für die Anwendung, regelmäßiger ETL-Transfer in ein Data Warehouse für Analysen.
Eine mehrdimensionale Datenstruktur, die voraggregierte Daten speichert. Statt bei jeder Abfrage Millionen Zeilen zu aggregieren, werden die Ergebnisse vorberechnet. Dimensionen sind z. B. Zeit, Region, Produkt – man kann 'würfeln' und Daten aus verschiedenen Perspektiven betrachten.
OLTP-Datenbanken speichern Daten zeilenweise (Row Store): Alle Felder einer Zeile liegen zusammen – gut für INSERT/UPDATE einzelner Datensätze. OLAP-Datenbanken speichern spaltenweise (Column Store): Alle Werte einer Spalte liegen zusammen – gut für Aggregationen über eine Spalte (SUM, AVG) bei Millionen Zeilen.