Seit kurzem ist die neue MIK.solution Version 8.0 auf dem Support-Bereich der MIK-Homepage verfügbar.
Ein wichtiger Schwerpunkt der Entwicklungen waren Performanceverbesserungen auf der Frontend- und der Datenbankseite. Highlight ist die neue Formel-Physikalisierungsfunktion, die eine grundlegende Erweiterung von MIK.olap darstellt und bei Anwendungen mit komplexen Formeln massive Beschleunigungen um mehrere 100% erbringen kann.
MIK.solution 8.0 ist kompatibel zu früheren Versionen. Um die neuen Funktionen der Version 8.0 und die Performanceverbesserungen zu nutzen, sind allerdings Anpassungen notwendig.
Wir empfehlen ausdrücklich, für die neuen Funktionen wie z.B. die Physikalisierung, das neue 3-Stufen-Server-Konzept usw. einen ausgebildeten MIK-Berater für ein Upgrade hinzuziehen, um optimale Ergebnisse zu erzielen. So sehr wir die Kompetenz ehemaliger Mitarbeiter und Partner schätzen, raten wir ausdrücklich davon ab, diese für MIK.solution 8.0 heranzuziehen da deren Know-How durch die zahlreichen Weiterentwicklungen überholt ist. Die neue Physikalisierungsfunktion z.B. bietet sehr viele neue Möglichkeiten zu starken Performanceverbesserungen – aber auch Fallstricke, wenn nicht sachgerecht angewendet …
Große Neuerungen von MK.solution 8.0:
|
1. Performance, Performance, Performance …
2009 hat MIK zahlreiche Performance-Tuning-Tage vor Ort bei Kunden durchgeführt, um die Performance von Anwendungen zu verbessern. In vielen Fällen hat der Einsatz bereits vorhandener Funktionen zu starken Verbesserungen geführt. Die Erfahrungen der Performance-Tuning-Tage wurden genutzt, um für MIK.solution 8.0 neue Funktionen für standardmäßig hohe Performance zu entwickeln.
1.1 MIK.xlreport 8.0 - neuer Funktionscache beschleunigt Excel-Sheets
Viele Excel-Sheets erzeugen eine große Zahl von Abfragen an der Datenbank. Dies führt zu Performanceproblemen und einer starken Netzwerkbelastung, was bei Kollegen dazu führt, dass auch diese unter Performanceproblemen leiden.
Der neue Funktionscache in MIK.xlreport 8.0 reduziert die Anzahl der Datenbankabfragen. Besonders wirksam ist er bei Excel-Sheets, die mit mehreren Sprachen, Schlüsseln oder veralteten Bezeichnungen arbeiten – was in der Praxis häufig vorkommt.
Die neue Funktion ist automatisch aktiv und ein absolutes „must have“ für komplexere Excel-Sheets.
1.2 Formel-Physikalisierung
MIK.olap Version 8.0 wurde im Datenbank-Kern grundlegend um die neue Physikalisierungsfunktion erweitert. Physikalisierung heißt, dass berechnete Formelwerte physisch in der Datenbank abgespeichert werden, um die spätere Abfrage extrem schnell zu machen. In den letzten Wochen haben wir diverse Kundenmodelle mit der neuen Physikalisierung umgestellt und dabei Verbesserungen um den Faktor 5, 10, 20 und sogar 40 erreichen können.
Grenzen der „on the fly“ Berechnung
Bis MIK.olap Version 7 wurde ausschließlich„on the fly“ berechnet und verdichtet, also immer im Moment der Abfrage. Bei komplexen Formeln insbesondere auch B-Formeln (Basis-Verdichtung) kann dies zu Performanceproblemen führen.
Bisherige Lösungsmöglichkeiten für Performance-Probleme
Eine bei manchen Projekten angewandte Methode ist das Exportieren von berechneten Werten und Importieren auf neue definierte Basisvariable, mit denen weiter gerechnet wird – entweder über die Datenbank oder über Excel.
Diese Lösung hat folgende Nachteile:
- sehr hoher Realisierungsaufwand
- Inkonsistenz der Daten nach Datenänderungen, bis wieder exportiert / importiert wurde
- erhöhter Pflegeaufwand durch Notwendigkeit regelmäßigen Exports / Imports
Die neue „Zauberlösung“ in MIK.olap 8.0 heißt „Physikalisierung“
Physikalisierung bedeutet, dass Formelergebnisse im Voraus berechnet werden und danach im Würfel physisch abgespeichert werden. Die Abfrage physikalisierter Formeln ist extrem schnell.
Beispiel:
B: Umsatz = Absatz * Preis
Bei der Physikalisierung wird der Umsatz vorab berechnet und dann in der Datenbank gespeichert. Bei einer Abfrage des Umsatzes wird dieser nicht mehr „on the fly“ berechnet, sondern direkt aus der Datenbank gelesen und an das Frontend weiter gegeben.
Die bei MIK.olap 8.0 angewendete Physikalisierung hat nichts mit dem bekannten Cache zu tun und vermeidet die Nachteile von Wettbewerbsprodukten wie z.B. große Datenwürfel. In der Regel werden bei MIK.olap Anwendungen nur sehr wenige Formeln physikalisiert, die meisten Formeln bleiben nach wie vor „on the fly“.
Die MIK-Lösung in MIK.olap 8.0 hat folgende Vorteile:
- 100% automatisch ohne Pflegeaufwand
- Verdichtungs- oder Kalkulationsläufe wie bei Wettbewerbsprodukten sind nicht notwendig
- 100%-ige Datenkonsistenz zu jeder Zeit, auch in der Planung
- Kleine Würfelgrößen
- sämtliche Frontends werden unterstützt
Einfache Anwendung
Die Physikalisierung wird nur auf Formeln, nicht aber auf Verdichtungen angewendet. Statt eines „=“-Zeichens wird in den Formeln das „~“-Zeichen verwendet.
Bsp.
B : [Wareneinsatz HAWA]~[Verrechnungspreis]*[HAWA]
Einschränkungen der Physikalisierung
- Formeln mit Referenzen auf andere Würfel werden unterstützt, allerdings wird der Zielwürfel bei manuellen Datenänderungen reorganisiert
Bsp.
B: [Auslöse/Feiertagszuschlag (FZ) f. Servicemitarbeiter]~[Personal Prämissen->Schalter Auslöse/Feiertagszuschlag Service]*[Rate Auslöse/Feiertagszuschlag Service;MANZ;@ABSFATH(Kostenstellen,3)]
Ändern sich Daten im Prämissenwürfel „ Personal Prämissen“->Schalter Auslöse/Feiertagszuschlag Service, so wird der Personalwürfel, der obige Formel enthält, reorganisiert.
- Formeln mit „/“ können nicht physikalisiert werden.
- Bestehen auf der linken Seite der Formel Einschränkungen auf ein verdichtetes Element, kann nicht physikalisiert werden. Dies gilt auch dann, wenn im Rechenweg der Formel solche Fälle auftreten
Fortschreibende Formeln
Mehrere Formelkonstruktionen schreiben Werte in die Zukunft fort, z,B. @CUMALL, WTT-Operanden, w-Operanden, Abschreibungsformeln usw. Diese Formelarten werden durch die Physikalisierung voll unterstützt.
Umstellung bestehender Anwendungen
Wir empfehlen, die erstmalige Umstellung bestehender Anwendungen auf die Physikalisierung ausschließlich von geschulten MIK-Mitarbeitern vornehmen zu lassen.
Vereinfachung von Excel-Lösungen
Die neue Physikalisierung erhöht nicht nur massiv die Performance von komplexen Formeln. Außerdem lassen sich viele komplexe und fehleranfällige Excel-Anwendungen stark vereinfachen, die bisher über MIKData-und MIKSend-Befehle eine „manuelle“ Physikalisierung vornehmen.
1.3 bis zu 700% beschleunigter Datenimport
Datenimporte, die mehrere Perioden importieren z.B. Jan, März, Dezember werden mit einer neuen Option in der Datenimportfunktion unter „Sonstiges“ drastisch beschleunigt. Außerdem sind nun wesentlich mehr Daten ohne Splitten in einem Rutsch importierbar.
Bei einem echten Anwendungsfall eines Kunden werden mit dem Datenimport von MIK.olap 8.0 17 Millionen Werte in unter 10 Minuten importiert - 7-mal schneller als mit früheren Versionen.
Der schnellere Datenimport reduziert zudem die Wartungsfenster der Datenbank.
1.4 Multiple Textabfragen für MIK.bis
MIK.olap 8.0 enthält neue Funktionen zur beschleunigten Abfrage von Textwürfeln oder kombinierten Text- und Datenwürfeln aus MIK.bis heraus. Die erreichten Performanceverbesserungen sind sehr hoch.
Ein weiterer Schwerpunkt bei MIK.solution 8.0 war die Vereinfachung der Administration.
2.1. MIK.olap.servermonitor
Der neue MIK.olap.servermonitor erlaubt die komfortable Überwachung von MIK.olap.servern vom Client aus und bietet darüber hinaus die Möglichkeit, zeitgesteuert MIK.batches laufen zu lassen. Der MIK.olap.monitor ermöglicht außerdem die Diagnose von Performance-Problemen ohne MIK.olap.profiler (siehe Screenshot blauer Pfeil). Außerdem bietet er jetzt die von Kunden sehr oft gewünschten Infos über das Login-Verhalten der Anwender und darüber, was die Benutzer auf dem Server machen und wie viele Ressourcen sie benötigen.
Die Oberfläche wurde mit Microsoft WPF entwickelt, der derzeit besten Technologie für komfortable Benutzeroberflächen. Diese coole Oberfläche sieht übrigens auch auf Windows XP-Rechnern genauso cool aus...
- die erste Tabelle in den Screenshots zeigt die Anzahl und den Zeitbedarf von Anfragen an den Server. Performance-Engpässe z.B. durch viele Einzelabfragen lassen sich sofort erkennen.
- auf der zweiten Tabelle sind die aktiven Benutzer gelistet. Was man im Screenshot nicht sieht, ist dass auch Infos über die Anzahl der Anfragen und die verbrauchte Rechenzeit aufgelistet werden
- über "Login-Protokoll" lässt sich eine Liste sämtlicher Logins/Logouts anzeigen. Diese Liste wird jetzt im Datenbankverzeichnis unter MIKPROT\miklogins.csv gespeichert.
- über "Aktivitäten-Log" lässt sich das Hinweisfenster des OLAP-Servers anzeigen
- über "Benutzeranfragen" lässt sich jetzt im Detail anzeigen, was ein Benutzer in der aktuellen Datenbank-Session an Anfragen an die Datenbank schickt. Damit lässt sich beispielsweise erkennen, ob Benutzer Abfragen mit sehr großen selbstentwickelten Excel-Sheets laufen lassen, die den Server stark belasten
2.2 MIK.olap.configurator
Dieses neue Tool dient zur clientseitigen Anzeige von Datenbank-Informationen wie Würfeln, Dimensionen, Elementen, Formeln, Benutzern, Benutzergruppen usw. In der nächsten MIK.olap Version wird auch das Verändern von Datenbankeinstellungen, Formeln, Elementen, Benutzerberechtigungen usw. über den Configurator möglich sein-
2.3 MIK.olap.netsql – neue Importschnittstelle zu relationalen Datenbanken
Die neue Import-Schnittstelle zu relationalen Datenbanken unterstützt folgende Typen:
- Oracle (nativ)
- SQL-Server (nativ)
- OLE DB für viele relationale Datenbanken
- ODBC für praktische alle relationale Datenbanken
3. Dreistufen Server-Konzept von MIK.olap 8.0
Das von SAP bekannte dreistufige Serverkonzept wurde für MIK.olap 8.0 implementiert, um die Wartungszeiten einer Anwendung z.B. durch Änderungen an der Datenbank zu reduzieren.
MIK.olap 8.0 unterscheidet jetzt drei (optional) Servertypen:
- Produktivsystem mit den produktiven Daten
- Entwicklungssystem, an dem Änderungen der Strukturen vorgenommen werden
- Test/Konsolidierungssystem
Daten, Strukturen und Benutzerinformationen können in MIK.olap 8.0 mit neuen Funktionen zwischen den Servern repliziert werden.
Ein typisches Szenario bei Datenbankänderungen sieht mit dem Dreistufen-Konzept folgendermaßen aus:
- Am Entwicklungssystem werden neue Kennzahlen und Formeln angelegt
- Das Entwicklungssystem wird auf das Testsystem repliziert
- Die Produktivdaten werden vom Produktivsystem auf das Testsystem repliziert
- Auf dem Testsystem werden alle Änderungen überprüft
- Sind diese OK, werden die Strukturänderungen auf das Produktivsystem repliziert
Das neue Verfahren reduziert die Stillstandszeiten des Produktivsystems sehr stark, da die Replikation von Strukturänderungen auf das Produktivsystem performant ist.
Statt eines Dreistufen-Konzept kann auch ein Zweistufenkonzept mit Produktiv- und Entwicklungssystem abgebildet werden.
Die zwei oder drei MIK.olap.server können auf einem physischen Server laufen. Damit sind keine weiteren MIK-Server-Lizenzen notwendig.
Wir empfehlen ausdrücklich, für die Einführung eines Zwei- oder Dreistufenkonzepts einen dafür ausgebildeten MIK-Berater hinzuziehen.
Keine Kommunikationsobjekte vorhanden.
