Benutzer mit den meisten Antworten
how to prevent downtime while processing cube

Frage
-
Dear all.
We have here a pretty big cube (estimated 2 GB) and the processing time of it is on productive stage about 90 minutes. While this time period there are estimated 40 minutes, where no client can connect to the cube.
I think this is the required time for calculating the new cube.
How it is possible to avoid this “downtime”? Are there some possibilities/settings in SSAS-Engine? Or has someone a workaround for it?
Here is the script which we are using to process the cube by a scheduled job:<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100"> <Object> <DatabaseID>DB_NAME</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>
Our idea is to use two servers which host the same environment and processing the cube independently from each other and switch the network alias automatically to the server which is not processing actually.
What kind of strategies would you use in this scenario?thanking you in anticipation
Antworten
-
Hello Heinz,
because this is a de-DE forum I am going to answer in German. If this is a problem for you, please give a brief reply.
Du lässt den Cube mit der Option ProcessFull und da ist es normal, das der Cube in der Zeit nicht verfügbar ist. Wenn Du eine Test-SSAS-Datenbank mit dem gleichen Cube hast, dann mach mal folgendes:
Suche Dir die kleinste Dimension heraus und lass dann nur diese mit Option ProcessFull verarbeiten; beachte auch was dabei gemacht wird. Ergebnis: Der Cube ist anschließend nicht verfügbar. Nachdem Du den Cube wieder hast aufgebaut, lass die gleiche Dimension noch einmal mit Option "ProcessUpdate" verarbeiten. Während der Zeit und danach bleibt der Cube verfügbar. Wenn Du Dir dann ansiehst, was dabei durchgeführt wurde wirst Du feststellen, das bei ProcessFull auch wirklich nur die Dimension verarbeitet wurde, während bei ProcessUpdate auch Daten in den Cube geschrieben werden.Basis eines Cubes sind nun mal die Dimensionen, auf deren Basis die Aggregationen erfolgen. Bei ProcessFull wird die Dimension komplett zurück gesetzt und neu aufgebaut; deswegen muss auch der Cube neu aufgebaut werden.
Bei der Cube Verarbeitung hast Du auch die Möglichkeit, nur "Inkrementell" verarbeiten zu lassen, also das nur neue Daten in den Cube eingefügt werden. Dabei wird eine temporäre Kopie der betroffenen Partionion erstellt, die neuen dort rein geschrieben und zum Schluß wird die temporäre und die produktive Partition zusammen geführt (merge). Dabei bleibt der Cube verfügbar.
Ansonsten gibt es noch die Möglichkeit zweit SSAS Datenbanken synchronisieren zu lassen, d.h. eine Datenbank lässt Du verarbeiten und wenn das durch ist, lässt Du sie mit dem eigentlichem Cube syncen.
Siehe auch:
Verarbeitungsoptionen und -einstellungen: http://msdn.microsoft.com/de-de/library/ms174774.aspx
Verarbeiten von Objekten (XMLA) => Inkrementelle Aktualisierung von Partitionen
http://msdn.microsoft.com/de-de/library/ms187199.aspxVerarbeiten on Analysis Services-Objekten: http://msdn.microsoft.com/de-de/library/ms174860.aspx
Synchronisieren von SSAS Datenbanken: http://msdn.microsoft.com/de-de/library/ms174928.aspx
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Falk Krahl Montag, 12. September 2011 17:53
- Als Antwort markiert Heinz Becker Dienstag, 13. September 2011 07:52
Alle Antworten
-
Hello Heinz,
because this is a de-DE forum I am going to answer in German. If this is a problem for you, please give a brief reply.
Du lässt den Cube mit der Option ProcessFull und da ist es normal, das der Cube in der Zeit nicht verfügbar ist. Wenn Du eine Test-SSAS-Datenbank mit dem gleichen Cube hast, dann mach mal folgendes:
Suche Dir die kleinste Dimension heraus und lass dann nur diese mit Option ProcessFull verarbeiten; beachte auch was dabei gemacht wird. Ergebnis: Der Cube ist anschließend nicht verfügbar. Nachdem Du den Cube wieder hast aufgebaut, lass die gleiche Dimension noch einmal mit Option "ProcessUpdate" verarbeiten. Während der Zeit und danach bleibt der Cube verfügbar. Wenn Du Dir dann ansiehst, was dabei durchgeführt wurde wirst Du feststellen, das bei ProcessFull auch wirklich nur die Dimension verarbeitet wurde, während bei ProcessUpdate auch Daten in den Cube geschrieben werden.Basis eines Cubes sind nun mal die Dimensionen, auf deren Basis die Aggregationen erfolgen. Bei ProcessFull wird die Dimension komplett zurück gesetzt und neu aufgebaut; deswegen muss auch der Cube neu aufgebaut werden.
Bei der Cube Verarbeitung hast Du auch die Möglichkeit, nur "Inkrementell" verarbeiten zu lassen, also das nur neue Daten in den Cube eingefügt werden. Dabei wird eine temporäre Kopie der betroffenen Partionion erstellt, die neuen dort rein geschrieben und zum Schluß wird die temporäre und die produktive Partition zusammen geführt (merge). Dabei bleibt der Cube verfügbar.
Ansonsten gibt es noch die Möglichkeit zweit SSAS Datenbanken synchronisieren zu lassen, d.h. eine Datenbank lässt Du verarbeiten und wenn das durch ist, lässt Du sie mit dem eigentlichem Cube syncen.
Siehe auch:
Verarbeitungsoptionen und -einstellungen: http://msdn.microsoft.com/de-de/library/ms174774.aspx
Verarbeiten von Objekten (XMLA) => Inkrementelle Aktualisierung von Partitionen
http://msdn.microsoft.com/de-de/library/ms187199.aspxVerarbeiten on Analysis Services-Objekten: http://msdn.microsoft.com/de-de/library/ms174860.aspx
Synchronisieren von SSAS Datenbanken: http://msdn.microsoft.com/de-de/library/ms174928.aspx
Olaf Helper
* cogito ergo sum * errare humanum est * quote erat demonstrandum *
Wenn ich denke, ist das ein Fehler und das beweise ich täglich
Blog Xing- Als Antwort vorgeschlagen Falk Krahl Montag, 12. September 2011 17:53
- Als Antwort markiert Heinz Becker Dienstag, 13. September 2011 07:52