Data Warehouse vs. OLAP Cube?

71

Kann jemand erklären, was wirklich ein Unterschied zwischen Data Warehouse und OLAP Cubes ist?

Sind sie unterschiedliche Ansätze für dasselbe?

Ist einer von ihnen im Vergleich zum anderen veraltet?

Gibt es Leistungsprobleme in einem von ihnen?

Jede Erklärung ist willkommen

veljasije
quelle
Ich fand zuerst ans. nützlich: quora.com/…
Shiwangini

Antworten:

95

Ein Data Warehouse ist eine Datenbank mit einem Design, das die Analyse von Daten einfacher und schneller macht, häufig mit Daten aus mehreren Quellen. Es hat normalerweise ein dimensionales Modell , dh Faktentabellen und Dimensionstabellen .

OLAP ist eine Reihe von Vorgängen , die für einen Datensatz ausgeführt werden können, z. B. Schwenken, Schneiden, Würfeln und Bohren. Beispielsweise kann man OLAP-Operationen mit Excel PivotTables ausführen. Es gibt bestimmte SQL - Anweisungen , die „für OLAP“ sind, wie PIVOT, group by CUBE(), group by ROLLUP(), und group by GROUPING SETS()sowie die verschiedenen Fensterfunktionen

Ein OLAP-Server ist eine Art Serversoftware, die OLAP-Vorgänge erleichtert, beispielsweise durch Zwischenspeichern und erneutes Schreiben von Abfragen. OLAP-Vorgänge werden häufig in MDX ausgedrückt , und Ihr OLAP-Server übersetzt MDX möglicherweise in reguläres SQL für Ihre Datenbank. Oder es funktioniert gegen sein eigenes binäres Dateiformat. Ein dimensionales Modell in einem OLAP-Server wird als OLAP-Cube bezeichnet

Sie können ein Data Warehouse haben und OLAP überhaupt nicht verwenden (Sie führen nur Berichte aus).

Sie können OLAP-Vorgänge auch für etwas anderes als ein Data Warehouse ausführen, z. B. für eine flache Datei.

Sind sie unterschiedliche Ansätze für dasselbe?

Nein, ein Data Warehouse ist ein Ort zum Speichern von Daten in einem leicht analysierbaren Format, und OLAP ist eine Methode zum Analysieren von Daten.

Ist einer von ihnen im Vergleich zu anderen veraltet?

Nein, sie ergänzen sich dadurch, dass ein Data Warehouse die Analyse von Daten mit OLAP vereinfacht und OLAP die Analyse eines Data Warehouse nützlicher macht.

Gibt es Leistungsprobleme in einem von ihnen?

Ja. Ein Data Warehouse soll viele, viele Daten speichern, und daher dauert die Abfrage einige Zeit. Die Leistung kann durch Verwendung von Indizes oder einer Spalten-Datenbank, Caching, RAID 10-SSDs, Partitionierung und durch Voraggregation einiger Daten verbessert werden.

Siehe auch: /dba/45655/what-are-measures-and-dimensions-in-cubes

† im Gegensatz zu Transaktionen einfacher / integraler

Neil McGuigan
quelle
Ein Datawarehouse ist keine "Datenbank mit einem dimensionalen Design". Ein DW ist eine themenorientierte, integrierte, nichtflüchtige und zeitvariante Sammlung von Daten. Eine Data Warehouse-Architektur kann "dimensionale" Designs enthalten oder nicht - normalerweise nur für Marts, nicht unbedingt als Teil des DW.
Nvogel
1
@sqlvogel Ich habe nicht versucht, eine endgültige Definition eines Data Warehouse zu geben, sondern es nur mit OLAP in einfacher Sprache kontrastiert. Ich habe meine Antwort aktualisiert, um DWs zu berücksichtigen, die kein dimensionales Design verwenden.
Neil McGuigan
Meiner Meinung nach ist Data Warehouse eine Vorbereitung für OLAP-Operationen. Ist das richtig? OLAP-Operationen haben auch die Konzepte von dimensionund fact.
Mingchau
1
@mingchau etwas. Sie können OLAP-Operationen für eine flache Datei, eine Excel-Datei oder einen binären Cube ausführen. Ein Data Warehouse ist jedoch häufig die Quelle. Sowohl Data Warehouses als auch OLAP haben die Konzepte von Dimensionen und Fakten
Neil McGuigan
7

Ein Data Warehouse enthält die Daten, für die Sie Berichte ausführen, analysieren usw. möchten.

Ein Cube organisiert diese Daten, indem er Daten in definierten Dimensionen gruppiert. Sie können mehrere Dimensionen haben (denken Sie an eine Uber-Pivot-Tabelle in Excel).

In Ihrem Data Warehouse haben Sie beispielsweise alle Ihre Verkäufe, aber das Ausführen komplexer SQL-Abfragen kann zeitaufwändig sein. Aus Ihrem Data Warehouse erstellen Sie also einen Cube, der die Daten indiziert und vorberechnet. In Ihrem Cube können Sie alle diese vorberechneten Dimensionen haben: Verkäufe nach Monaten, nach Wochen, nach Verkäufern, nach Kunden, nach geografischen Regionen, nach Produktfarben usw. Anschließend können Sie OLAP-Abfragen für Ihren Cube ausführen, um die Gesamtzahl, den Durchschnitt und den Wert zu ermitteln Maximaler Umsatz nach (Monat, Verkäufer, Region) oder nach (Farbe, Region) oder nach (Verkäufer, Monat). Da alle Daten vorberechnet und indiziert sind, sind die Abfragen sehr schnell.

sthiy
quelle
1
Hatte DW nicht bereits Kennzahlen in Faktentabellen und Dimensionen in Dimensionstabellen?
Veljasije
Aus Wikipedia: "Die Hauptquelle der Daten wird bereinigt, transformiert, katalogisiert und zur Verwendung durch Manager und andere Geschäftsfachleute für Data Mining und Online-Analyseverarbeitung zur Verfügung gestellt." Die Daten aus der Transaktionsdatenbank werden bei der Übertragung im DW transformiert, jedoch nicht so stark indiziert wie in einem Cube. Sie haben Ihre Dimensionstabellen und Faktentabellen in Ihrem DW, aber Sie können Ihre Fakten nicht so schnell und einfach wie in einem Cube aufschlüsseln und aggregieren.
Sthiy
1

Sind sie unterschiedliche Ansätze für dasselbe?

Nein, ein Data Warehouse ist ein Ort zum Speichern von Daten in einem leicht analysierbaren Format, und OLAP ist eine Methode zum Analysieren von Daten.

Nein, sie machen wirklich die gleichen Dinge! OLAP ist vorberechneter als DWH. OLAP ist wie Aggregate in DWH

user3657020
quelle