Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Warum brauchen wir SSIS und das Sternschema von Data Warehouse?

Dies könnte ein Kandidat für "Too Broad" sein, aber ich werde es versuchen.

Warum sollte ich meine Daten dreimal speichern?

Ich habe meine Daten in meinem OLTP (Online-Transaktionsverarbeitungssystem), warum sollte ich diese Daten in eine völlig neue Struktur (Data Warehouse) und dann wieder in ein OLAP-System verschieben wollen?

Fangen wir einfach an. Sie haben nur ein Aufzeichnungssystem und es ist nicht erstaunlich ausgelastet. Vielleicht können Sie mit einer Abstraktionsschicht (Ansichten in der Datenbank oder benannte Abfragen in SSAS) davonkommen und das Data Warehouse überspringen.

Sie bauen also Ihre Würfel und Dimensionen aus und die Leute beginnen damit, sie zu verwenden, und sie lieben es.

„Weißt du, was großartig wäre? Wenn wir unsere Blats mit den Foos und Bars korrelieren könnten, die wir bereits darin haben.“ Jetzt müssen Sie Ihre einfache App mit Daten aus einer völlig unabhängigen App integrieren. Die Kunden-ID 10 in Ihrer App ist die Kunden-ID {ECA67697-1200-49E2-BF00-7A13A549F57D} in der CRM-App. Was jetzt? Sie müssen Ihren Benutzern eine einzelne Ansicht des Kunden präsentieren, sonst werden sie das Tool nicht verwenden.

Vielleicht regierst du mit eiserner Faust und sagst Nein, du kannst diese Daten nicht im Cube haben und deine Benutzer machen mit.

"Ändert sich das Kaufverhalten der Menschen nach der Geburt eines Kindes?" Das können wir nicht beantworten, da unsere Anwendung nur die aktuelle Version eines Kunden speichert. Wenn sie einmal ein Kind bekommen haben, hatten sie schon immer ein Kind, sodass Sie Muster vor oder nach einem Ereignis nicht eindeutig erkennen können.

„Wie waren unsere Verkäufe im letzten Jahr?“ Das können wir nicht beantworten, weil wir nur 12 Wochen Daten in der App speichern, um sie überschaubar zu machen.

"Die Daten in den Cubes sind veraltet, können Sie sie aktualisieren?" Egads, es ist mitten am Tag. Die SSAS-Verarbeitung erfordert Tabellensperren und würde unsere App im Wesentlichen herunterfahren, bis die Verarbeitung abgeschlossen ist.

Muss ich mit diesen Szenarien fortfahren?

Zusammenfassung

Das Data Warehouse dient als Integrationspunkt für diverse Systeme. Es hat angepasste Dimensionen (jeder hat eine gemeinsame Definition dafür, was ein Ding ist). Die Daten im Warehouse können die Lebensdauer der Daten in den Quellsystemen überschreiten. Die Geschäftsanforderungen können die Nachverfolgung von Daten vorantreiben, die von der Quellanwendung nicht unterstützt werden. Die Daten im DW unterstützen Geschäftsaktivitäten, während Ihr OLTP-System sich selbst unterstützt.

SSIS ist nur ein Tool zum Verschieben von Daten. Es gibt viele da draußen, manche besser, manche schlechter.

Also nein, im Allgemeinen ist es nicht besser, die Erstellung eines DW zu vermeiden und Ihre Cubes basierend auf Ihrer OLTP-Datenbank zu erstellen.