In der Informatik bezeichnet Online Analytical Processing (OLAP) ( / ˈ oʊ l æ p / ) einen Ansatz zur schnellen Beantwortung mehrdimensionaler analytischer (MDA) Anfragen. [ 1 ] Der Begriff OLAP entstand als leichte Abwandlung des traditionellen Datenbankbegriffs Online Transaction Processing (OLTP). [ 2 ] OLAP ist Teil des umfassenderen Bereichs Business Intelligence , zu dem auch relationale Datenbanken , Berichtswesen und Data Mining gehören . [ 3 ] Typische Anwendungsbereiche von OLAP sind das Geschäftsreporting für Vertrieb, Marketing , Managementberichte, Geschäftsprozessmanagement (BPM), [ 4 ] Budgetierung und Prognosen , Finanzberichterstattung und ähnliche Bereiche. Es entstehen auch neue Anwendungsgebiete, beispielsweise in der Landwirtschaft . [ 5 ]

OLAP-Tools ermöglichen es Nutzern, mehrdimensionale Daten interaktiv aus verschiedenen Perspektiven zu analysieren. OLAP umfasst drei grundlegende Analyseoperationen: Konsolidierung (Roll-up), Drill-down und Slicing & Dicing. [ 6 ] : 402–403. Bei der Konsolidierung werden Daten aggregiert, die in einer oder mehreren Dimensionen erfasst und berechnet werden können. Beispielsweise werden alle Vertriebsniederlassungen zur Vertriebsabteilung oder zum Vertriebsbereich zusammengefasst, um Umsatztrends vorherzusagen. Der Drill-down hingegen ermöglicht es Nutzern, die Details zu erkunden. So können sie beispielsweise die Umsätze einzelner Produkte einer Region anzeigen. Slicing & Dicing ist eine Funktion, mit der Nutzer einen bestimmten Datensatz aus dem OLAP-Cube extrahieren (slicen) und die einzelnen Segmente aus verschiedenen Blickwinkeln betrachten (dimensionieren). Diese Blickwinkel werden auch als Dimensionen bezeichnet (z. B. die gleichen Umsätze nach Vertriebsmitarbeiter, Datum, Kunde, Produkt, Region usw.).

Für OLAP konfigurierte Datenbanken verwenden ein mehrdimensionales Datenmodell, das komplexe analytische und Ad-hoc- Abfragen mit kurzer Ausführungszeit ermöglicht. [ 7 ] Sie übernehmen Aspekte von Navigationsdatenbanken , hierarchischen Datenbanken und relationalen Datenbanken.

OLAP steht im Gegensatz zu OLTP (Online Transaction Processing), das sich im Allgemeinen durch deutlich weniger komplexe Abfragen in größerem Volumen auszeichnet, um Transaktionen zu verarbeiten, anstatt für Business Intelligence oder Reporting. Während OLAP-Systeme hauptsächlich für Lesezugriffe optimiert sind, muss OLTP alle Arten von Abfragen (Lesen, Einfügen, Aktualisieren und Löschen) verarbeiten können.

Überblick über OLAP-Systeme

Kernstück jedes OLAP-Systems ist ein OLAP-Würfel (auch „multidimensionaler Würfel“ oder Hyperwürfel genannt ). Er besteht aus numerischen Daten, sogenannten Kennzahlen , die nach Dimensionen kategorisiert sind . Die Kennzahlen befinden sich an den Schnittpunkten des Hyperwürfels, der von den Dimensionen als Vektorraum aufgespannt wird . Die übliche Schnittstelle zur Bearbeitung eines OLAP-Würfels ist eine Matrixschnittstelle, ähnlich wie Pivot-Tabellen in Tabellenkalkulationsprogrammen. Diese führt Projektionsoperationen entlang der Dimensionen durch, wie z. B. Aggregation oder Mittelwertbildung.

Die Metadaten des Datenwürfels werden typischerweise aus einem Sternschema , einem Schneeflockenschema oder einer Faktentabellenkonstellation in einer relationalen Datenbank erstellt . Kennzahlen werden aus den Datensätzen der Faktentabelle abgeleitet , und Dimensionen werden aus den Dimensionstabellen abgeleitet .

Jede Kennzahl kann als mit einer Reihe von Bezeichnungen oder Metadaten verknüpft betrachtet werden . Eine Dimension beschreibt diese Bezeichnungen ; sie liefert Informationen über die Kennzahl .

Ein einfaches Beispiel wäre ein Cube, der die Umsätze eines Geschäfts als Kennzahl und Datum/Uhrzeit als Dimension enthält . Jeder Verkauf hat eine Datums-/Uhrzeitangabe , die weitere Informationen zu diesem Verkauf liefert.

Zum Beispiel:

Verkaufsdatentabelle +-------------+----------+ | Verkaufsbetrag | Zeit-ID | +-------------+----------+ Zeitdimension | 930.10| 1234 |----+ +---------+-------------------+ +-------------+----------+ | | time_id | timestamp | | +---------+-------------------+ +---->| 1234 | 20080902 12:35:43 | +---------+-------------------+ 

Multidimensionale Datenbanken

Eine multidimensionale Struktur wird definiert als „eine Variante des relationalen Modells, die multidimensionale Strukturen zur Organisation von Daten und zur Darstellung der Beziehungen zwischen Daten verwendet“ [ 6 ] : 177. Die Struktur ist in Cubes unterteilt, die Daten innerhalb ihrer Grenzen speichern und darauf zugreifen können. „Jede Zelle einer multidimensionalen Struktur enthält aggregierte Daten, die sich auf Elemente entlang jeder ihrer Dimensionen beziehen“ [ 6 ] : 178. Selbst bei der Datenmanipulation bleiben die Daten leicht zugänglich und bilden weiterhin ein kompaktes Datenbankformat. Die Daten bleiben miteinander verknüpft. Multidimensionale Strukturen sind besonders beliebt für analytische Datenbanken, die OLAP-Anwendungen (Online Analytical Processing) nutzen [ 6 ] . Analytische Datenbanken verwenden diese Datenbanken aufgrund ihrer Fähigkeit, schnell Antworten auf komplexe Geschäftsanfragen zu liefern. Daten können aus verschiedenen Blickwinkeln betrachtet werden, was im Gegensatz zu anderen Modellen eine umfassendere Sicht auf ein Problem ermöglicht [ 8 ] .

Aggregationen

Es wurde behauptet, dass OLAP-Cubes bei komplexen Abfragen eine Antwort in etwa 0,1 % der Zeit liefern können, die für dieselbe Abfrage auf relationalen OLTP- Daten benötigt wird. [ 9 ] [ 10 ] Der wichtigste Mechanismus in OLAP, der diese Leistung ermöglicht, ist die Verwendung von Aggregationen . Aggregationen werden aus der Faktentabelle erstellt, indem die Granularität bestimmter Dimensionen geändert und Daten entlang dieser Dimensionen mithilfe einer Aggregatfunktion aggregiert werden . Die Anzahl der möglichen Aggregationen wird durch jede mögliche Kombination von Dimensionsgranularitäten bestimmt.

Die Kombination aller möglichen Aggregationen und der Basisdaten enthält die Antworten auf jede Anfrage, die anhand der Daten beantwortet werden kann. [ 11 ]

Da üblicherweise viele Aggregationen berechnet werden können, wird oft nur eine vorbestimmte Anzahl vollständig berechnet; die übrigen werden bei Bedarf berechnet. Das Problem der Auswahl der zu berechnenden Aggregationen (Sichten) wird als Sichtauswahlproblem bezeichnet. Die Sichtauswahl kann durch die Gesamtgröße der ausgewählten Aggregationen, die Aktualisierungszeit aufgrund von Änderungen in den Basisdaten oder beides eingeschränkt sein. Ziel der Sichtauswahl ist typischerweise die Minimierung der durchschnittlichen Antwortzeit von OLAP-Abfragen, wobei in einigen Studien auch die Aktualisierungszeit minimiert wird. Die Sichtauswahl ist NP-vollständig . Viele Lösungsansätze wurden untersucht, darunter Greedy-Algorithmen , randomisierte Suche, genetische Algorithmen und der A*-Suchalgorithmus .

Manche Aggregationsfunktionen lassen sich für den gesamten OLAP-Würfel berechnen, indem man die Werte für jede Zelle vorab berechnet und anschließend die Aggregation für einen Roll-up von Zellen durch Aggregation dieser Aggregate ermittelt. Dabei wird ein Divide-and-Conquer-Algorithmus auf das mehrdimensionale Problem angewendet, um die Berechnungen effizient durchzuführen. [ 12 ] Beispielsweise entspricht die Gesamtsumme eines Roll-ups der Summe der Teilsummen in jeder Zelle. Funktionen, die sich auf diese Weise zerlegen lassen, werden als zerlegbare Aggregationsfunktionen bezeichnet . Dazu gehören beispielsweise die Funktionen COUNT, MAX, MINund SUM, die für jede Zelle berechnet und anschließend direkt aggregiert werden können; diese werden als selbstzerlegbare Aggregationsfunktionen bezeichnet. [ 13 ]

In anderen Fällen lässt sich die Aggregatfunktion berechnen, indem man Hilfszahlen für Zellen ermittelt, diese aggregiert und schließlich die Gesamtzahl berechnet. Beispiele hierfür sind AVERAGE(Summe und Anzahl erfassen, am Ende dividieren) und RANGE(Maximum und Minimum erfassen, am Ende subtrahieren). In anderen Fällen kann die Aggregatfunktion nur berechnet werden, wenn der gesamte Datensatz analysiert wird. In einigen Fällen sind jedoch Näherungswerte möglich. Beispiele hierfür sind DISTINCT COUNT, MEDIANund MODE; beispielsweise ist der Median einer Menge nicht der Median der Mediane von Teilmengen. Letztere sind in OLAP schwer effizient zu implementieren, da sie die Berechnung der Aggregatfunktion auf den Basisdaten erfordern. Dies kann entweder online (langsam) oder im Voraus für mögliche Rollouts (großer Speicherplatzbedarf) erfolgen.

Typen

OLAP-Systeme wurden traditionell anhand der folgenden Taxonomie kategorisiert. [ 14 ]

Multidimensionales OLAP (MOLAP)

MOLAP (Multi-Dimensional Online Analytical Processing) ist die klassische Form von OLAP und wird manchmal einfach als OLAP bezeichnet. MOLAP speichert diese Daten in einem optimierten mehrdimensionalen Array-Speicher anstatt in einer relationalen Datenbank.

Einige MOLAP-Tools erfordern die Vorberechnung und Speicherung abgeleiteter Daten, beispielsweise für Konsolidierungen – ein Vorgang, der als Verarbeitung bezeichnet wird. Solche MOLAP-Tools nutzen in der Regel einen vorab berechneten Datensatz, den sogenannten Datenwürfel . Dieser Datenwürfel enthält alle möglichen Antworten auf einen bestimmten Fragenbereich. Dadurch reagieren sie sehr schnell auf Anfragen. Aktualisierungen hingegen können je nach Umfang der Vorberechnung lange dauern. Die Vorberechnung kann außerdem zu einer sogenannten Datenexplosion führen.

Andere MOLAP-Tools, insbesondere solche, die das funktionale Datenbankmodell implementieren , berechnen abgeleitete Daten nicht vorab, sondern führen alle Berechnungen bei Bedarf durch, mit Ausnahme derjenigen, die zuvor angefordert und in einem Cache gespeichert wurden.

Vorteile von MOLAP

  • Schnelle Abfrageleistung dank optimierter Speicherung, mehrdimensionaler Indizierung und Zwischenspeicherung.
  • Geringere Größe der auf der Festplatte gespeicherten Daten im Vergleich zu Daten, die in relationalen Datenbanken gespeichert sind, dank Komprimierungstechniken.
  • Automatisierte Berechnung von Datenaggregaten höherer Ebene.
  • Für Datensätze mit niedriger Dimensionalität ist es sehr kompakt.
  • Array-Modelle bieten eine natürliche Indizierung.
  • Eine effektive Datenextraktion wird durch die Vorstrukturierung aggregierter Daten erreicht.

Nachteile von MOLAP

  • Bei manchen MOLAP-Systemen kann der Verarbeitungsschritt (Datenladen) recht lange dauern, insbesondere bei großen Datenmengen. Dies wird üblicherweise durch inkrementelle Verarbeitung behoben, d. h. es werden nur die geänderten Daten (in der Regel neue Daten) verarbeitet, anstatt den gesamten Datensatz neu zu verarbeiten.
  • Manche MOLAP-Methoden führen zu Datenredundanz.

Produkte

Beispiele für kommerzielle Produkte, die MOLAP verwenden, sind Cognos Powerplay, Oracle Database OLAP Option , MicroStrategy , Microsoft Analysis Services , Essbase , TM1 , Jedox und icCube.

Relationales OLAP (ROLAP)

ROLAP arbeitet direkt mit relationalen Datenbanken und benötigt keine Vorberechnung. Die Basisdaten und Dimensionstabellen werden als relationale Tabellen gespeichert, und für die aggregierten Informationen werden neue Tabellen erstellt. Es basiert auf einem speziellen Schema-Design. Diese Methodik nutzt die Manipulation der in der relationalen Datenbank gespeicherten Daten, um die Funktionalität des traditionellen OLAP-Slicings und -Dicings nachzubilden. Im Wesentlichen entspricht jede Slicing- und Dicing-Aktion dem Hinzufügen einer „WHERE“-Klausel in der SQL-Anweisung. ROLAP-Tools verwenden keine vorkalkulierten Datenwürfel, sondern stellen die Abfrage direkt an die relationale Standarddatenbank und ihre Tabellen, um die zur Beantwortung der Frage benötigten Daten abzurufen. ROLAP-Tools ermöglichen es, beliebige Fragen zu stellen, da die Methodik nicht auf den Inhalt eines Datenwürfels beschränkt ist. ROLAP bietet außerdem die Möglichkeit, bis auf die detaillierteste Ebene der Datenbank vorzudringen.

ROLAP nutzt zwar eine relationale Datenbank als Datenquelle, die Datenbank muss jedoch generell sorgfältig für den ROLAP-Einsatz konzipiert sein. Eine für OLTP entwickelte Datenbank eignet sich nicht optimal als ROLAP-Datenbank. Daher erfordert auch ROLAP das Erstellen einer zusätzlichen Datenkopie. Da es sich aber um eine Datenbank handelt, können verschiedene Technologien zum Befüllen der Datenbank verwendet werden.

Vorteile von ROLAP

  • ROLAP gilt als besser skalierbar bei der Verarbeitung großer Datenmengen, insbesondere bei Modellen mit Dimensionen mit sehr hoher Kardinalität (d. h. Millionen von Elementen).
  • Dank der Vielzahl verfügbarer Datenladewerkzeuge und der Möglichkeit, den ETL-Code ( Extrahieren, Transformieren, Laden ) präzise auf das jeweilige Datenmodell abzustimmen, sind die Ladezeiten im Allgemeinen wesentlich kürzer als bei den automatisierten MOLAP- Ladevorgängen.
  • Die Daten werden in einer Standard- Relationaldatenbank gespeichert und können mit jedem SQL -Reporting-Tool abgerufen werden (es muss sich dabei nicht um ein OLAP-Tool handeln).
  • ROLAP-Tools eignen sich besser für die Verarbeitung nicht aggregierbarer Fakten (z. B. Textbeschreibungen). MOLAP- Tools weisen bei Abfragen dieser Elemente häufig eine geringe Performance auf.
  • Durch die Entkopplung der Datenspeicherung vom mehrdimensionalen Modell ist es möglich, Daten erfolgreich zu modellieren, die andernfalls nicht in ein striktes dimensionales Modell passen würden.
  • Der ROLAP-Ansatz kann Datenbank -Autorisierungskontrollen wie die Sicherheit auf Zeilenebene nutzen , wobei die Abfrageergebnisse abhängig von vordefinierten Kriterien gefiltert werden, die beispielsweise auf einen bestimmten Benutzer oder eine Benutzergruppe angewendet werden ( SQL WHERE-Klausel).

Nachteile von ROLAP

  • In der Branche herrscht Einigkeit darüber, dass ROLAP-Werkzeuge langsamer sind als MOLAP-Werkzeuge. Siehe dazu die nachfolgende Diskussion zur ROLAP-Leistung.
  • Das Laden von Aggregattabellen muss durch benutzerdefinierten ETL- Code gesteuert werden . Die ROLAP-Tools unterstützen diese Aufgabe nicht. Dies bedeutet zusätzlichen Entwicklungsaufwand und mehr zu pflegenden Code.
  • Wird der Schritt der Erstellung von Aggregattabellen übersprungen, leidet die Abfrageleistung, da die größeren Detailtabellen abgefragt werden müssen. Dies lässt sich teilweise durch das Hinzufügen weiterer Aggregattabellen beheben; es ist jedoch weiterhin nicht praktikabel, für jede Kombination von Dimensionen/Attributen Aggregattabellen zu erstellen.
  • ROLAP nutzt für Abfragen und Caching eine Allzweckdatenbank, weshalb einige von MOLAP -Tools verwendete Spezialtechniken (wie z. B. spezielle hierarchische Indizierung) nicht verfügbar sind. Moderne ROLAP-Tools nutzen jedoch die neuesten Verbesserungen der SQL- Sprache, wie z. B. die Operatoren CUBE und ROLLUP, DB2 Cube Views sowie weitere SQL-OLAP-Erweiterungen. Diese SQL-Verbesserungen können die Vorteile der MOLAP- Tools jedoch relativieren.
  • Da ROLAP-Tools für alle Berechnungen auf SQL angewiesen sind, eignen sie sich nicht für Modelle mit hohem Rechenaufwand, der sich nicht gut in SQL übersetzen lässt . Beispiele für solche Modelle sind Budgetierung, Mittelzuweisungen, Finanzberichterstattung und ähnliche Szenarien.

Leistung von ROLAP

In der OLAP-Branche gilt ROLAP gemeinhin als skalierbar für große Datenmengen, weist aber im Vergleich zu MOLAP eine geringere Abfrageleistung auf . Die OLAP-Studie , die größte unabhängige Untersuchung aller wichtigen OLAP-Produkte, die über sechs Jahre (2001 bis 2006) durchgeführt wurde, hat durchweg gezeigt, dass Unternehmen, die ROLAP einsetzen, eine geringere Leistung aufweisen als solche, die MOLAP verwenden – selbst unter Berücksichtigung des Datenvolumens.

Wie bei jeder Umfrage gibt es jedoch eine Reihe subtiler Aspekte, die bei der Interpretation der Ergebnisse berücksichtigt werden müssen.

  • Die Umfrage zeigt, dass ROLAP-Tools in den einzelnen Unternehmen siebenmal häufiger genutzt werden als MOLAP- Tools. Systeme mit mehr Nutzern neigen dazu, in Spitzenzeiten häufiger Leistungsprobleme zu haben.
  • Es stellt sich auch die Frage nach der Komplexität des Modells, gemessen sowohl an der Anzahl der Dimensionen als auch am Umfang der Berechnungen. Die Umfrage bietet keine geeignete Methode, um diese Schwankungen in den analysierten Daten zu kontrollieren.

Nachteil der Flexibilität

Manche Unternehmen wählen ROLAP, weil sie bestehende relationale Datenbanktabellen wiederverwenden möchten – diese Tabellen sind häufig nicht optimal für OLAP ausgelegt. Die höhere Flexibilität von ROLAP-Tools ermöglicht zwar die Nutzung dieses suboptimalen Designs, jedoch leidet die Performance darunter. MOLAP- Tools hingegen würden die Daten zwingen, in ein optimales OLAP-Design neu zu laden.

Hybrid OLAP (HOLAP)

Der unerwünschte Zielkonflikt zwischen zusätzlichen ETL- Kosten und langsamer Abfrageleistung hat dazu geführt, dass die meisten kommerziellen OLAP-Tools heute einen "Hybrid OLAP"-Ansatz (HOLAP) verwenden, der es dem Modellentwickler ermöglicht zu entscheiden, welcher Teil der Daten in MOLAP und welcher Teil in ROLAP gespeichert wird.

Es besteht branchenweit keine eindeutige Einigkeit darüber, was genau „Hybrid OLAP“ ausmacht, außer dass eine Datenbank Daten zwischen relationalem und spezialisiertem Speicher aufteilt. [ 15 ] Beispielsweise verwenden einige Anbieter für ihre HOLAP-Datenbanken relationale Tabellen für die größeren Mengen detaillierter Daten und spezialisierten Speicher für zumindest Teile der kleineren Mengen aggregierter oder weniger detaillierter Daten. HOLAP behebt die Schwächen von MOLAP und ROLAP , indem es die Vorteile beider Ansätze vereint. HOLAP-Tools können sowohl vorkalkulierte Cubes als auch relationale Datenquellen nutzen.

Vertikale Unterteilung

In diesem Modus speichert HOLAP Aggregationen in MOLAP für eine schnelle Abfrageleistung und detaillierte Daten in ROLAP , um die Verarbeitungszeit des Cubes zu optimieren .

Horizontale Trennwand

In diesem Modus speichert HOLAP einen Teil der Daten, üblicherweise die aktuelleren (d. h. nach der Zeitdimension segmentiert), in MOLAP , um eine schnelle Abfrageleistung zu gewährleisten, und ältere Daten in ROLAP . Darüber hinaus können wir einige Datensätze in MOLAP und andere in ROLAP speichern , indem wir die Tatsache ausnutzen, dass in einem großen Quader dichte und dünne Teilbereiche vorhanden sind. [ 16 ]

Produkte

Das erste Produkt mit HOLAP-Speicher war Holos , die Technologie wurde aber auch in anderen kommerziellen Produkten wie Microsoft Analysis Services , Oracle Database OLAP Option , MicroStrategy und SAP BI Accelerator verfügbar. Der hybride OLAP-Ansatz kombiniert ROLAP- und MOLAP-Technologie und profitiert von der höheren Skalierbarkeit von ROLAP und der schnelleren Berechnung von MOLAP. Beispielsweise kann ein HOLAP-Server große Mengen detaillierter Daten in einer relationalen Datenbank speichern, während Aggregationen in einem separaten MOLAP-Speicher abgelegt werden. Die Microsoft SQL Server 7.0 OLAP Services unterstützen einen hybriden OLAP-Server.

Vergleich

Jeder Typ hat seine Vorteile, obwohl zwischen den Anbietern Uneinigkeit über die genauen Vorteile besteht.

  • Bei einigen MOLAP-Implementierungen kommt es zu Datenbankexplosionen, einem Phänomen, das dazu führt, dass MOLAP-Datenbanken enorme Mengen an Speicherplatz belegen, wenn bestimmte häufige Bedingungen erfüllt sind: eine hohe Anzahl von Dimensionen, vorab berechnete Ergebnisse und spärliche mehrdimensionale Daten.
  • MOLAP bietet im Allgemeinen eine bessere Performance aufgrund spezialisierter Indexierungs- und Speicheroptimierungen. MOLAP benötigt außerdem weniger Speicherplatz als ROLAP, da der spezialisierte Speicher typischerweise Komprimierungstechniken beinhaltet . [ 15 ]
  • ROLAP ist im Allgemeinen besser skalierbar. [ 15 ] Die Vorverarbeitung großer Datenmengen ist jedoch schwierig effizient zu implementieren und wird daher häufig ausgelassen. Die Abfrageleistung von ROLAP kann dadurch erheblich beeinträchtigt werden.
  • Da ROLAP für Berechnungen stärker auf die Datenbank angewiesen ist, gibt es mehr Einschränkungen bei den spezialisierten Funktionen, die es nutzen kann.
  • HOLAP versucht, die besten Eigenschaften von ROLAP und MOLAP zu vereinen. Es kann im Allgemeinen schnell vorverarbeiten, ist gut skalierbar und bietet eine gute Funktionsunterstützung.

Andere Arten

Folgende Akronyme werden ebenfalls gelegentlich verwendet, sind aber nicht so weit verbreitet wie die oben genannten:

  • WOLAP – Webbasierte OLAP
  • DOLAP – Desktop OLAP
  • RTOLAP – Echtzeit-OLAP
  • GOLAP – Diagramm OLAP [ 17 ] [ 18 ]
  • CaseOLAP – Kontextsensitives semantisches OLAP [ 19 ] wurde für biomedizinische Anwendungen entwickelt. [ 20 ] Die CaseOLAP-Plattform umfasst die Datenvorverarbeitung (z. B. Herunterladen, Extrahieren und Parsen von Textdokumenten), die Indizierung und Suche mit Elasticsearch, die Erstellung einer funktionalen Dokumentstruktur namens Text-Cube [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] und die Quantifizierung benutzerdefinierter Phrasen-Kategorie-Beziehungen mithilfe des CaseOLAP-Kernalgorithmus.

APIs und Abfragesprachen

Anders als bei relationalen Datenbanken , die SQL als Standardabfragesprache und weit verbreitete APIs wie ODBC , JDBC und OLEDB nutzten , gab es in der OLAP-Welt lange Zeit keine vergleichbare Vereinheitlichung. Die erste wirkliche Standard-API war die OLE DB for OLAP- Spezifikation von Microsoft aus dem Jahr 1997, die die Abfragesprache MDX einführte . Zahlreiche OLAP-Anbieter – sowohl Server- als auch Client-Anbieter – übernahmen sie. Im Jahr 2001 kündigten Microsoft und Hyperion die XML for Analysis- Spezifikation an, die von den meisten OLAP-Anbietern unterstützt wurde. Da auch diese MDX als Abfragesprache verwendete, etablierte sich MDX als De-facto-Standard. [ 26 ] Seit September 2011 kann LINQ für Abfragen von SSAS OLAP-Cubes aus Microsoft .NET verwendet werden . [ 27 ]

Produkte

Geschichte

Das erste Produkt, das OLAP-Abfragen durchführte, war Express, das 1970 veröffentlicht und 1995 von Oracle von Information Resources übernommen wurde. [ 28 ] Der Begriff „relationale Datenbank“ tauchte jedoch erst 1993 auf, als er von Edgar F. Codd geprägt wurde, der als „Vater der relationalen Datenbank“ gilt. Codds Veröffentlichung [ 1 ] entstand im Rahmen eines kurzen Beratungsauftrags, den er für das damalige Unternehmen Arbor Software (später Hyperion Solutions , 2007 von Oracle übernommen) als eine Art Marketingcoup annahm.

Das Unternehmen hatte ein Jahr zuvor sein eigenes OLAP-Produkt, Essbase , auf den Markt gebracht. Daher bezogen sich Codds „zwölf Gesetze der Online-Analyseverarbeitung“ explizit auf Essbase. Dies führte zu Kontroversen, und als Computerworld erfuhr, dass Codd von Arbor bezahlt wurde, zog die Zeitschrift den Artikel zurück. Der OLAP-Markt erlebte Ende der 1990er-Jahre ein starkes Wachstum, und Dutzende kommerzielle Produkte kamen auf den Markt. 1998 veröffentlichte Microsoft seinen ersten OLAP-Server – Microsoft Analysis Services –, der die breite Akzeptanz der OLAP-Technologie vorantrieb und sie zum Standard machte.

Produktvergleich

OLAP-Clients

OLAP-Clients umfassen zahlreiche Tabellenkalkulationsprogramme wie Excel, Webanwendungen, SQL-Datenbanken, Dashboard-Tools usw. Viele Clients unterstützen die interaktive Datenexploration, bei der Benutzer Dimensionen und Kennzahlen auswählen. Einige Dimensionen dienen als Filter (zum Segmentieren und Analysieren der Daten), während andere als Achsen einer Pivot-Tabelle oder eines Pivot-Charts verwendet werden. Benutzer können zudem den Aggregationsgrad (für Drilldown oder Rollup) der angezeigten Ansicht anpassen. Clients bieten darüber hinaus eine Vielzahl grafischer Widgets wie Schieberegler, geografische Karten, Heatmaps und mehr, die zu Dashboards gruppiert und koordiniert werden können. Eine umfassende Liste der Clients finden Sie in der Spalte „Visualisierung“ der Vergleichstabelle der OLAP-Server .

Marktstruktur

Nachfolgend eine Liste der führenden OLAP-Anbieter im Jahr 2006 mit Angaben in Millionen US-Dollar . [ 29 ]

VerkäuferWeltweiter UmsatzKonsolidiertes Unternehmen
Microsoft Corporation1.806Microsoft
Hyperion Solutions Corporation1.077Orakel
Cognos735IBM
Geschäftsobjekte416SAFT
MicroStrategy416MicroStrategy
SAP AG330SAFT
Cartesis ( SAP )210SAFT
Applix205IBM
Info199Info
Oracle Corporation159Orakel
Andere152Andere
Gesamt5.700

Open Source

  • Apache Pinot wird bei LinkedIn, Cisco, Uber, Slack, Stripe, DoorDash, Target, Walmart, Amazon und Microsoft eingesetzt, um skalierbare Echtzeitanalysen mit geringer Latenz bereitzustellen. [ 30 ] Es kann Daten sowohl aus Offline-Datenquellen (wie Hadoop und Flatfiles) als auch aus Online-Quellen (wie Kafka) verarbeiten. Pinot ist horizontal skalierbar.
  • Der Mondrian OLAP-Server ist ein in Java geschriebener Open-Source -OLAP-Server . Er unterstützt die MDX- Abfragesprache, XML for Analysis und die olap4j -Schnittstellenspezifikationen.
  • Apache Doris ist eine Open-Source-Echtzeit-Analysedatenbank, die auf der MPP-Architektur basiert. Sie unterstützt sowohl hochkonkurrenzfähige Punktabfrageszenarien als auch komplexe Analysen mit hohem Durchsatz. [ 31 ]
  • Apache Druid ist ein beliebter Open-Source-Datenspeicher für OLAP-Abfragen, der von verschiedenen Organisationen in großem Umfang in der Produktion eingesetzt wird.
  • Apache Kylin ist ein verteilter Datenspeicher für OLAP-Abfragen, der ursprünglich von eBay entwickelt wurde.
  • Cubes (OLAP-Server) ist ein weiteres leichtgewichtiges Open-Source- Toolkit, das OLAP-Funktionalität in der Programmiersprache Python mit integriertem ROLAP implementiert .
  • ClickHouse ist ein relativ neues spaltenorientiertes DBMS, das auf schnelle Verarbeitungs- und Reaktionszeiten ausgelegt ist.
  • DuckDB [ 32 ] ist ein In-Process-SQL-OLAP -Datenbankmanagementsystem [ 33 ] .
  • MonetDB ist ein ausgereiftes, spaltenorientiertes Open-Source-SQL-RDBMS, das für OLAP-Abfragen entwickelt wurde.

Siehe auch

Referenzen

Zitate

  1. ^ a b Codd EF; Codd SB & Salley CT (1993). „Bereitstellung von OLAP (On-line Analytical Processing) für Anwender-Analysten: Ein IT-Mandat“ (PDF) . Codd & Date, Inc. Abgerufen am 5. März 2008 .
  2. ^ „OLAP Council White Paper“ (PDF) . OLAP Council. 1997. Abgerufen am 18. März 2008 .
  3. ^ Deepak Pareek (2007). Business Intelligence für die Telekommunikation . CRC Press. 294 Seiten. ISBN 978-0-8493-8792-0Abgerufen am 18. März 2008 .
  4. ^ Apostolos Benisis (2010). Business Process Management: Ein Datenwürfel zur Analyse von Geschäftsprozesssimulationsdaten für die Entscheidungsfindung . VDM Verlag Dr. Müller eK , 204 Seiten. ISBN 978-3-639-22216-6Die
  5. ^ Abdullah, Ahsan (November 2009). „Analyse des Schmierlausbefalls an Baumwollkulturen mithilfe des ADSS-OLAP-Tools (Online Analytical Processing)“. Computers and Electronics in Agriculture . 69 (1): 59–72 . Bibcode : 2009CEAgr..69...59A . doi : 10.1016/j.compag.2009.07.003 .
  6. ^ a b c d O'Brien, JA, & Marakas, GM (2009). Managementinformationssysteme (9. Aufl.). Boston, MA: McGraw-Hill/Irwin.
  7. ^ Hari Mailvaganam (2007). „Einführung in OLAP – Slice, Dice and Drill!“ . Data Warehousing Review. Archiviert vom Original am 22. Mai 2013. Abgerufen am 18. März 2008 .
  8. ^ Williams, C., Garza, VR, Tucker, S, Marcus, AM (24. Januar 1994). Multidimensionale Modelle erweitern die Betrachtungsmöglichkeiten. InfoWorld, 16(4)
  9. ^ MicroStrategy, Incorporated (1995). „The Case for Relational OLAP“ (PDF) . Abgerufen am 20. März 2008 .
  10. ^ Surajit Chaudhuri & Umeshwar Dayal (1997). „Ein Überblick über Data Warehousing und OLAP-Technologie“. SIGMOD Rec . 26 (1): 65. CiteSeerX 10.1.1.211.7178 . doi : 10.1145/248603.248616 . S2CID 8125630 .  
  11. Gray , Jim ; Chaudhuri, Surajit; Layman, Andrew; Reichart, Don; Venkatrao, Murali; Pellow, Frank; Pirahesh, Hamid (1997). „Data Cube: {A} Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals“ . J. Data Mining and Knowledge Discovery . 1 (1): 29–53 . arXiv : cs/0701155 . doi : 10.1023/A:1009726021843 . S2CID 12502175. Abgerufen am 20. März 2008 . 
  12. ^ Zhang 2017 , S. 1.
  13. ^ Jesus, Baquero & Almeida 2011 , 2.1 Zerlegbare Funktionen, S. 3–4.
  14. ^ Nigel Pendse (27. Juni 2006). „OLAP-Architekturen“ . OLAP Report. Archiviert vom Original am 24. Januar 2008. Abgerufen am 17. März 2008 .
  15. ^ a b c Bach Pedersen, Torben; S. Jensen, Christian (Dezember 2001). „Multidimensionale Datenbanktechnologie“. Computer . 34 (12): 40–46 . Bibcode : 2001Compr..34l..40P . doi : 10.1109/2.970558 . ISSN 0018-9162 . 
  16. ^ Kaser, Owen; Lemire, Daniel (2006). „Attributwert-Neuanordnung für effizientes hybrides OLAP“. Information Sciences . 176 (16): 2304–2336 . arXiv : cs/0702143 . doi : 10.1016/j.ins.2005.09.005 .
  17. ^ „Diese Woche in der Graph- und Entitätsanalyse“ . Datanami . 7. Dezember 2016. Abgerufen am 8. März 2018 .
  18. ^ „Cambridge Semantics kündigt AnzoGraph-Unterstützung für Amazon Neptune und Graphdatenbanken an“ . Database Trends and Applications . 15. Februar 2018. Abgerufen am 8. März 2018 .
  19. ^ Tao, Fangbo; Zhuang, Honglei; Yu, Chi Wang; Wang, Qi; Cassidy, Taylor; Kaplan, Lance; Voss, Clare; Han, Jiawei (2016). „Mehrdimensionale, Phrasen-basierte Zusammenfassung in Textwürfeln“ (PDF) .
  20. ^ Liem, David A.; Murali, Sanjana; Sigdel, Dibakar; Shi, Yu; Wang, Xuan; Shen, Jiaming; Choi, Howard; Caufield, John H.; Wang, Wei; Ping, Peipei; Han, Jiawei (1. Oktober 2018). „Phrase Mining von Textdaten zur Analyse von extrazellulären Matrixproteinmustern bei kardiovaskulären Erkrankungen“ . American Journal of Physiology. Heart and Circulatory Physiology . 315 (4): H910– H924 . doi : 10.1152/ajpheart.00175.2018 . ISSN 1522-1539 . PMC 6230912. PMID 29775406 .   
  21. ^ Lee, S.; Kim, N.; Kim, J. (2014). „Eine mehrdimensionale Analyse und ein Datenwürfel für unstrukturierte Texte und soziale Medien“. 2014 IEEE Fourth International Conference on Big Data and Cloud Computing . S.  761–764 . doi : 10.1109/BDCloud.2014.117 . ISBN 978-1-4799-6719-3. S2CID  229585 .
  22. ^ Ding, B.; Lin, XC; Han, J.; Zhai, C.; Srivastava, A.; Oza, NC (Dezember 2011). „Effiziente schlüsselwortbasierte Suche nach den Top-K-Zellen in einem Textwürfel“. IEEE Transactions on Knowledge and Data Engineering . 23 (12): 1795–1810 . Bibcode : 2011ITKDE..23.1795D . doi : 10.1109/TKDE.2011.34 . S2CID 13960227 . 
  23. Ding , B.; Zhao, B.; Lin, C. X.; Han, J.; Zhai, C. (2010). „TopCells: Keyword-based search of top-k aggregate documents in text cube“. 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010) . S.  381–384 . CiteSeerX 10.1.1.215.7504 . doi : 10.1109/ICDE.2010.5447838 . ISBN  978-1-4244-5445-7S2CID  14649087 .​
  24. Lin , C. X.; Ding, B.; Han, K.; Zhu, F.; Zhao, B. (2008). „Text Cube: Berechnung von IR-Maßen für die Analyse mehrdimensionaler Textdatenbanken“. 2008 Eighth IEEE International Conference on Data Mining . S.  905–910 . doi : 10.1109/icdm.2008.135 . ISBN 978-0-7695-3502-9. S2CID  1522480 .
  25. ^ Liu, X.; Tang, K.; Hancock, J.; Han, J.; Song, M.; Xu, R.; Pokorny, B. (21. März 2013). Greenberg, AM; Kennedy, WG; Bos, ND (Hrsg.). Social Computing, Behavioral-Cultural Modeling and Prediction: 6. Internationale Konferenz, SBP 2013, Washington, DC, USA, 2.–5. April 2013, Konferenzband (7812). Berlin, Heidelberg: Springer. S.  321–330 . ISBN 978-3-642-37209-4Die
  26. ^ Nigel Pendse (23. August 2007). „Kommentar: OLAP-API-Kriege“ . OLAP Report. Archiviert vom Original am 28. Mai 2008. Abgerufen am 18. März 2008 .
  27. ^ „SSAS Entity Framework Provider für LINQ zu SSAS OLAP“ . Archiviert vom Original am 29. September 2011.
  28. ^ Nigel Pendse (23. August 2007). „Die Ursprünge der heutigen OLAP-Produkte“ . OLAP Report. Archiviert vom Original am 21. Dezember 2007. Abgerufen am 27. November 2007 .
  29. ^ Nigel Pendse (2006). „OLAP-Markt“ . OLAP-Bericht. Archiviert vom Original am 30. März 1997. Abgerufen am 17. März 2008 .
  30. ^ Yegulalp, Serdar (11. Juni 2015). „LinkedIn füllt eine weitere Nische im SQL-on-Hadoop-Bereich“ . InfoWorld . Abgerufen am 19. November 2016 .
  31. ^ „Apache Doris“ . GitHub . Apache Doris Community . Abgerufen am 5. April 2023 .
  32. ^ „Ein In-Process-SQL-OLAP-Datenbankmanagementsystem“ . DuckDB . Abgerufen am 10. Dezember 2022 .
  33. ^ Anand, Chillar (17. November 2022). „Common Crawl On Laptop - Extracting Subset Of Data“ . Avil Page . Abgerufen am 10. Dezember 2022 .

Quellen

Weiterführende Literatur

  • Erik Thomsen. (1997). OLAP-Lösungen: Aufbau multidimensionaler Informationssysteme, 2. Auflage . John Wiley & Sons. ISBN 978-0-471-14931-6Die