Zum Hauptinhalt springen

Data Warehouse-Design: Star-Schema für ERP- und E-Commerce-Analysen

Lernen Sie dimensionale Modellierung mit Star-Schema für ERP- und E-Commerce-Analysen, die Faktentabellen, Dimensionstabellen, ETL-Muster und Abfrageoptimierung umfassen.

E
ECOSIRE Research and Development Team
|15. März 202612 Min. Lesezeit2.3k Wörter|

Ihre ERP-Datenbank ist für Transaktionen optimiert – zum Eingeben von Bestellungen, zum Aktualisieren des Lagerbestands und zum Verarbeiten von Zahlungen. Ihre E-Commerce-Plattform ist für die Bereitstellung von Produktseiten und die Abwicklung von Checkouts optimiert.

Teil unserer Serie „Datenanalyse & BI“

Den vollständigen Leitfaden lesen

Ihre ERP-Datenbank ist für Transaktionen optimiert – zum Eingeben von Bestellungen, zum Aktualisieren des Lagerbestands und zum Verarbeiten von Zahlungen. Ihre E-Commerce-Plattform ist für die Bereitstellung von Produktseiten und die Abwicklung von Checkouts optimiert. Beide sind nicht für die Beantwortung der Fragen optimiert, die Geschäftsentscheidungen beeinflussen: Welche Produktkategorien sind nach Retouren am profitabelsten? Welche Kundensegmente haben einen wachsenden Lifetime Value? Wo gibt es Engpässe in unserer Lieferkette?

Diese Lücke füllt ein Data Warehouse. Und das Sternschema ist das Entwurfsmuster, das analytische Abfragen schnell, intuitiv und wartbar macht.

Wichtige Erkenntnisse

– Das Star-Schema trennt Geschäftsmetriken (Fakten) vom beschreibenden Kontext (Dimensionen) und macht Abfragen intuitiv und schnell – ERP- und E-Commerce-Analysen benötigen in der Regel vier bis sechs Faktentabellen und acht bis zwölf Dimensionstabellen, um Kerngeschäftsfragen abzudecken – ETL-Pipelines sollten inkrementelles Laden mit sich langsam ändernden Dimensionen verwenden, um historische Analysen durchzuführen, ohne alle Daten erneut zu verarbeiten

  • Ein gut gestaltetes Sternschema reduziert die Abfragekomplexität um 60 bis 80 Prozent im Vergleich zur direkten Abfrage normalisierter Betriebsdatenbanken

Warum nicht direkt das ERP abfragen?

Bevor sie in ein separates Data Warehouse investieren, versuchen viele Unternehmen, analytische Abfragen für ihre Betriebsdatenbank durchzuführen. Dies scheitert aus drei Gründen.

Leistung. Analytische Abfragen scannen Millionen von Zeilen, berechnen Aggregationen und verknüpfen viele Tabellen. Wenn diese mit der Produktionsdatenbank ausgeführt werden, verlangsamt sich das ERP für jeden Benutzer. Ein Bericht, der Bestelldaten von sechs Monaten scannt, kann Tabellen sperren und die Checkout-Leistung in Ihrem Shopify-Shop beeinträchtigen.

Komplexität. Betriebsdatenbanken sind normalisiert – so konzipiert, dass Datenredundanz minimiert wird. Eine einfache Frage wie „Gesamtumsatz nach Produktkategorie und Monat“ erfordert möglicherweise die Verknüpfung von acht Tabellen in der PostgreSQL-Datenbank von Odoo. In einem Sternschema verknüpft dieselbe Abfrage zwei Tabellen.

Verlauf. Betriebssysteme überschreiben Daten. Wenn ein Kunde seine Adresse ändert, ist die alte Adresse verloren. Wenn ein Produkt neu kategorisiert wird, ändern sich die historischen Berichte rückwirkend. Ein Data Warehouse bewahrt den Verlauf durch sich langsam ändernde Dimensionen.

Multi-Source. Mittelständische Unternehmen betreiben in der Regel drei bis sieben Systeme, die Geschäftsdaten enthalten. Das Data Warehouse konsolidiert sie alle. Unser Leitfaden zu ETL-Pipelines für ERP-Daten behandelt das Extrahieren und Laden im Detail.


Grundlagen des Star-Schemas

Ein Sternschema organisiert Daten in zwei Arten von Tabellen: Faktentabellen und Dimensionstabellen. Faktentabellen befinden sich in der Mitte (dem Körper des Sterns) und Dimensionstabellen umgeben sie (die Spitzen des Sterns).

Faktentabellen

Faktentabellen speichern messbare Geschäftsereignisse – Dinge, die passiert sind. Jede Zeile stellt ein Ereignis in der niedrigsten aussagekräftigen Körnung dar.

Eigenschaften:

  • Enthalten numerische Maße (Menge, Menge, Dauer, Anzahl)
  • Fremdschlüssel für Dimensionstabellen enthalten – Sind in der Regel die größten Tische im Lager
  • Wachsen Sie kontinuierlich, wenn neue Ereignisse eintreten
  • Sollte die feinste Körnung aufweisen, die geschäftliche Fragen unterstützt

Dimensionstabellen

Dimensionstabellen speichern beschreibenden Kontext – das Wer, Was, Wo, Wann und Wie von Geschäftsereignissen.

Eigenschaften:

  • Textattribute und Hierarchien enthalten
  • Sind relativ klein (Tausende bis Millionen Zeilen, nicht Milliarden)
  • Verändere dich langsam im Laufe der Zeit – Zur Vereinfachung der Abfrage denormalisiert
  • Stellen Sie Beschriftungen, Filter und Gruppierungen für Berichte bereit

Die Sternform

                    Dim: Customer
                         |
    Dim: Product ---  Fact: Sales  --- Dim: Time
                         |
                    Dim: Location

Eine Abfrage wie „Gesamtumsatz nach Produktkategorie, nach Quartal und nach Region“ verknüpft die Verkaufsfaktentabelle mit dreidimensionalen Tabellen. Keine Unterabfragen, keine komplexen verschachtelten Verknüpfungen – nur einfache Sternverknüpfungen.


Entwerfen von Faktentabellen für ERP und E-Commerce

Ein typisches mittelständisches Unternehmen, das Odoo ERP und Shopify eCommerce betreibt, benötigt vier bis sechs Faktentabellen, um die wichtigsten analytischen Anwendungsfälle abzudecken.

Fakt: Verkäufe

Die Verkaufsfaktentabelle ist der Grundstein. Jede Zeile stellt einen Einzelposten in einem Kundenauftrag dar.

SpalteGeben Sieein Beschreibung
sale_keyBIGINTErsatzschlüssel
date_keyINTFK zu Dimmen: Zeit
customer_keyINTFK zu Dimmen: Kunde
ProduktschlüsselINTFK zu Dimmen: Produkt
location_keyINTFK to Dim: Standort
KanalschlüsselINTFK zum Dimmen: Kanal
salesperson_keyINTFK zu Dim: Mitarbeiter
MengeDEZIMALVerkaufte Einheiten
EinheitspreisDEZIMALPreis pro Einheit
discount_amountDEZIMALRabatt angewendet
SteuerbetragDEZIMALSteuer erhoben
NettobetragDEZIMALUmsatz nach Rabatt, vor Steuern
cost_amountDEZIMALKosten der verkauften Waren
gross_marginDEZIMALNettobetrag minus Kostenbetrag

Getreide: Eine Zeile pro Bestellposition und Tag.

Fakt: Inventar

Verfolgt die Lagerbestände als regelmäßige Momentaufnahmen und nicht als Ereignisse.

SpalteGeben Sieein Beschreibung
inventory_keyBIGINTErsatzschlüssel
date_keyINTFK to Dim: Zeit (Snapshot-Datum)
ProduktschlüsselINTFK zu Dimmen: Produkt
LagerschlüsselINTFK zu Dimmen: Lager
Menge_auf_der_HandDEZIMALAktueller Lagerbestand
Menge_reservedDEZIMALDen Aufträgen zugeordnet
Menge_verfügbarDEZIMALVorrätig minus reserviert
reorder_pointDEZIMALMinimum vor Nachbestellung
stock_valueDEZIMALMenge mal Stückkosten

Getreide: Eine Reihe pro Produkt, pro Lager und Tag.

Fakt: Produktion

Für produzierende Unternehmen verfolgt die Produktionsfaktur Arbeitsaufträge.

SpalteGeben Sieein Beschreibung
ProduktionsschlüsselBIGINTErsatzschlüssel
date_keyINTFK zu Dimmen: Zeit
ProduktschlüsselINTFK zu Dimmen: Produkt
workcenter_keyINTFK to Dim: Workcenter
geplante_mengeDEZIMALZielausgabe
tatsächliche_MengeDEZIMALTatsächliche Leistung
scrap_quantityDEZIMALAbfall
geplante_Dauer_StundenDEZIMALErwartete Zeit
tatsächliche_Dauer_StundenDEZIMALTatsächliche Zeit
yield_rateDEZIMALIst-/Planmenge

Getreide: Eine Zeile pro Arbeitsauftrag, pro Produkt und Tag.

Zusätzliche Faktentabellen

  • Fakt: Käufe --- Beschaffungsausgaben nach Anbieter, Produkt und Zeit.
  • Fakt: Support-Tickets --- Ticketvolumen, Reaktionszeit, Lösungszeit nach Agent, Kunde und Kategorie.
  • Fakt: Web-Traffic --- Seitenaufrufe, Sitzungen, Conversions nach Seite, Quelle und Kampagne. Nützlich für Marketing-Attributionsanalyse.

Dimensionstabellen entwerfen

Dimensionstabellen stellen den Kontext bereit, der Faktentabellennummern eine Bedeutung verleiht. Das Schlüsselprinzip ist die Denormalisierung – die Speicherung redundanter Daten zur Vereinfachung von Abfragen.

Dim: Zeit

Die Zeitdimension ist in jedem Sternschema vorhanden. Berechnen Sie Kalenderattribute vorab, um komplexe Datumsfunktionen in Abfragen zu vermeiden.

SpalteBeispielZweck
date_key20260315Ganzzahliger Schlüssel (JJJJMMTT)
vollständiges_Datum15.03.2026Datumswert
day_of_weekSonntagGruppierung
day_of_month15Gruppierung
Woche_des_Jahres11Gruppierung
MonatsnameMärzGruppierung
Monatsnummer3Sortieren
ViertelQ1Gruppierung
Jahr2026Gruppierung
geschäftsquartalFQ4Ausrichtung des Geschäftsjahres
geschäftsjahrGJ2026Ausrichtung des Geschäftsjahres
is_weekendWAHRFiltern
is_holidayFALSCHFiltern

Dim: Kunde

Denormalisieren Sie Kundenattribute aus den CRM-, Buchhaltungs- und E-Commerce-Systemen in einer einzigen Dimension.

SpalteBeschreibung
customer_keyErsatzschlüssel
customer_idNatürlicher Schlüssel (Odoo-ID)
KundennameVollständiger Name
Kunden-E-MailE-Mail-Adresse
KundensegmentUnternehmen, KMU, Einzelperson
IndustrieFertigung, Einzelhandel, Dienstleistungen
LandLändername
RegionGeografische Region
StadtStadt
Acquisition_SourceOrganisch, bezahlt, Empfehlung
ErwerbsdatumErstkaufdatum
rfm_segmentChampion, loyal, gefährdet
lifetime_value_tierHoch, Mittel, Niedrig

Die Spalten rfm_segment und lifetime_value_tier sind berechnete Felder, die aus der RFM-Analyse abgeleitet und regelmäßig von der ETL-Pipeline aktualisiert werden.

Dim: Produkt

SpalteBeschreibung
ProduktschlüsselErsatzschlüssel
Produkt_IDNatürlicher Schlüssel
ProduktnameAnzeigename
ArtikelnummerLagereinheit
Kategorie_l1Kategorie der obersten Ebene
Kategorie_l2Unterkategorie
Kategorie_l3Unter-Unterkategorie
MarkeMarkenname
Unit_costAktuelle Standardkosten
list_priceAktueller Listenpreis
GewichtVersandgewicht
ist_aktivDerzeit zum Verkauf

Langsam ändernde Dimensionen

Was soll das Data Warehouse tun, wenn ein Kunde von New York nach London zieht? Die Antwort hängt von der Geschäftsfrage ab.

Typ 1: Überschreiben

Ersetzen Sie den alten Wert durch den neuen Wert. Die Stadt des Kunden wird zu London, und alle historischen Bestellungen zeigen jetzt London. Verwenden Sie diese Option, wenn die historische Genauigkeit des Attributs keine Rolle spielt.

Typ 2: Neue Zeile hinzufügen

Erstellen Sie eine neue Zeile für den Kunden mit der neuen Stadt, einem Gültigkeitsdatum und einem Ablaufdatum. Historische Aufträge verweisen immer noch auf die alte Reihe (New York) und neue Aufträge verweisen auf die neue Reihe (London). Dies ist der gebräuchlichste Ansatz für Attribute, die sich auf die Analyse auswirken – Kundensegment, Mitarbeiterabteilung, Produktkategorie.

customer_keycustomer_idStadtWirksamkeitsdatumAblaufdatumis_current
1001CUST-042New York15.01.202428.02.2026FALSCH
1002CUST-042London01.03.20269999-12-31WAHR

Typ 3: Neue Spalte hinzufügen

Speichern Sie alte und neue Werte in separaten Spalten. Nützlich, wenn Sie einen Vorher-Nachher-Vergleich durchführen müssen, aber keinen vollständigen Verlauf benötigen. In der Praxis seltener.

Verwenden Sie für mittelständische Unternehmen Typ 2 für Kundensegment, Mitarbeiterabteilung, Produktkategorie und geografische Attribute. Verwenden Sie für alles andere Typ 1, um das Lager einfach zu halten.


ETL-Entwurfsmuster

Der ETL-Prozess (Extract, Transform, Load) verschiebt Daten aus Quellsystemen in das Warehouse. Zu den Entwurfsmustern, die sich gut für ERP- und E-Commerce-Daten eignen, gehören die folgenden.

Inkrementelles Laden

Anstatt alle Daten bei jedem Lauf neu zu laden, verfolgen Sie den Zeitstempel des letzten erfolgreich geladenen Vorgangs und verarbeiten Sie nur die seitdem geänderten Datensätze. Odoos write_date-Feld und Shopifys updated_at-Parameter machen dies einfach.

1. Query source: SELECT * FROM sale_order_line WHERE write_date > last_load_timestamp
2. Transform: Map source fields to warehouse columns, look up dimension keys
3. Load: INSERT new rows, UPDATE changed rows (upsert)
4. Update: Set last_load_timestamp to current run start time

Ersatzschlüsselverwaltung

Dimensionstabellen verwenden Ersatzschlüssel (automatisch inkrementierende Ganzzahlen) anstelle natürlicher Schlüssel (Odoo-IDs, Shopify-IDs). Dadurch wird das Warehouse von den Schlüsselformaten des Quellsystems entkoppelt und die Konsolidierung mehrerer Quellen durchgeführt, wenn verschiedene Systeme widersprüchliche ID-Schemata haben.

Verspätete Dimensionen

Manchmal kommt ein Faktendatensatz vor dem entsprechenden Dimensionsdatensatz an – eine Bestellung verweist auf einen neuen Kunden, der noch nicht synchronisiert wurde. Behandeln Sie dies mit einer Platzhalter-Dimensionszeile, die aktualisiert wird, wenn der vollständige Dimensionsdatensatz eintrifft.

Aktualisierungsplanung

DatentypAktualisierungshäufigkeitBegründung
VerkaufstransaktionenAlle 15-60 MinutenUmsatzverfolgung nahezu in Echtzeit
Inventar-SnapshotsAlle 4-6 StundenGenauigkeit vs. Datenbanklast ausgleichen
KundenmaßeTäglichÄnderungen sind selten
ProduktabmessungenTäglichÄnderungen sind selten
FinanzdatenTäglich (nach Handelsschluss)Hängt von den Buchhaltungsabläufen ab
MarketingdatenAlle 1-4 StundenKampagnenoptimierung benötigt aktuellere Daten

Informationen zu Echtzeitanforderungen finden Sie in unserem Leitfaden zu Streaming-Analysen.


Optimierung der Abfrageleistung

Ein gut gestaltetes Sternschema ist aufgrund seiner einfachen Verknüpfungsmuster bereits erfolgreich. Zu den weiteren Optimierungen gehören die folgenden.

Indizes. Erstellen Sie Indizes für alle Dimensionsfremdschlüssel in Faktentabellen und für häufig gefilterte Dimensionsattribute (Datumsbereiche, Kundensegmente, Produktkategorien).

Materialisierte Ansichten. Häufige Abfragen vorab aggregieren: Tagesumsatz nach Produktkategorie, wöchentliche Lagerbestände nach Lager, monatliche Kundenakquise nach Kanal. Aktualisieren Sie materialisierte Ansichten nach jedem ETL-Ladevorgang.

Partitionierung. Partitionieren Sie große Faktentabellen nach Datum (monatlich oder vierteljährlich). Abfragen, die nach Datumsbereich filtern, scannen nur die relevanten Partitionen.

Spaltenstatistiken. Halten Sie die PostgreSQL-Statistiken nach Massenladevorgängen mit ANALYZE auf dem neuesten Stand, damit der Abfrageplaner optimale Entscheidungen treffen kann.

Diese Optimierungen unterstützen das Self-Service-BI-Erlebnis, bei dem Geschäftsbenutzer Ad-hoc-Abfragen ohne Leistungsbedenken ausführen.


Häufig gestellte Fragen

Wie groß muss das Unternehmen sein, um ein Data Warehouse zu rechtfertigen?

Es gibt keine Mindestgröße, aber die Investition lohnt sich, wenn Sie über mehrere Datenquellen verfügen, die zur Analyse kombiniert werden müssen, wenn betriebliche Datenbankabfragen Produktionssysteme verlangsamen oder wenn Sie mehr als 10 Stunden pro Woche mit der manuellen Datenerfassung und Berichterstellung verbringen. Die meisten Unternehmen mit 30 oder mehr Mitarbeitern und mindestens zwei Systemen (ERP plus eCommerce) profitieren von einem Lager.

Sollten wir ein Cloud Data Warehouse wie Snowflake oder BigQuery verwenden?

Für mittelständische Unternehmen bewältigt PostgreSQL die meisten analytischen Arbeitslasten gut und kostet deutlich weniger. Cloud-Warehouses wie Snowflake werden attraktiv, wenn Ihre Daten 1 TB überschreiten, wenn Sie zur Kostenoptimierung Rechenleistung vom Speicher trennen müssen oder wenn Sie komplexe Anforderungen an den Datenaustausch zwischen Organisationen haben. Beginnen Sie mit PostgreSQL und migrieren Sie, wenn Sie damit nicht mehr Schritt halten.

Wie lange dauert der Aufbau eines Data Warehouse?

Ein Minimum Viable Warehouse mit einer Faktentabelle (Verkäufe), vier Dimensionstabellen und einer ETL-Pipeline, die Odoo und Shopify verbindet, dauert für ein erfahrenes Team vier bis acht Wochen. Das Hinzufügen von Faktentabellen, das langsame Ändern von Dimensionen und die Überwachung der Datenqualität dauern pro Faktentabelle weitere vier bis acht Wochen. Planen Sie drei bis sechs Monate für ein umfassendes Lager ein, das alle wichtigen Geschäftsbereiche abdeckt.


Was kommt als nächstes?

Ein gut gestaltetes Sternschema ist die Grundlage für jede Analysefunktion – von Self-Service-Dashboards über Vorhersagemodelle bis hin zu eingebetteten Analysen. Es ist Teil einer umfassenderen BI-Strategie, die die Art und Weise verändert, wie Ihr Unternehmen Entscheidungen trifft.

ECOSIRE erstellt Data Warehouses und Analysepipelines für Unternehmen, die Odoo, Shopify und GoHighLevel betreiben. Unser Odoo-Beratungsunternehmen-Team entwirft Lagerschemata, die auf Ihr Geschäftsmodell zugeschnitten sind, und unsere OpenClaw-KI-Dienste legen darüber hinaus prädiktive Analysen auf.

Kontaktieren Sie uns, um Ihre Data-Warehouse-Architektur zu besprechen.


Veröffentlicht von ECOSIRE --- unterstützt Unternehmen bei der Skalierung mit KI-gestützten Lösungen in Odoo ERP, Shopify eCommerce und OpenClaw AI.

E

Geschrieben von

ECOSIRE Team

Technische Redaktion

Das Team für technische Redaktion bei ECOSIRE schreibt über Odoo ERP, E-Commerce mit Shopify, KI-Agenten, Analysen mit Power BI, Automatisierung mit GoHighLevel und Best Practices für Unternehmenssoftware. Unsere Leitfäden helfen Unternehmen, fundierte Technologieentscheidungen zu treffen.

ECOSIRE

Transformieren Sie Ihr Unternehmen mit Odoo ERP

Kompetente Odoo-Implementierung, Anpassung und Support zur Optimierung Ihrer Abläufe.

Mehr aus Datenanalyse & BI