Performance von Essbase und Planung Anwendungen verbessern

Es gibt viele Anwendungen, die mit der Zeit an Performance verlieren und dann gibt es zu Recht irgendwann klagende Benutzer. Die Abfragegeschwindigkeit, die Rechengeschwindigkeit und auch das Datenladen dauern dann immer lĂ€nger und die Anwendung wird als Ganzes als langsam erfahren. Dann wird es höchste Zeit fĂŒr den Admin tĂ€tig zu werden! Wie und was dieser tun kann, beschreibe ich in diesem Beitrag.

Pflege und Instandhaltung

Auch Software-Anwendungen mĂŒssen regelmĂ€ĂŸig gepflegt werden. Denn nur so kann ein guter Betrieb gewĂ€hrleistet werden. Einerseits sollten, wie im Wohnzimmer, die Objekte aufgerĂ€umt werden. Wer kennt es nicht, dass man immer wieder Business Rules, Reports und anderes sieht, welche nie mehr verwendet werden. Mit dieser Pflege lĂ€sst sich die BenutzeroberflĂ€che verbessern.

Dieses hilft in der Regel aber nicht bei der Leistung oder der Performance. HierfĂŒr gibt es eine Reihe anderen Dingen, die geschehen sollten. Dieses sind:

  • AufrĂ€umen von Dimensions-Elementen
  • AufrĂ€umen von Daten
  • Löschen von leeren Blöcken
  • Defragmentieren

Ziel ist es, nur relevante Daten in der Anwendung zu haben. Denn im Allgemeinen kann man sagen: je weniger und besser sortiert die Daten, je schneller die Anwendung.

AufrÀumen von Dimensions-Elementen

Der grĂ¶ĂŸte Vorteil wird erzielt bei Elementen einer Dense (Dichten) Dimension, denn diese gespeicherten Elemente bilden den Datenblock und dieser hat in der gesamten Datenbank immer denselben Aufbau. Wenn ein Datenblock nur ein kleines bisschen reduziert wird, dann hat dieses einen großen Einfluss auf die gesamte GrĂ¶ĂŸe der Datenbank.

Oft findet man auch Elemente, die irgendwann mal angelegt wurden, weil hierauf Daten landen sollten oder weil eine Person dieses in einen Bericht brauchte. Aber aktuell sind diese nicht mehr nötig und man sollte dann mit den Benutzern dieses auch besprechen. Letztlich ist es auch in deren Interesse.

AufrÀumen von Daten

Oft gibt es in Anwendungen noch Daten die sich niemand mehr ansehen wird. So gibt es immer wieder 2 Sicherungskopien eines Forecasts von vor 3 Jahren. Diese werden Jahr ein und Jahr aus mitgeschleppt. Jeder Backup, jede Restrukturierung und bei vielen anderen AktivitÀten werden diese Daten immer wieder verarbeitet.

Auch hier sollte regelmĂ€ĂŸig kontrolliert werden, welche Daten gibt es ĂŒberhaupt und die Benutzer sollten angeben welche nicht mehr notwendig sind. Diese werden dann auch gelöscht denn unsere Software und Struktur der Anwendungen sind generell nicht fĂŒr „Big Data“ ausgelegt.

Wenn der Betrieb sich nicht von seinen Daten trennen kann, dann können diese Daten auch in Archive ausgelagert werden, denn hier sind sie weniger zur Last im tÀglichen Betrieb.

Löschen von leeren Blöcken

Hierzu gibt es ein gutes Calc Script Kommando, welches weiter nichts macht, als leere Blöcke aus der Datenbank zu entfernen. Dieses ist CLEARBLOCK.  Einfach ohne FIX in der Datenbank ausfĂŒhren, aber Achtung – nur mit dem Parameter EMPTY werden keine Daten gelöscht!

Der Prozess kann bei großen Datenbanken lange dauern, aber die Datenbank ist frei fĂŒr LeseaktivitĂ€ten der Benutzer. Der Prozess kann auch parallel ausgefĂŒhrt werden, also kann man mehrere Prozessoren gleichzeitig auslasten und damit die Rechenzeit verringern.

CLEARBLOCK EMPTY;

Wichtig ist es, nicht nur den Level 0 zu verarbeiten, denn auch im oberen Bereich kann es viele leere Blöcke geben.

Defragmentieren

Beim Dataload, Berechnen und kopieren von Daten tritt eine natĂŒrliche Defragmentierung oder ZerstĂŒckelung auf. Ein Datenblock, der sauber und logisch zwischen anderen stand, wird etwas grĂ¶ĂŸer und kann nicht mehr an seine originĂ€re Stelle auf der Festplatte geschrieben werden. Kommt also an die erste Stelle, wo dieser wohl passt. Bei vielen Scheib- und Rechenoperationen verliert die Datenbank schnell seine optimale Struktur auf der Festplatte. Der Server muss seine Daten von weiter von verstreuten PlĂ€tzen holen. Dieses hat einen großen Einfluss auf die Geschwindigkeit bei den Abfragen, aber auch den Berechnungen und auch das Laden und Exportieren von Daten.

MaxL statement

alter database <NAME> force restructure;

Dieser Aufruf wird die gesamte Datenbank neu strukturieren und wĂ€hrend dieser Prozess lĂ€uft, ist die Datenbank fĂŒr alle Benutzer blockiert. Die gesamte Datenbank wird im Hintergrund neu aufgebaut, und wenn der Prozess erfolgreich war, wird das alte Original entfernt und die neue Kopie Live gesetzt.

Fazit

Das AufrĂ€umen von Dimensionselemente und Daten kann nicht automatisiert werden. Bis eine AI (artificial intelligence) dieses richtig beurteilen kann, sodass dieses in unseren Essbase Datenbanken umsetzbar ist, wird es bestimmt noch etwas dauern. Die ĂŒbrigen Schritte aber lassen sich automatisieren und periodisch ausfĂŒhren. Hierdurch werden die Benutzer die Anwendung lange mit Erfolg benutzen.

Ihr Philip Hulsebosch

philip.hulsebosch@hyperionimklartext.de

Veröffentlicht in Essbase, Installation, Konfiguration & Tuning Verwendete Schlagwörter: , ,