Freitag, 19. Oktober 2012

Columnstore Index Demo–120.000.000 Zeilen und mehr…

In der vergangenen Woche hatte ich ja mehrmals die Chance das SQL Server 2012 Feature Columnstore Index vorzustellen.

Hier kurz die Skript Fragmente, mit denen ich Adventure Works DW auf 120.000.000 Fakten Zeilen erweitert habe. Hatte ich ja versprochen zu bloggen.

select *
into demo.dbo.FactInternetSalesMuchMore
from [dbo].[FactInternetSales];

Hiermit lege ich eine Kopie der FactInternetSales an.

Und nun kommt nur noch.

declare @counter int  = 0
while @counter < 2000
begin
  insert into demo.dbo.FactInternetSalesMuchMore
  select *
  from [dbo].[FactInternetSales];
  set @counter = @counter + 1
end

Das ist nun wirklich keine Raketenwissenschaft, dennoch habe ich am Ende (bei mir nach ca. 45min…) eine relativ umfangreiche weitere Faktentabelle für Test Queries.

Und bitte bitte nicht auf produktiven Servern machen!!!! Versprochen?

SQL Server Data Warehouse - Ein erster Entwurf

Eine Frage wird mir tatsächlich relativ selten gestellt: Was ist ein Data Warehouse?

Dabei ist das verblüffend. Denn für mich ist das gar nicht immer so klar.

Also stelle ich häufig die Frage: Was ist für Sie ein Data Warehouse und was gehört alles dazu? Und was ist besonders wichtig?

Die Antworten sind wiederum verblüffend. Jeder beantwortet die Frage nämlich anders. Wie hätte es auch sonst sein sollen.

Für den Einen ist es die “Dimensionale Modellierung der Daten”, für den Anderen “die Nutzung von ETL/ELT Werkzeuge wie Integration Services”. Für den Nächsten ist es die Verwendung einer analytischen Engine wie SQL Server Analysis Services. Nun ja, da sind wir ja eigentlich schon im Presentation Layer, oder?

Ich möchte heute den Anfang machen für einen generischen SQL Server Data Warehouse Entwurf. Mal schauen, wo wir am Ende damit landen.

Und was ist für mich das Wichtigste an einem Data Warehouse? Schwer zu sagen, dennoch hat sich gezeigt über die Jahre hinweg, dass eine gut durchdachte SQL Server Data Warehouse Infrastruktur eine gute Grundlage für ein erfolgreiches Data Warehouse ist!

Was verstehe ich unter einer DWH Infrastruktur? Für mich sind das die Funktionen im Hintergrund, die technologische Basis auf der alles später laufen soll. Was soll das schon groß sein? Ein SQL Server mit einer relationalen Engine. Passt schon, oder?

Nun ja, ganz so ist es doch nicht. In einem Enterprise Data Warehouse passieren schon viele spannende Sachen. Oft unabhängig voneinander, gleichzeitig und ständig. Das sind schon ernsthafte Herausforderungen.

Leicht wird aus einem Data Warehouse daher auch über die Jahre hinweg  ein “Big Ball of Mud”. Diesen beschrieben Brian Foote und Joseph Yoder als “…planlos strukturierter, weitläufiger, schlampiger, mit Klebeband fixierter und Ballenpressdraht zusammengeschnürter Spaghetti-Code Dschungel…”. Ähm, ja. So etwas habe ich schon mal im Kontext Data Warehouse erlebt. Frühzeitige Konzeptionierung hilft hier sicherlich weiter und verhindert eine solche Entwicklung.

Fangen wir mal an. Zuerst sollten alle verwendeten Technologien gekapselt werden, um Implementierungs- und späteren Betriebsaufwand zu reduzieren.

by the way, die Kapselung von Technologie ist für mich meist eh ein must-have in komplexeren Projekten, um die Power der einzelnen SQL Server Dienste voll und entspannt nutzen zu können.

Data Warehouse relevante Technologien
Dazu zählen für mich Themen wie (noch unvollständig):

Partitionierung & Indizierung
Wer möchte schon später für ein größeres Data Warehouse die gesamte Partitionierung und Indizierung über das SQL Server Management Studio managen oder dafür immer wieder Skripte anpassen?

Resource Governor
Auch hier gilt. Wer möchte die Workload Zuordnung im Betrieb später per Hand managen? Und Hand hoch, wer nutzt das überhaupt schon im DWH?

Security
Security spielt im Data Warehouse eine große Rolle und ist eine wesentliche Säule für die Nutzung des Resource Governors für die Zuordnung der Workloads. Des Weiteren ist das auch später die Grundlage für ein kontinuierliches Auditing der Umgebung.

Change Data Capture (CDC)
Oft ist die Herausforderung in Echtzeit Änderungen aus Vorsystemen zu übernehmen. Hier hilft gern CDC als Technologie, nur auch hier gilt. Volle Power bzw. Komfort gibt es durch Kapselung der Funktionalität im Data Warehouse Prozess.

Service Broker
Das ist wiederum die Basistechnologie für die oben genannten Punkte. Asynchrone Abläufe helfen bei der Skalierung der Prozesse. Dennoch sollte auch diese eine Kapselung erfahren, um “einfacher” genutzt werden zu können.

Wenn die wesentlichen Technologien gekapselt sind, kommt die nächsthöhere Schicht dran. Das sind die Standard Funktionen des Data Warehouses. Hier mal einige als Beispiel:

Protokollierung & Benachrichtigungen
Alle möglichen Komponenten und Schichten eines Data Warehouses produzieren ständig einen Strom an Meldungen (auch mal Fehler). Diese sollten zentral aufgenommen, verwaltet und zugestellt werden.

Historisierung
Immer wieder müssen Daten im Data Warehouse historisiert werden. Schön wäre es, wenn das nicht an jeder Stelle “neu” erfunden werden müsste.

Surrogate Keys
Auch hier gilt, brauchen wir immer wieder. Bitte nur einmal die Kern Logik implementieren! Verwaltet sich dann später auch gleich viel einfacher, ehrlich.

Deployment
Sobald ein größeres Data Warehouse läuft, wird das Thema Deployment relevant bis kritisch. Denn wie werden Änderungen in ein “laufendes” Data Warehouse eingepflegt? Spätestens hier kommt wieder das Bild vom “Big Ball of Mud” auf, oder?

Das wären schon mal ein paar erste Gedanken, um einen generischen SQL Server Data Warehouse Ansatz zu beschreiben. Wer nun fragt, wo denn die Integration Services (SSIS) geblieben sind? Recht hat er. Natürlich gehören die dazu. Mir war wichtig aufzuzeigen, dass ein Data Warehouse viel mehr als NUR der Einsatz von SSIS ist! Es gibt viele weitere Funktionen und Dienste des SQL Servers die in den Betrieb eines “sauberen” DWHs sicherstellen.

Montag, 15. Oktober 2012

Columnstore Index (xVelocity) Community Vorträge

In der letzten Woche hatte ich gleich zweimal die Möglichkeit der Community die xVelocity Technologie des SQL Server 2012 vorzustellen.

Zuerst war ich zu Gast auf der Deutschen Microsoft Partnerkonferenz in der Porsche Arena in Stuttgart. Dort hatte ich im Rahmen eines SQL Server Vortrags den Columnstore Index den Microsoft Partnern vorgestellt. Des Weiteren kam ich auch auf das sehr wichtige Thema Data Warehouse Infrastruktur zu sprechen.

In der zweiten Wochenhälfte war ich dann auf NRWConf in der Börse in Wuppertal. Dort habe ich in einer Session sowohl den Tabellarischen Modus der Analysis Services als auch die Arbeit mit Columnstore Indizes vorstellt. Die Themen Analysis Management Objects als auch das ein- und ausblenden von Partitionen (Switching) kamen nicht zu kurz.

Vielen Dank an die Organisatoren der NRWConf von Just Community e.V. !

Für meine Demos verwendete ich eine von mir leicht modifizierte Version der Adventure Works Beispieldatenbank von Microsoft. In meiner Variante hatte ich zwei weitere Versionen der FactInternetSales. Eine mit 12.000.000 Zeilen und eine mit 120.000.000 Zeilen. Noch nicht wirklich viel, dennoch hat es für die Präsentationen gereicht, um die Power hinter dieser Technologie zu demonstrieren.

Sonntag, 7. Oktober 2012

SQL Server Data Warehouse - Mehr als nur SSIS !

Immer wieder stelle ich fest, dass sowohl kaufmännische Entscheider als auch IT-Leiter in größeren Organisationen die Vorstellung haben, dass ein Data Warehouse auch ein extra Produkt einer Business Intelligence Umgebung sein müsste.

Gar nicht so selten sind Zitate wie: “Ach so, sie nutzen den SQL Server auch als Data Warehouse. Nun ja, interessant. Kann man wohl machen… Dennoch…”.

Da war das Marketing der Marktbegleiter einfach gut! By the way, bei denen ist das Data Warehouse auch eine relationale Datenbank. Also, ähm, wenn die denn eines einsetzen. Nur diese Diskussion sollten wir an anderer Stelle führen. Okay, ein Satz dazu. Sich gegen ein Data Warehouse zu entscheiden ist keine Frage der Auswahl eines BI Tool Anbieters, sondern eine Architektur Frage, welche gewissenhaft & seriös beantwortet werden muss. </Ende>

Nur kurz angemerkt. Wenn wir uns über wirkliche große Szenarien unterhalten, dann ist JEDE relationale Engine JEDER etablierten Datenbank irgendwann am Ende. Und aufgepasst, fast jeder Kunde (intern wie extern) ist der Meinung, dass er wirklich wirklich viele Daten hat. Mit “viele Daten” meine ich aber gerade gehobene Terabyte Mengen oder etwas in der Nähe von Petabytes. Dafür gibt es dann tatsächlich extra Produkte von Microsoft und auch anderen Herstellern. Nur, wer hat die Herausforderung schon? :-)

Zurück zum Thema.

Ein Data Warehouse zu betrieben ist weit mehr als nur ein Tool für den ETL/ELT Prozess einzusetzen und einen schönen Spaltenzuordnungsdialog (Mapping) zu haben. Auch das gilt für fast alle Hersteller. Nur wird das häufig bei der Auswahl einer Lösung übersehen.

Auch dafür ein Zitat: “Dafür setzen wir das ETL Tool von bla ein…”. Weil wenn das Tool stimmt, dann klappt das auch mit dem relationalem Data Warehouse. Dem ist nicht so.

Wo ich mit mir verhandeln lasse, sind DWH Frameworks, welche sich um die relationale Engine “legen”. Nur häufig sind diese recht überschaubar ausgelegt und unterstützen nicht durchgängig und in aller Konsequenz die Anforderungen an ein Enterprise Data Warehouse (Welche waren das noch gleich…). Dazu kommt, dass solche dann oft wieder geschlossene Lösungen sind. Software im Enterprise Umfeld muss offen sein. Nicht nur mit der herstellereigen Oberfläche zu bedienen sein. Integration ist das Stichwort und das ist für mich ein echtes unverhandelbares Merkmal für die Fähigkeit einer Software “Enterprise Ready” zu sein oder halt auch nicht.

Das Design einer Data Warehouse Infrastruktur ist auch immer Architekturaufwand. Vieles ist Best Practice. Es muss nur noch alles zusammengeführt werden, was benötigt wird.

Für mich immer wieder notwendige Funktionen der relationalen Datenbank Engine für den Betrieb eines klassischen Enterprise Data Warehouse sind:

  • Partitionierung
  • Komprimierung
  • Service Broker
  • Verschlüsselung
  • Resource Governor
  • Columnstore-Indizes (seit 2012)
  • Clustering / AlwaysOn Availability Groups (seit 2012)

Ähm, und ja, dafür braucht man die Enterprise Edition.

Natürlich kommt dann obendrauf noch die ganze Analyse- und Frontend-Nummer. Nur das ist dann wieder etwas ganz anderes als das eigentliche Data Warehouse, oder? :-)

Dienstag, 25. September 2012

SQLSaturday, PASS in Köln und BASTA!

Es mal wieder Zeit für einen Rückblick.

In der vergangenen Woche war ich Gast auf einer ganzen Reihe von Community Events. Es ist halt Saison.

Es begann am 15.9. (Samstag) in Unterschleißheim im Norden von München. Dort fand im Microsoft HQ der erste deutsche PASS SQLSaturday statt. Ein Wahnsinns Community Event. Mein Vortrag dort handelte von den Analysis Management Objects und ADOMD.NET im SQL Server 2012. Okay, ein recht spezielles Thema. Dennoch für komplexere und Enterprise Projekte essential meiner Meinung nach.

Am 17.9. war ich dann Gast bei der PASS Gruppe in Köln. Raumsponsor war Quest (nun ja Teil von Dell). In der Gruppe dort bin ich immer wieder gerne als Sprecher. Mein Thema dort waren Basics zu den Master Data Services des SQL Server 2012.

Ab dem 18.9. verbrachte ich den Rest der Woche in Mainz auf der BASTA! 2012. Dort hielt ich zwei Vorträge. Und zwar über meine neuen Lieblinge Master Data Services (etwas mehr als in Köln) und über Data Quality Services im professionellen Data Warehouse bzw. in der Integration in bestehende BI/non-BI Umgebungen.

Ich möchte allen Organisatoren danken für diese klasse Events! Vielen Dank für die Einladungen! Ich komme gerne wieder.

Dienstag, 11. September 2012

Dokumentation von Analysis Services Projekten mit AMO (Analysis Management Objekts)

Ein wesentliches Feedback zu meinen letzten Posts hier im Blog war, dass sich viele Teilnehmer der Community wünschen mehr über das Thema Dokumentation von Business Intelligence Projekten zu erfahren.

Gerade die fortlaufende Dokumentation von SQL Server Analysis Services Projekten ist herausfordernd. Ganz besonders für die Kollegen, welche sich Monate (oder Jahre) später mit dem OLAP Cube oder dem Tabellarischen Modell beschäftigen müssen. Oder, so auch oft in der Praxis, man selber, wenn man sich später mit seinen eigenen Kunstwerken beschäftigen darf.

Okay, ich höre schon viele aufstöhnen da draußen. Es gibt doch bereits viele Tools, welche mir meine SQL Server Analysis Services Umgebung automatisch dokumentieren. Wozu noch ein Ansatz?

Dazu eine Frage. Ist der Output solcher Tools eine Dokumentation im eigentlichen Sinne oder nicht doch eher “nur” eine Inventarisierung von Objekten? Häufig beantworten solche Objektplakate oder –listen keine Fragen nach dem “Warum denn so und nicht anders?”.

Technologie kann hier ein wenig helfen, nur es bedarf noch ein wenig mehr. Mein Merkspruch dazu ist: “Technologie ohne Konzept ist wirkungslos…”. Und genau das ist das Thema. Warum sollten sich BI-Berater oder Administratoren mit Themen wie AMO auseinandersetzen? Gerade, um solche Herausforderungen anzugehen. Kein Mensch braucht AMO, um einen Cube oder ein tabellarisches Modell zu entwickeln. Nein, die Stärken spielt diese Technologie meist dann erst aus, wenn sie genutzt wird, um ein entsprechendes Konzept umzusetzen wie mein Verständnis von einer belastbaren Dokumentation.

Dokumentation ist sowohl als ein Teil eines Risikomanagements als auch als eine Form von Kommunikation zu verstehen. Kommunikation hat auch immer was mit Verantwortung zu tun. Ihr wisst schon, dieses Sender-Empfänger Ding. :-)

Mit diesen zwei Bildern vor Augen lässt sich eine Dokumentation erstellen, welche den Namen dann auch meist verdient.

Ich greife diesen Wunsch gerne auf und werde ihn sowohl

in meinem Vortrag auf dem SQL Saturday #170 in München (Unterschleißheim) aufgreifen

als auch in meinem Buch über AMO und ADOMD.NET in der Praxis im Software & Support Verlag.

Des Weiteren habe ich im Rahmen der Mitgliederversammlung des PASS Deutschland e.V. die Ehre einen kleinen Vortrag über das Thema Dokumentation zu halten.

Und mit Sicherheit werde ich hier noch Einiges dazu schreiben.

Donnerstag, 6. September 2012

AMO und ADOMD.NET mit dem SQL Server 2012

So heißt meine Session auf dem PASS SQL Saturday #170 in Unterschleißheim am nächsten Samstag auf welche ich mich schon sehr freue!

Und das ist auch Thema meines kommenden Buches “SQL Server Analysis Services 2012: AMO und ADOMD.NET in der Praxis”.

Der Verlag entwickler.press beschreibt das Buch wie folgt:
”Dieses Buch beschreibt den nächsten Level der Nutzung der SQL Server Analysis Services für komplexere und größere Umgebungen und Projekte. Mittels der Microsoft Technologien ADOMD.NET und Analysis Management Objects (AMO) können Business Intelligence Lösungen auf Basis von OLAP Cubes und tabellarischen Modellen leicht sowohl standardisiert als auch automatisiert werden. Dieses Vorgehen erleichtert gleichermaßen die Implementierung als auch Wartung von SSAS Lösungen. Klassische Enterprise Anforderungen wie Hochverfügbarkeit, Repository-driven BI, Depolyment und nahtlose Integration in bestehende Infrastrukturen können wesentlich einfacher
erfüllt werden.
Anhand einer Reihe von Praxisbeispielen wird der Leser in die Entwicklersicht auf die Microsoft BI Welt eingeführt. Dabei wird sowohl der klassische BI Berater als auch der Administrator einer BI Umgebung adressiert und in verständlichen Schritten immer tiefer in den Programmiermodelle eingeführt.”

Wer aber nicht bis zum Ende des Jahres auf die Inhalte des Buches warten möchte, dem empfehle ich meine dortige Session. Denn ich werde bereits eine Reihe von Beispielen aus dem Buch vorstellen und möchte mich mit Euch im Anschluss auch gern über Eure Meinung dazu austauschen.

Des Weiteren habt Ihr noch die Möglichkeit Eure Wünsche für Anwendungsbeispiele beizutragen. Was möchtet Ihr mit AMO und/oder ADOMD.NET gelöst wissen für Eure Business Intelligence Projekte? Es ist ein Buch von der Community für die Community. Also bitte mitmachen durch Eure Anregungen!

Im Buch und meiner Session beschäftige ich mich u.a. auf Basis von AMO & ADOMD.NET mit:

  • Hochverfügbarkeit von SSAS Datenbanken
  • Deployment in komplexen Umgebungen
  • Operatives Business Intelligence (und ein klein wenig Mobile BI)
  • Self-Service everywhere

Freitag, 10. August 2012

Resümee der Woche #32 / 2012

Hier ein paar Links und Gedanken aus dieser Woche:

http://blogs.msdn.com/b/performancepoint/archive/2012/08/03/what-s-new-in-performancepoint-services-2013.aspx

http://blogs.msdn.com/b/microsoft_business_intelligence1/archive/2012/08/09/visualizing-the-olympics-with-power-view-in-excel-2013.aspx

Aufgrund einer Anfrage hatte ich mir einige Gedanken dazu gemacht, was der eigentliche Nutzen von Mobile BI ist. Irgendwie habe ich den Eindruck, dass viele Hersteller quasi 1:1 ihre Lösungen auf die Pads übertragen und die eigentliche Chance für das Thema BI Collaboration verschlafen. So gut wie alle Beispiele der Anbieter beziehen sich auf Vertrieb, CRM und “mobiles spontan Controlling”. Werde mir in den nächsten Tagen dazu weitere Gedanken machen müssen.

Mit einem meiner letzten Posts habe ich anscheinend ein wichtiges Thema angesprochen. Ich philosophierte über den Ansatz Dokumentation als einen Risikomanagement Prozess zu sehen. Nun kamen Fragen auf. Wie denn in einem klassischen Business Intelligence Projekt mit der Dokumentation von Anforderungen umgegangen werden sollte? Sind Anforderungen überhaupt Risiken? Und wie gehen Fachabteilungen damit um, wenn der BI Berater neuerdings nur noch von Risiken spricht? Und wie kann eine freie Analyse, wie sie ja häufig erwartet wird, überhaupt im Rahmen eines Anforderungsmanagements aufgenommen werden? Und wenn wir schon dabei sind, wie ist denn überhaupt die Best Practice für BI Projekte? Und gibt es so etwas wie eine echte freie Analyse überhaupt? Auch hierzu werde ich mir wohl dann einige weitere Gedanken machen müssen bzw. meine Ansätze zusammenfassen und hier posten. Stay tuned.

Des Weiteren hatte ich schon vor ein paar Tagen diesen Cast aufgenommen:

SQL Server Analysis Services Datenbanken (Cubes) kopieren

Mir ist aufgefallen, dass dieses Video Kleinod wenig bekannt ist. Also… :-)

Business Intelligence & SharePoint auf dem ShareCamp

Mittwoch, 8. August 2012

Kommende Community Events in Deutschland mit meiner Beteiligung als Sprecher

So, die Konferenz & Co Saison startet wieder voll durch! Anbei eine kleine Liste von kommenden Events in den nächsten Monaten mit meiner Beteiligung als Sprecher.

Des weiteren werde ich auch noch in einigen PASS Regionalgruppen sprechen und es haben sich noch nicht alle Konferenzorganisatoren zurück gemeldet. Kann also noch mehr werden.

Sofern Ihr ein Communtiy Event organisiert oder plant und mich als Sprecher dabei haben möchtet, einfach bei mir melden, ob ich gerade in der Nähe bin oder Ihr mich überreden könnt vorbeizukommen.

Dienstag, 31. Juli 2012

AMO & ADOMD.NET Session auf dem PASS SQL Saturday #170 am 15.9.12 in München/Unterschleißheim

Der PASS SQL Saturday kommt nach Deutschland!

Am 15.9.2012 findet in der Microsoft Niederlassung München / Unterschleißheim dieses kostenlose Community Event mit der Nummer 170 statt. Bitte vorher auf der Website registrieren, da nicht unendlich viele Plätze vorhanden sind!

Es sind 18 Sessions angekündigt, welche Ihr hier auf der Agenda findet. Es ist mir eine große Ehre mitteilen zu können, dass ich einer der Sprecher sein werde. Ich darf über eines meiner Lieblingsthemen sprechen:

AMO und ADOMD.NET mit dem SQL Server 2012
In dieser Session werden zahlreiche Beispiele gezeigt für den Einsatz der Analysis Management Objects (AMO) und der ADOMD.NET Bibliothek in OLAP Cubes und den neuen Tabellarischen Modellen. Des Weiteren wird demonstriert wie durch eine Repository-Driven Architektur Microsoft Business Intelligence Projekte um eine wesentliche Enterprise Komponente für komplexere Anforderungen und Umgebungen ergänzt werden können.

Im Rahmen der Session werde ich als Demonstration u. a. einige Beispiele aus meinem kommenden Buch live zeigen.

Ich danke den Organisatoren!

Freitag, 27. Juli 2012

Mittwoch, 20. Juni 2012

SQLU Summit 2012 in BRATISLAVA (19.-21. September)

Auch dieses Jahr findet wieder der SQLU Summit statt – die SQL Server Konferenz in Mitteleuropa (und da gehören wir hier dazu…). 2012 ist Bratislava, die slowakische Hauptstadt, Gastgeber dieses Stelldicheins einiger prominenter Mitglieder der internationalen SQL Community.

Wie schon im Vorjahr gibt es ein spezielles Angebot für Mitglieder von PASS Deutschland. Diese erhalten auf den jeweils gerade gültigen Preis noch einmal einen Rabatt von 10%. Bis 30.06.2012 ist der Very Early Bird: 690,00 Euro(exkl. MwSt.) gültig. Der Preis für PASS Deutschland Mitglieder beträgt also nur 621,00 Euro (exkl. MwSt.) für drei Tage volles Programm.

Digg This

Dienstag, 19. Juni 2012

Dokumentation als Teil eines Risikomanagement Prozesses verstehen

Heute mal was ganz anderes. Liegt mir gerade auf dem Herzen.

Lasst uns über Dokumentation in Projekten und beim späteren Betrieb der Lösung sprechen. Hey, jetzt nicht gleich umschalten. :-)

Über Dokumentation spricht keiner gerne. Sie hat den Ruf, dass das Erstellen meist im Weg steht und als lästige Pflicht gesehen wird. Klar wird jeder sofort den Nutzen einer Dokumentation nicht in Frage stellen wollen, dennoch ist sie das Stiefkind vieler Projekte.

Woran liegt das?

Meine These dazu ist, dass das Dokumentieren von Lösungen als so unangenehm wahrgenommen wird, weil vielen einfach nicht immer wirklich klar ist, was denn nun wie dokumentiert werden muss. Vorlagen existieren meist nur bei großen Organisationsstrukturen wie Konzernen und Behörden oder zertifizierten Spezialisten und oft sind diese Vorlagen dann doch nicht mit der Praxis wirklich kompatibel und führen zu mehr Verwirrung als, dass sie helfen. Es kommt Ende meist wieder auf die Kreativität des Einzelnen an.

Natürlich gibt es noch das Versprechen der Dokumentationsgeneratoren. Auch ich verwende gern solche automatisierten Tools, um eine Microsoft Business Intelligence Lösung zu “dokumentieren”. Meist auf Basis der Analysis Management Objects entwickle ich kleine Helfer, welche dann entsprechende Repositories verwalten. Nur, ist das wirklich Dokumentation? Die gleiche Frage stellt sich mir bei vielen IT-Infrastruktur Visualisierungstools. Schicke Poster. Wo ist der konkrete Nutzen?

Stellen wir uns mal die total esoterische Frage: Was ist überhaupt der ganz konkrete Nutzen von Dokumentation ?

Hey, wer hat da gelacht?

Ich glaube, dass gerade diese Frage bzw. die Tatsache, dass sie häufig nicht spontan und konkret beantwortet werden kann, das primäre Problem bei der Erstellung einer (nützlichen) Dokumentation ist. Weil wenn immer klar wäre, was denn nun in einer Dokumentation erwartet werden würde, dann würde vielen armen Seelen die Erstellung einer solchen wesentlich leichter fallen.

Also, was ist der konkrete Nutzen einer Dokumentation? Wozu braucht man so etwas überhaupt?

Nein, so klar ist das nämlich gar nicht! Die Antwort kann nicht lauten: Um zu dokumentieren… :-)

Eine Dokumentation soll ja etwas bewirken können. Eine Wirksamkeit haben. Und zwar, wenn etwas geändert werden muss bzw. wenn etwas schief geht. Natürlich wird das nie im gerade aktuellem Projekt passieren. Also, dass jemand was ändern möchte. Später… oder dass gar etwas schief geht. Versprochen.

Nennen wir diese möglichen Einsatzzwecke einer Dokumentation doch einfach mal Risiken. Für mich sind die Folgen einer Änderung oder der Problemfall zukünftige Risiken, welche wir heute bereits verwalten müssen. Wir müssen Maßnahmen ergreifen, um diese Risiken zu minimieren. Und schwupps sind wir beim Risikomanagement angekommen.

Wie steht es bei Wikipedia so schön: “Risikomanagement umfasst sämtliche Maßnahmen zur systematischen Erkennung, Analyse, Bewertung, Überwachung und Kontrolle von Risiken.”

Risikomanagement hat nichts mit Schwarzmalerei zu tun. Ganz im Gegenteil. Es ist für mich eine erstrebenswerte Form von Komfort im Projekt und auch gerade für den späteren Betrieb als auch weitere Anpassungen. Und idealerweise das alles nicht durch mich. Womit wir bei einem weiteren Risiko wären: Der ehemalige Berater ist aus welchen Gründen auch immer nicht verfügbar bzw. kann sich an nichts mehr erinnern. Welche Risiken entstehen dadurch und müssen durch welche Maßnahmen verhindert werden?

Eine verwandte Disziplin zur Dokumentation ist das sogenannte Betriebshandbuch. Hier ist der spätere Nutzen bereits im Namen dokumentiert. (Kleines Wortspiel… öhm… )

Zurück zur Dokumentation. Ich möchte hier jetzt keine x-te Vorlage für eine gute Dokumentation liefern. Vielmehr den Ansatz, dass sich bei der Planung und Erstellung einer Dokumentation erst mal bewusst gemacht werden muss, welche möglichen Risiken damit verringert bzw. verhindert werden sollen.

Beispiel. Klar soll eine Dokumentation eines Stück Codes helfen, dass er einfacher geändert werden kann. Nur das ist NICHT der eigentlich Nutzen. Der Nutzen ist, dass

a.) die Änderung schneller, einfacher und damit günstiger wird. (Risiko der Kosten)

b.) und, dass sie ohne unvorhersehbare Folgen für den Betrieb der gesamten Lösung sein wird. (Risiko der Katastrophe…)

Es ist zu einfach jetzt zu sagen, dass das doch klar ist. Vielmehr ist es so, dass gerade das Spiegeln von möglichen Risiken an den notwendigen Maßnahmen die Erstellung einer wirksamen Dokumentation deutlich vereinfacht. Des Weiteren wird die Pflege einer Dokumentation deutlich vereinfacht, weil “das Thema” klar ist. Wer kennt nicht noch die Aufsätze von früher mit dem Hinweis “Thema verfehlt…”?

Jeder Teil einer wie immer gearteten Dokumentation sollte helfen Risiken zu minimieren. Da hat auch das IT-Poster seinen Sinn, da man sich schnell einen Überblick verschaffen kann (Spart Einarbeitungszeit) und das SQL Server BI Tool hilft die Details im Auge zu haben.

Also stellen sich beim Erstellen einer guten Dokumentation die Fragen nach dem WAS? und dem WIE? soll etwas dokumentiert werden, damit möglichst viele Risiken ausgeschlossen werden können.

Hoffe, dass diese paar Zeilen dem einen oder anderem helfen werden, um eine Dokumentation wirksamer und einfacher zu erstellen.

Digg This

Dienstag, 22. Mai 2012

Data Quality Services und Master Data Services in Business Intelligence Projekten Session auf der BASTA! 2012

Das Programm der BASTA! 2012 wächst und wächst. Mittlerweile ist auf der Website zu lesen, dass ich auch noch einen zweiten Vortrag halten werde. Neben der Session “Integration der Master Data Services in produktive Umgebungen” werde ich auch noch das Thema MDS und Data Quality Services (DQS) im Kontext BI vorstellen. Session lautet “SQL Server 2012 MDS & DQS im Business-Intelligence-Projekt”.

Hier die Beschreibung:
”In dieser Session werden die SQL-Server-Dienste Master Data Services und Data Quality Services im Kontext von Business-Intelligence-Projekten vorgestellt und erläutert. Es wird das Zusammenspiel von MDS und DQS mit den bekannten Diensten SSIS und SSAS anhand von Beispielen demonstriert. Des Weiteren wird der Nutzen für BI-Architekturen aufgezeigt.”

Ich freue mich drauf.
Digg This

Datenvirtualisierung vs. ETL / ELT Prozess

Einer meiner letzten Posts hat wieder mal zu einigen Nachfragen geführt. Ich hatte die Disziplin Datenvirtualisierung kurz vorgestellt und wie diese mit SQL Server Bordmitteln erfolgreich und einfach umgesetzt werden kann. Die Datenvirtualisierung ist Teil einer Referenzarchitektur für Data Warehouses wie ich sie in der Regel für Projekte einsetze.

Eine Frage war, ob bei der Nutzung einer Datenvirtualisierung ein ETL / ELT Prozess damit überflüssig werden würde.

Die Antwort ist definitiv: Nein!
Warum? Eine Datenvirtualisierung ist kein Ersatz für einen ETL/ELT Prozess. Und sie ist nicht zwingend nur für diesen Business Intelligence orientierten Einsatzzwecks zu gebrauchen als Architekturpattern. Eine Datenvirtualisierung hat nur einen Zweck und zwar den Zugriff auf Datenquellen in den nachfolgenden Schichten zu vereinfachen durch das Konzept der Zentralisierung. Dabei wird darauf Wert gelegt, dass die Daten nicht physisch als Kopie vorliegen (wie zum Beispiel in einer Landing Zone) sondern auf diese “verwiesen” wird. Daher auch die Bezeichnung als “virtuell”. Auch klassische Integrationslösungen wie BizTalk oder Master Data Services können davon profitieren.

Dann kam die Frage, was denn nun wiederum das Besondere wäre an der Verwendung von Linked Servern und Views. Wozu da ein Repository?

Erst mit der Nutzung eines Repositorys, welches die Meta Daten der Linked Server und Views enthält, wird für mich daraus ein valides Vorgehen. Natürlich können die Linked Server und Views auch manuell hinzugefügt und später auch gepflegt werden. Aber nur durch die Automatisierung, welche auf Basis des Repositorys möglich wird, ist diese Architekturkomponente wirklich wirksam in der Anwendung. Es entsteht ein echter Nutzen für die Gesamtumgebung.

Und dann natürlich noch der Klassiker. Wenn schon Views, warum dann nicht alles als Views implementieren? Also auch den kompletten ETL/ELT Prozess!

Die Antwort ist wieder definitiv: Nein!
Weil dann wäre ich zumindest nicht mehr bereit den Bewirtschaftungsprozess als ETL/ELT Prozess zu benennen. Dann hätten wir eine Art einfache Schnittstelle. Wenn überhaupt. Nicht dass ich jetzt falsch verstanden werde. Ich habe nichts gegen Views. Ganz im Gegenteil. Im richtigen Kontext können diese sehr nützlich sein. Ein valider ETL/ELT Prozess ist mehr als nur die Summe seiner Technologien. Damit er “überlebt” und wirksam bleibt ist auch immer ein Stück Implementierungsphilosophie notwendig.

Digg This

Mittwoch, 9. Mai 2012

SQL Server Usergroup Hamburg (PASS Deutschland e.V.) Treffen im Mai 2012

Heute ist es wieder soweit. Die Hamburger SQL Server Usergroup (PASS Deutschland e.V.) trifft sich um 18 Uhr wieder in der

Microsoft Niederlassung Hamburg
Gasstraße 6a.

Heute gibt es einem sehr interessanten Vortrag vom Thomas Martens:

Dokumentation von SSAS Modellen unter Verwendung von SSAS DMVs und dem OpenSource Tool Graphviz
Entwurf einer Dokumentations-Methode von SSAS Modellen. Als Grundlage für die Dokumentation der SSAS Modelle werden SQL Server StoredProcedures verwendet, die verschiedene DMVs durch Joins miteinander verknüpfen. Einzelne Objekte wie Dimensionen, MeasureGroups, Cubes und Perspektiven werden dabei als Nodes und die Beziehung dieser Objekte untereinander als Edges interpretiert. Für Objekte vom Typ MeasureGroup wird dabei bspw. das Granularitätsattribut der Dimension bzw. die Kardinalität der Beziehung der Dimension zur MeasureGroup angegeben. Die Visualierung von Nodes und Edges erfolgt anschließend in einem pdf-Dokument.

ich bin sehr gespannt, da ich zwar selber sehr gerne und ausgiebig automatisierte Dokumentationen und Repositorys für SQL Server Analysis Services Datenbanken (aka OLAP Cubes) erstelle und nutze, aber mich bisher so gar nicht mit Graphviz beschäftigt habe. Interessanter Ansatz!

Um zahlreiches Erscheinen wird gebeten! Sofern möglich, meldet Euch bitte vorher kurz beim Rolf Keyser unter rky@sqlpass.de an.

Freue mich drauf Euch vor Ort zu treffen!

Digg This

Mittwoch, 2. Mai 2012

Job in Hamburg für Datenbank Berater (m/w)

Eine gute Nachricht! Wir (PSG) suchen für ab sofort weitere Kollegen (m/w) für unser Team in Hamburg.

Hier der Text aus unserer Stellenanzeige, welche u. a. auch im aktuellen PASS Deutschland e.V. Newsletter erschienen ist.

Junior Datenbank-Berater (m/w)
(gerne auch Datenbank-Entwickler und BI-Berater)

PSG ist ein seit 1994 erfolgreiches IT–Unternehmen in Hamburg und einer der bevorzugten Partner von Microsoft Deutschland im Bereich BI. Wir versprechen Dir herausfordernde Projekte im Bereich BI, Datenbanken und Data Warehouse auf Basis der Technologien Microsoft SQL Server und SharePoint.

Was bieten wir

• Namhafte Kunden und spannende Projekt
• Permanente Weiterbildung durch Mentorenprogramm (Das bin u. a. ich…)
• Kollegiale Zusammenarbeit mit erfahrenen Projektmanagern
• Echte Projekte bei Kunden vor Ort
• Angenehmes und innovatives Arbeitsumfeld
• Attraktive Vergütung sowie Erstattung von Reisekosten

Dein Profil

• Du verfügst über erste Berufserfahrung.
• Du möchtest bei einem Unternehmen mit kurzen Entscheidungswegen arbeiten
• Gute IT-Kenntnisse, gerne erste Erfahrungen mit Microsoft SQL Server, Microsoft-Office, SharePoint
• Dir gefällt es, mit Menschen gemeinsame Erfolge zu erzielen
• Bereitschaft, mit einem jungen und dynamischen Unternehmen zu wachsen

So geht es

1. Schicke uns Deine aussagekräftigen Unterlagen mit dem Betreff „PASS“ per Post oder E-Mail
2. Wir rufen Dich innerhalb von 3 Tagen an
3. Du wirst zu einem persönlichen Kennenlernen eingeladen

PSG Projekt Service GmbH
Max-Nonne-Straße 45
22419 Hamburg
jobs@psg.de 
Telefon: +49 (40) 39 88 280

Zu unseren Kunden gehören u.a.: Umweltbundesamt, Warburg-Henderson Kapitalanlagegesellschaft für Immobilien mbH, Universitätsklinikum Schleswig-Holstein sowie weitere namhafte Unternehmen aus Handel, Banken/Versicherungen, Verlagswesen, Schifffahrt, dem Public Sector und anderen Industrien.

Wenn Du also Interesse hast demnächst mit mir bzw. uns gemeinsam anspruchsvolle SQL Server Projekte zu stemmen, dann bewirb Dich noch heute bei uns!

Digg This

Freitag, 20. April 2012

Master Data Services Session auf der BASTA! 2012

Das Thema MDS (Master Data Services) im SQL Server 2012 beschäftigt mich auch weiterhin nicht nur in Kundenprojekten. Nach meinen Vorträgen dazu auf dem PASS Camp Ende letzten Jahres und dem SQL Server 2012 Launch Event in Köln werde ich nun auch auf der BASTA! im September 2012 dazu einen Vortrag halten.

Integration der Master Data Services in produktive Umgebungen
In dieser Session wird anhand von Praxisbeispielen erläutert, wie die SQL Server Master Data Services (MDS) in vorhandene und produktive Softwarelandschaften eingebunden werden können. Es muss nicht immer das große allumfassende Master-Data-Management-Projekt sein. Die MDS bieten aufgrund ihrer offenen Architektur eine ganze Reihe von interessanten Einsatzmöglichkeiten in bestehenden Lösungen.

http://basta.net/2012/sessions/#session-21779

Wie aus der Beschreibung der Session schon ersichtlich wird, geht es mir wieder mal nicht um die pure Darstellung einer Technologie sondern um die praxisbezogene Integration eines Dienstes in vorhandene Umgebungen. Des Weiteren werde ich dort erläutern, wie die MDS als Architekturkomponente in Integrations- und Business Intelligence-Projekten einzusetzen sind.

Der very early Bird für die BASTA! läuft noch bis zum 28.6.2012 (Stand heute…).

Digg This

Dienstag, 17. April 2012

Datenvirtualisierung mit Master Data Services (und weiteren SQL Server Diensten) unterstützen

Es gibt da draußen ja eine ganze Reihe an Disziplinen, welche das aktive Management von Daten erleichtern sollen. Viele dieser Disziplinen oder auch Konzepte werden von Software Herstellern mit eigenen Produkten oder zumindest Technologien bedient.

Ein prominentes Beispiel dafür ist u. a. Master Data Management. Grundsätzlich lässt sich “das” mit Bordmitteln lösen, dennoch bieten Hersteller dafür eigenständige Produkte an, welche diese Herausforderung deutlich einfacher und damit besser lösen. Microsoft selbst legt seiner Datenplattform SQL Server mittlerweile in der zweiten Version die Master Data Services dafür bei.

Eine weitere dieser Disziplinen ist die sogenannte Datenvirtualisierung (Data virtualization).

Vieles wird ja heutzutage virtualisiert. Server, Desktops, Anwendungen und Storage. Warum also nicht auch Daten?

Was ist nun Datenvirtualisierung? Der Wiki Artikel dazu verrät uns, dass es im Groben darum geht, dass der Zugriff auf Daten mittels einer weiteren Abstraktionsebene virtualisiert wird. Wer hier jetzt spontan an Views (Sichten…) denkt, liegt da gar nicht so falsch. Des Weiteren geht es darum, dass der Zugriff auf Daten zentralisiert wird ohne die Notwendigkeit die Daten zu replizieren bzw. zu duplizieren. Und wer hier jetzt an Linked Server (Verbindungsserver…) denkt. Ja, genau.

Ein einfacher und valider Ansatz ist damit sich für alle Datenbanken in der Organisation auf einem SQL Server System als Linked Server einzurichten und diese wiederum auf Basis von Views freizugeben. Nennen wir es einfach mal “extrem Viewing”.

Eine solche Abstraktionsschicht werden viele schon mal im Rahmen eines Business Intelligence oder Datenintegration Projektes gebaut haben. Nur haben wir es viele von uns so bisher nicht genannt.

Es hilft sich die Bereitstellung von Daten in der Organisation als Dienst vorzustellen. Es wird also nicht direkt auf den jeweiligen Datenbankserver zugegriffen, sondern auf einen zentralen Server, welcher als Dienst die Anbindung an die Daten (und damit “echten” Datenbanken) ermöglicht.

Wie wird so etwas nun verwaltet? Nicht ohne Grund nenne ich so ein Szenario ja “extrem Viewing” :-) . In der Regel löse ich das als Repository Fan über ein Managed Linked Views (MLV) Szenario mit dem ich die Linked Server und Views zentral verwalte.

Weitere Beispiele diesen direkten Zugriff, häufig auch als Federated Database System bezeichnet, können ROLAP Cubes oder in BISM DirectQuery Mode in Tabular Model Szenarien sein. Wir sind da immer in quasi Echtzeit unterwegs.

Bleiben wir aber noch kurz bei dem Gedanken, dass Daten als Dienst bereitgestellt werden in einer Organisation, dann wird schnell der Ruf nach Qualität in den Daten laut. Hier hilft der direkte Zugriff auf die Daten nicht weiter. Da muss ein Stück Logik zwischen. Idealerweise eine Technologie, welche Daten eh auf Basis Views bereitstellt und sich mittels eines Repositorys steuern lässt, also unser MLV Szenario nahtlos ergänzend bzw. unterstützt.

Hier kommen wieder mal die Master Data Services (MDS) des SQL Servers ins Spiel. Mit diesen lässt sich eine Datenvirtualisierungslösung hervorragend unterstützen und für den Nutzer der Daten völlig transparent einbinden. Meine Erfahrung mit den Master Data Services haben gezeigt, dass sich die MDS sehr einfach und schnell in solche Umgebungen integrieren lassen. Es stehen alle Funktionen der MDS für die Steigerung der Qualität der Daten zur Verfügung bis hin zur Einbindung der Data Quality Services (DQS) des SQL Servers.

Kommen wir zurück zum Wiki Artikel über Datenvirtualisierung. In diesem werden die Features einer solchen Lösung kurz skizziert:

  • Abstraction
  • Virtualized Data Access
  • Transformation / Integration
  • Data Federation
  • Flexible Data Delivery

Merken wir uns, dass die Anforderungen an eine Datenvirtualisierungslösung vom SQL Server auf jeden Fall erfüllt werden und entsprechende Projekte damit umsetzbar sind. Sofern ein Ansatz mittels eines Repositorys gewählt wird, wie mein Managed Linked Views Konzept, dann kann der Aufwand für den Betrieb sehr schlank gehalten werden. Hängt natürlich auch von der Größe der Umgebung und der Komplexität ab, ob dieser Ansatz sich rentiert. Meine Erfahrungen mit Repositorys hat gezeigt, dass sich das Beschäftigen mit solchen Strukturen durchaus lohnt in größeren Umgebungen.

Auch wenn “der Kunde” nicht direkt nach einer Datenvirtualisierung fragt, macht diese Art der Architektur durchaus Sinn bei BI und Integrationsprojekten, um eine durchaus nützliche Abstraktionsschicht anbieten zu können. Der dafür notwendige Aufwand ist eine gute Investition in die Zukunft einer Lösung und schafft eine Investitionssicherheit für ein Projekt.

Des Weiteren ist es ein Beispiel dafür, dass eine “neue” Disziplin nicht immer gleich auch ein neues Produkt in einer IT-Landschaft benötigt.

Digg This

Montag, 9. April 2012

SQL Server Usergroup Hamburg (PASS Deutschland e.V.) Treffen im April 2012

Es ist wieder soweit! Am Donnerstag dem 12.04.2012 treffen wir uns um 18 Uhr wieder in der

Microsoft Niederlassung Hamburg
Gasstraße 6a

Dieses Mal gibt es einen Vortrag von unserem Gastsprecher Sebastian Meine. Sein Vortrag handelt von den Interna des SQL Servers.

Index Internals - How SQL Server stores and accesses data
In this session we will examine one of SQL Servers' most fundamental yet most important functions - how does SQL Server store data on disk and how does it find it again when executing a query. Using a combination of demos, lecture and discussions we will begin with the structure of the data on disk by delving into the world of HoBTs and Extends, RIDs and Keys and especially Pages. From there we will tackle topics concerning the retrieval of data such as Index levels, Index Scans and Seeks and Lookups.

Um zahlreiches Erscheinen wird gebeten! Sofern möglich, meldet Euch bitte vorher kurz beim Rolf Keyser unter rky@sqlpass.de an.

Freue mich drauf Euch vor Ort zu treffen!

Digg This

Donnerstag, 5. April 2012

Master Data Services (MDS) Session vom Microsoft SQL Server 2012 Launch Event in Köln ist online

Im Rahmen des virtuellen Launch Events für den Microsoft SQL Server 2012 hat Microsoft nun auch die Sessions des Kölner Launch Events online gestellt. Nach kurzer Anmeldung sind dort viele interessante Sessions zu finden.

Und natürlich möchte ich kurz auf meine Session rund um Master Data Management mit den Master Data Services hinweisen. Für mich ist dieses Feature ein echtes Highlight des 2012’ers.

http://www.sqlserverlaunch.com/deu/theater?sid=1369

Master Data Management made easy
Die Data Stewards spielen eine wichtige Rolle im Master Data Management. Sie sind verantwortlich für die Aktualität und Qualität der Master Daten. Mit Master Data Services in SQL Server 2012 wird die Pflege der Master Daten in eines der bestens verstandenen und meist genutzen Werkzeuge überhaupt gebracht. In Zukunft lassen sich Master Daten vom Data Steward in Excel pflegen und qualitätssichern. Machen Sie den nächsten Schritt zu einem besseren Unternehmen und erfahren Sie, wie Master Data Service auch die Qualität Ihrer Daten verbessern kann.

image

Digg This

Freitag, 9. März 2012

Change Data Capture (CDC) mittels Metadaten Strukturen steuern

Hier ein Hinweis auf das nächste Treffen der SQL Server Usergroup Hamburg, einer Regionalgruppe des PASS Deutschland e.V., am 14. März 2012 um 18 Uhr.

Im März halte ich dort einen Vortrag über die Nutzung von Metadaten Strukturen zur Steuerung von Prozessen und Technologien. Diese Vorgehensweise hat sich in unserer Praxis bei Business Intelligence Projekten im Enterprise Umgebungen bewährt.

Session heisst: Managed Enterprise BI – Steuerung von Change Data Capture mittels Metadaten

“Am Beispiel von Change Data Capture (CDC) wird gezeigt wie sich komplexe Technologien mit sogenannten Steuerungsstrukturen in Enterprise Umgebungen verwalten lassen. Es wird sowohl die Funktionsweise von CDC erläutert als auch dargestellt mit welchen Steuerungsstrukturen als Architekturkomponente gearbeitet werden kann.”

Würde mich wie immer sehr freuen, viele von Euch aus der Region (gerne auch wieder von ein wenig weiter weg) dabei zu haben!

Das Treffen findet wieder in der Microsoft Niederlassung Hamburg statt:

Microsoft Deutschland GmbH
Geschäftsstelle Hamburg
Gasstraße 6a
22761 Hamburg

Details zur SQL Server Usergroup Hamburg findet Ihr hier: http://www.sqlpass.de/Regionalgruppen/Hamburg/tabid/78/Default.aspx

Digg This

Donnerstag, 9. Februar 2012

SQL Server Usergroup Hamburg (PASS Deutschland e.V.) Treffen im Februar 2012

Huhu… Ja, es gibt mich noch. :o)

Hier erst mal kurz von mir der Hinweis, dass heute Abend mein PSG Kollege Max Wilhelm seinen ersten Vortrag in der Hamburger SQL Server Usergroup (PASS Deutschland e.V.) halten wird.

Danke Max!

Thema ist die Implementierung von Time Intelligence in SQL Server Analysis Services Cubes. Dabei wird er u.a. die Arbeit mit Shell Dimensions bzw. Utility Dimensions für die Nutzung von Zeit Intelligenz im Cube vorstellen und kurz auf die Verwendung von SCOPE im MDX Script eingehen.

Das Treffen findet heute Abend (9.2.2012) ab 18:15 in der Hamburger Microsoft Niederlassung in der Gasstraße 6a statt. Um zahlreiches Erscheinen wird gebeten! Sofern möglich, meldet Euch bitte vorher kurz beim Rolf Keyser unter rky@sqlpass.de an.

Freue mich drauf Euch vor Ort zu treffen!

Digg This