Patch 11.1.2.3.500 – Teil Essbase

Oracle hat bereits die Version 11.1.2.4. auf dem Markt gebracht und ich habe noch nicht die Neuerungen aus dem Patch 500 beschrieben. Nun, einer ist so fundamental in seine Art, dass dieser sich noch weiterentwickeln wird in die nächsten Versionen: Hybrid Aggregation Mode in Block Storage Databases oder wie es in Fachkreisen heißt: Hybrid Essbase.

In diesem Beitrag werde ich nur relativ kurz auf das Hybrid Essbase eingehen, denn das Thema ist verschiedene Beitr√§ge wert. Ja, ich werde mich echt zur√ľckhalten m√ľssen, ansonsten wird es nichts mehr mit den anderen interessanten Neuerungen im Patch 500. Denn hier haben wir das FIXPARALLEL und CALCPARALLEL mit @XREF und @WRITE.

 

Hybrid Essbase

Seit der Geburt von Essbase haben wir den Speichertyp Block Storage. Ich glaube, es war in Version 5, als es mit dem Integration Server ein Hybrid Essbase gab. Es bot die Möglichkeit, um ab einer bestimmten Generation die Daten in einer relationalen Datenquelle zu lassen und die Ergebnisse in das Essbase zu laden. Dann war ein Drilldown in die relationale Welt möglich…

Diese Funktionalit√§t wurde aber zu einem gro√üen Teil obsolet in Version 6 mit Aggregate Storage. Jetzt konnten wir echt gro√üe Dimensionen erstellen und noch mehr Daten laden. Keine Datenexplosion und stundenlanges Aggregieren mehr. Eine neue Welt √∂ffnete sich‚Ķ ein neues Level im Spiel war erreicht‚Ķ es wurde probiert, es wurde diskutiert, aber es kamen auch einige Entt√§uschungen. Es war doch nicht alles so einfach und der Realit√§tssinn kam zur√ľck.

Doch die Essbase Entwickler bringen uns nun wieder in eine neue Welt, wir werden denselben Prozess wieder durchmachen … denn es gibt Hybrid Essbase:

Kurz gesagt innerhalb einer Block Storage Datenbank können Dimensionen markiert werden, welche dann eine ASO-artige Aggregationsfunktion haben.

Also kein CALC DIM oder AGG auf große flache Dimensionen wie Produkte und Kunden mehr, aber doch die Funktionen eines Calc Skripts.

Dieses wird wiederum die Designmöglichkeiten vergrößern und Essbase noch breiter einsatzfähig machen. Vor allem, weil die Produktmanager deutlich gemacht haben, dass dieses erst der Beginn dieser Entwicklung ist. Wir haben die rasanten Weiterentwicklungen ja auch schon beim ASO gesehen. Ich kann es nicht erwarten!

 

Im Juni, während der amerikanischen Benutzerkonferenz KSCOPE15 wird es dann auch wieder das Thema Nummer 1.

Im letzten Jahr wurden die Hybrid Essbase Präsentationen schnell in größere Räume verlegt, um allen Teilnehmern einen Sitzplatz zu bieten. Es zeigt deutlich, welchen Stellenwert diese Entwicklung haben wird.

 

Was ist es nun?

Outline:                Im BSO-Format mit Outline Formeln und Dense / Sparse Konfiguration.

Blocks:                  ja, aber werden in ASO Format geladen wenn die Applikation startet.

Rechenkern:      ASO. Angeblich wird das BSO in ein internes MDX umgewandelt.

Calc Skript: ¬†¬†¬†¬†¬†¬†¬†¬† ja, BSO Format. Wenn es ausgef√ľhrt wird, dann sieht man im Log, dass es ASO Format hat, au√üer¬†¬†¬† wenn es komplex wird, dann wird es BSO.

Dateneingabe: nur Level 0 (was machen wir denn sonst?!)

Aggregate Views: nein.

Attribut Dimension: ja, auf den Sparse Dimensionen.

F√ľr den richtigen Einsatz von Hybrid Essbase sollte man Erfahrung mit ASO und BSO haben, denn die Technik ist divers (komplex? schwierig?). Ab und zu k√∂nnte man denken, dass auch noch ein St√ľckchen Hyperroll-Software eingef√ľgt wurde. Diesen Spezialisten hatte Oracle ja schon 2009 gekauft.

Neben den Vorteilen der neuen Funktionalität sollten in dieser ersten Version die Beschränkungen jedoch nicht aus den Augen verloren werden.

Was geht (noch) nicht?

  • Time Balance
  • Two-Pass Calculation in einigen F√§llen
  • Attributes
  • Cross-Dimensional
  • Essbase Reports und DATAEXPORT commando
  • Hybrid als Quelle in Partitionen
  • Sehr viele Calc Funktionen.

 

Einschalten von Hybrid Storage.

Hybrid Storage wird in der Essbase Konfigurationsdatei essbase.cfg mit diesem Eintrag gemacht:

ASODYNAMICAGGINBSO [appname [dbname]] NONE | PARTIAL | FULL

None bedeutet, Hybrid ist ausgeschaltet.

Partial bedeutet, dass die Aggregationszeichen Plus, Minus, Tilde, sowie Formeln in der Outline möglich sind.

Full bedeutet, dass alle Aggregationszeichen in der Outline möglich sind, aber nur eine reduzierte Anzahl von Calc Funktionen verwendet werden kann.

 

Datenordner f√ľr Hybrid Storage.

Wie auch im BSO werden die Daten in einer ‚ÄúPage Datei‚ÄĚ und ‚ÄúIndex Datei‚ÄĚ abgelegt, aber zus√§tzlich auch in einer .dat Datei. Diese liegt in einem Verzeichnis mit der folgenden Pfadangabe $ARBORPATH/hybrid/ApplikationsName.

Hier liegen wie bei ASO-Modellen die Unterverzeichnisse default, log, metadata und temp. Das interessante ist, diese Verzeichnisse sind nur anwesend wenn die Applikation gestartet ist. Beim Herunterfahren werden diese entfernt und beim Hochfahren der Applikation werden diese wieder erstellt.

Mit der Option ASODYNAMICAGGINBSOFOLDERPATH kann dieses Verzeichnis sogar irgendwo anders abgelegt werden. Dann erscheinen und verschwinden die Ordner wie aus Geisterhand! Da werden wir einen Junior-Kollegen mal mit reinlegen k√∂nnen‚Ķ ūüėČ

 

Jetzt aber genug von Hybrid Essbase! Was gibt es sonst noch?

Schnelleres Summieren im MDX

Noch nicht getestet aber sicherlich willkommen sind alle Funktionen die das summieren schneller und schneller machen. Essbase Datenbanken werden immer gr√∂√üer und Google verw√∂hnt uns auch mit super schnellen Antwortzeiten. Dann darf Essbase nicht zur√ľckbleiben.

Was passiert ist, Essbase macht eine Abh√§ngigkeitsanalyse und schaut nach ob der Formelspeicher verwendet werden kann. Wenn dies so ist, dann kann die Abfrage dynamisch ausgef√ľhrt werden.

Also wenn Aggregate( ) oder Sum( ) verwendet wird, dann wird Essbase automatisch den Formelspeicher ansprechen, wenn diese schneller sein wird.

 

FIXPARALLEL

Wenn viele Datenbl√∂cke berechnet werden m√ľssen, die keine wechselseitigen Beziehungen haben, dann ist es g√ľnstig um diese parallel zu verarbeiten. In verschiedenen Situationen konnte eine Berechnung jedoch nicht auf diese Weise ausgef√ľhrt werden, z.B. wenn ein Teil der Datenbank mit DATACOPY, DATAEXPORT oder CLEARDATA bearbeitet wurde. In der Logdatei konnte man sehen, dass auf serielle Verarbeitung umgeschaltet wurde, obwohl das CALCPARALLEL n; angegeben war.

 

Mit dem neuen FIXPARALLEL k√∂nnen diese Bereiche jetzt doch schneller berechnet werden. Es empfiehlt sich, mit dem gebr√§uchlichen CALCPARALLEL zu starten. Durch eine schnelle Logdateianalyse k√∂nnen dann die Teile identifiziert werden, die seriell ausgef√ľhrt werden. Diese k√∂nnen dann vielleicht mit FIXPARALLEL weiter optimiert werden. Serielle Verarbeitung findet auch h√§ufig statt bei der Verwendung von Variablen und voneinander abh√§ngige Formeln.

 

Die Syntax ist einfach, die Erweiterungen und deren Anwendung aber nicht immer. Wie bei jeder Parallel-Verarbeitung wird der Berechnungsbereich in Aufgaben aufgeteilt. Diese werden dann √ľber die Rechenkerne (Threads) verteilt, wobei die Reihenfolge der Berechnungen nicht immer gleich ist.

 

FIXPARALLEL (numThreads, mbrList)

COMMANDS;

ENDFIXPARALLEL

 

CALCPARALLEL mit @XREF und @XWRITE

Die Funktion CALCPARALLEL ist uns ja schon Jahre bekannt, aber schaltet sich jetzt auch ein wenn @XREF oder @XWRITE Funktionen verwendet werden. Hierdurch werden auch Oracle Planning Applikationen profitieren. Vor nicht allzu langer Zeit haben wir in der Praxis die @XREF Funktion nur f√ľr kleine Datenabrufe zwischen Datenbanken verwendet. Die Leistung hat sich aber stark verbessert und wir sind jetzt auf einen Punkt angekommen, wo die @XREF oder @XWRITE Funktionen auch f√ľr gr√∂√üere Transfers eingesetzt werden k√∂nnen.

 

Soweit zu dem Essbase Teil im 500-Patch.

 

Ihr Philip Hulsebosch.

 

 

Veröffentlicht in EPM - 11.1.2.3, Essbase Verwendete Schlagwörter: , ,

Schreibe einen Kommentar