Archiv

Archive for the ‘Business Intelligence’ Category

Bericht vom Azure Data Lake Event

Am 2.3.2018 habe ich am Azure Data Lake Event, durchgeführt von Microsoft und Trivadis, teilgenommen. Die Referenten gaben einen Überblick über das Potential und die Möglichkeiten von Microsoft Azure Data Lake und unterlegten dies auch gleich mit live Code-Beispielen, die sie während der Veranstaltung zeigten.

Speaker waren:

  • Michael Rys, Principal Program Manager Big Data Team, Microsoft
  • Patrik Borosch, Technical Solution Professional Data Platform, Microsoft
  • Marco Amhof, Senior Consultant für Azure Data Lake Analytics und Busines Intelligence, Trivadis

Mit Hilfe des Azure Data Lakes können einerseits unterschiedlichste Daten gespeichert, andererseits aber auch analysiert und weiterverarbeitet werden. Microsoft hat eine neue Sprache zur Auswertung dieser Daten entwickelt: U-SQL. Diese Sprache ist eine Kombination aus T-SQL und C# und bietet vor allem Microsoft Entwicklern ein komfortables Werkzeug im Bereich von Big-Data-Analysen.

Azure Data Lake und diverse Möglichkeiten für Analytics

Erstaunlicherweise war die erste Frage von Michael Rys: In welcher Sprache sollen  die Vorträge gehalten werden (in Hochdeutsch, Schweizer-Deutsch oder Englisch)? … Michael Rys stammt nämlich aus der Schweiz und lebt schon seit über 20 Jahren in den USA und arbeitet bei Microsoft.

Michael Rys hat erklärt, dass man sich den Azure Data Lake (ADL) jedoch nicht als See vorstellen sollte, wo die Daten wahllos hineingekippt werden, sondern eher ähnlich einer Verzeichnisstruktur, wo es Unterordner und verschiedene Bereiche gibt. Dort werden die Daten möglichst im Original-Format und ohne zusätzliche Schema-Informationen gespeichert. D.h. auch wenn man seine Daten in einem Data Lake kopiert und aufbewahrt, müssen diese verwaltet und organisiert werden. Das wird einem durch einen Data Lake nicht abgenommen. Hierzu könnte z.B. das Tool Azure Data Catalog verwendet werden.

Various Big Data Solutions

Mit U-SQL lassen sich die Daten gemäss „Query where the data lives“ auswerten und zwar mit dem Ziel dass möglichst wenig Daten kopiert werden müssen und das Ganze möglichst performant ist.

Daten mit U-SQL und Azure Data Lake Analytics (ADLA) abfragen

 

Bei Azure Data Lake Analytics sind bereits 6 sogenannte kognitive Funktionen eingebaut:

  • Face API
  • Image Tagging
  • Emotion Analysis
  • OCR
  • Text Key Phrase Extraction
  • Text Sentiment Analysis

Aber auch Funktionalitäten wie z.B. das Durchsuchen von PDF-Dateien lassen sich relativ einfach realisieren, indem Open-Source .Net Code einfach eingebunden (z.B. von GitHub) und verwendet werden kann, wie Marco Amhof eindrücklich mit einem seiner vielen Code-Beispiele und Live Demos demonstriert hat:

  • ImageTagging (ein Feature aus den Cognitive Services) mit Visualisierung in PowerBI

    Demo: Image Tagging

     

  • Verarbeitung von 2 CSV Files und einer Abfrage (Federated Query) aus Azure SQL DWH mit dem Ergebnis, mit diesen Daten einen Data Mart nach Azure Data Lake zu schreiben, und diesen wiederum mit PowerBI zu visualisieren.(Der Data Mart lässt sich ebenfalls mit dem Polybase Feature in Azure SQL DWH abfragen. Alternativ kann dieser Data Mart von PowerBI extrahiert und nach Azure Analysis Services deployed werden.)
  • PDFParsing: Mit einem Open Source PDF Parser lassen sich beliebige PDF Files parsen. Diese wurden dann mit dem Keyword Extractor (Cognitive Services Framework) verarbeitet und die in PowerBI mit dem WordCloud Custom Visual visualisert


Patrik Borosch thematisierte unter anderem die Frage: Wird das traditionelle Data Warehouse überhaupt noch benötigt? Oder kann man alle Daten in einen Data Lake hochladen und dann direkt mit Hadoop, Spark, R oder Azure Data Lake Analytics auswerten? Die Antwort die er gegeben hat, ist ein klares JA: Das Data Warehouse wird noch benötigt, aber der grösste Nutzen für das Unternehmen entsteht dann, wenn das relationale Data Warehouse als Teil einer Big Data Lösung betrieben wird.

Denn immer noch müssen die Daten von OLAP-System, CRM, MDM (Master Data Management) etc. integriert, bereinigt, aggregiert und ausgewertet werden. Und genau diese Dinge kann ein Data Warehouse sehr gut. Wenn nun das Data Warehouse in die Cloud migriert wird (z.B. als Azure Data Warehouse oder auch als vollwertiger SQL-Server auf einer Azure-VM) hat man quasi das Beste aus zwei Welten und kann strukturierte und nicht strukturierte Daten miteinander verbinden und daraus neue Erkenntnisse erzielen. Patrik Borisch gab auch den Hinweis, dass sich derzeit eine neue Lösung im der Public Preview-Phase befindet: Azure SQL Database Managed Instance.

Azure Data Lake, Analytics, and Data Warehouse

Mein Fazit: Das war eine gelungene, halbtägige Veranstaltung mit hochkarätigen Speakern, die es verstanden haben, einerseits einen Überblick über Azure Data Lake zu geben, und andererseits mit praktischen Code-Beispielen die gezeigten Themen direkt demonstrieren konnten und auch teilweise in die Tiefe zu gehen. Während der Veranstaltung gab es immer wieder Fragen seitens der Zuhörer, die aus sehr verschiedenen Branchen kamen.

Alle Fragen konnten von den Speakern detailliert und zufriedenstellend erklärt werden. Und auch die Organisatoren Willfried Färber und Rosmarie Stutz haben einen tollen Job gemacht: Sie haben tolle Speaker zu einem sehr spannenden Thema hier in die Schweiz geholt. Cool!

Advertisements

Training in Zürich zu neuer Datenmodellierungsmethode: Data Vault

Wikipedia definiert Data Vault so:

In den letzten Jahren hat sich mit Data Vault eine neue Modellierungstechnik für Data-Warehouse etabliert, die insbesondere für agile Datawarehouse geeignet ist. Sie bietet eine hohe Flexibilität bei Erweiterungen, eine vollständige Historisierung der Daten und erlaubt eine starke Parallelisierung der Datenladeprozesse.

Meine persönliche Erfahrung ist, dass Data Vault nicht nur bei einem Data-Warehouse eingesetzt werden kann, sondern auch bei Schnittstellen von OLTP-Systemen, welche Daten von anderen Systemen beziehen. Mit Data Vault bekommt man die Möglichkeit, die Qualität der Belieferung der Schnittstellen automatisiert zu überprüfen und zu messen.

DataVault

Im Frühjahr gibt es vom Buchautor Hans Hultgren ein dreitägiges Training in Zürich zur Data Vault Modellierung. Anschließend findet eine Prüfung zur Zertifizierung statt. Interessant ist das Thema für Daten Architekten, Datenbank Programmierer, Data Warehouse Architekten, Business Intelligence Consultants und für alle die mit dem Design und Implementieren von Daten-Schnittstellen und BI-Systemen zu tun haben.

Der Trainer, Hans Hultgren, berät seit über 20 Jahren Firmen im Bereich Data Warehouse und Business Development. Hans Hultgren hat ein Buch über das Thema „Modeling the Agile Data Warehouse With Data Vault“ geschrieben. Ich habe das Buch gelesen, ich kann es nur empfehlen.

Außerdem schreibt Hans Hultgren in seinem Blog (https://hanshultgren.wordpress.com/) regelmäßig über das Thema Data Warehousing und Data Vault.

 

 

Vortrag über Requirements Engineering

Am 10. April findet um 18:30 ein Vortrag von Salvatore Cagliari über das Thema Requirements Engineering statt. Die Veranstaltung ist kostenlos. Für die Teilnahme ist es nicht erforderlich, Mitglied der msugs (Microsoft Solutions User Group Switzerland) zu sein. Die Veranstaltung findet bei der Trivadis in Glattbrugg statt.

Beschreibung des Vortrags

In diesem Vortrag wird eine kurze Einführung über Requirement Engineering (RE) und Requirement Management (RM) gegeben. Bei Application Development (AD)- und Business Intelligence (BI)-Projekten geht es um Entwicklung. Allerdings ist die Herangehensweise etwas unterschiedlich. Es werden Details zu RE in AD- und BI-Projekten angeschaut und analysiert, ob es Unterschiede zwischen den beiden Projekt-Typen gibt.

Über den Referenten: Salvatore Cagliari ist seit über 20 Jahre in der IT tätig und hat in mehreren IT-Bereichen Erfahrung gesammelt. Vom Desktop- und Server-Support bis zu Applikations-Support. Seit 2008 ist er bei Trivadis als Consultant in den Bereichen DBA, Entwickler und BI Spezialist tätig und beschäftigt sich eingehend mit dem Thema Requirement Management und Engineering. Salvatore Cagliari ist Certified Professional for Requirements Engineering (CPRE) durch IREB.

Anschliessend gibt es einen Apero mit der Möglichkeit das eine oder andere Thema noch vertiefter zu diskutieren.

Anmeldung bitte an rbestaendig(at)bluewin.ch

10 Tipps um Microsoft BI (Business Intelligence) zu lernen

2. Februar 2014 2 Kommentare

Sie sind Datenbankentwickler, Datenbankadministrator oder Softwareentwickler und möchten den Schritt hin zu Microsoft Business Intelligence gehen? Dann habe ich einige Tipps für Sie!

Tipp 1

Lesen Sie den englischsprachigen Artikel in Wikipedia über Business Intelligence. Achten Sie auf die verschiedenen Aussagen (bzw. deren Unterschiede) von Kimball sowie von Inmon.

Tipp 2

Lesen Sie das Buch The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling. Autoren: Ralph Kimball und Margy Ross.

Ralph Kimball, geb. 1944, hat diverse Bücher über Data Warehouse und Business Intelligence geschrieben. Er ist der Begründer der Methodologie Dimensional Modelling, welche auch Kimball Methodology genannt wird.

Tipp 3

Lesen Sie das Buch Data Warehousing mit Oracle: Business Intelligence in der Praxis. Autoren: Claus Jordan, Dani Schnider, Joachim Wehner und Peter Welker. Das Buch ist zwar primär für Oracle geschrieben, trotzdem kann man mit diesem Buch lernen, wie man professionelle DWH- & BI-Architekturen erstellen kann.

Tipp 4

Lesen Sie das Buch The Microsoft Data Warehouse Toolkit: With SQL Server 2008 R2 and the Microsoft Business Intelligence Toolset. Autoren: Joy Mundy, Warren Thornthwaite und Ralph Kimball.

Tipp 5

Probieren Sie aus, was Sie in den Büchern gelesen und gelernt haben. Microsoft bietet kostenlose Versionen (180 Tage, voll funktionsfähig) zum Testen an:

  • Windows Server 2012 Standard
  • Windows Server 2012 Datacenter
  • Windows Server® 2012 Essentials

Eine Beschreibung ist hier zu finden: http://technet.microsoft.com/de-de/library/jj574204.aspx

Tipp 6

Lesen und verfolgen Sie den Blog (deutsch) von Willfried Färber: http://blog.trivadis.com/b/willfriedfaerber/default.aspx

Tipp 7

Lesen und verfolgen Sie den Blog (englisch) von James Serra: http://www.jamesserra.com/
Sehr interessant auf diesem Blog finde ich die Präsentationen und Videos: http://www.jamesserra.com/presentations/

Tipp 8

Machen Sie ein Classroom-Training bei der Trivadis: http://www.trivadis.com/training/microsoft-training/sql-server-business-intelligence.html.
Es gibt folgende Kurse für den SQL Server 2012 sowie für SQL Server 2008R2:

  • Implementierung eines Data Warehouse
  • Implementing Data Models and Reports
  • Designing Business Intelligence Solutions
  • Reporting Services
  • Integration Services
  • Analysis Services

Darüberhinaus gibt es folgende Kurse für Fortgeschrittene

Sehr empfehlenswert ist auch das BI-Bootcamp, das sowohl für Microsoft als auch für Oracle angeboten wird.

Tipp 9

Schauen Sie sich die Videos auf Channel 9 von Microsoft an: http://channel9.microsoft.com/Tags/business+intelligence

Hilfreich sind ausserdem die Technet-Videos zu den Integration Services (SSIS) an: http://technet.microsoft.com/de-de/library/dd299421(SQL.100).aspx
Anhand konkreter Vorgehensweisen wird hier gezeigt, wie was zu lösen ist.

Tipp 10

Lassen Sie sich zertifizieren!

  • Exam 70-461: Querying Microsoft SQL Server 2012
  • Exam 70-462: Administering Microsoft SQL Server 2012 Databases
  • Exam 70-463: Implementing a Data Warehouse with Microsoft SQL Server 2012

Nach diesen drei Prüfungen erhält man die Zertifizierung „Microsoft Certified Solutions Associate (MCSA): SQL Server 2012“.

  • Exam 70-466: Implementing Data Models and Reports with Microsoft SQL Server 2012
  • Exam 70-467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012

Wenn Sie auch diese zwei zusätzlichen Prüfungen gemacht haben, dann erhalten Sie die Zertifizierung „MCSE: Business Intelligence -Solutions Expert“.

Wichtig ist es, sich gut auf die Prüfungen vorzubereiten. Ich empfehle hier jeweils ein Classroom Training (siehe Tipp 8) zu machen und dann die entsprechenden Bücher aus der Reihe Training Kit von Microsoft Press durchzuarbeiten. Ein Beispiel finden Sie hier. Und ganz wichtig: Üben Sie an Ihrem eigenen PC, in den Büchern werden Sie genügend Aufgaben finden, die Sie dann selbst umsetzen und lösen können.

Themen Lunch: Microsoft SQL Server 2014 Neuigkeiten

Die Fa. Trivadis bietet einen kostenlosen Themen Lunch zur brandneuen Version des Microsoft SQL Server 2014 an. Die Veranstaltung geht über den Mittag und dauert ca. 2 Stunden. Meinrad Weiss referiert über die wichtigsten Neuerungen des SQL Server 2014, wie z.B. Mission Critical Performance, In-Memory OLTP, In-Memory Data Warehouse, Azure Cloud Services für DB Applikationen, Ausblick zu Big Data, etc. Nach dem Event werden Snacks offeriert und man hat Gelegenheit, sich mit den anderen Teilnehmern und dem Referenten auszutauschen.

Für den Event gibt es 2 Termine:

  • 20. Februar 2014 in Basel, Beginn 11:00 Uhr
  • 5. März 2014 in Glattbrugg, Beginn 11:00 Uhr

Hier geht’s zu den Detailinformationen und zur Anmeldung.

Datenanonymisierung von Datenbanken

Bei vielen Unternehmen z.B. im Finanz- und dem Versicherungssektor, aber auch dem Gesundheitswesen, müssen die Daten anonymisiert werden, bevor sie vom Produktivsytem in die Entwicklungsumgebung kopiert werden dürfen. Auf der Webseite des ICO (britische Datenschutzbehörde) steht ein Leitfaden Anonymisation code of practice zur Verfügung. Dieser Leitfaden wurde im November 2012 herausgegeben. Der Leitfaden gibt einen guten Überblick in die Problematik, wenn persönliche Daten anonymisiert werden sollen. Im Appendix auf Seite 51 werden die wichtigsten Techniken zur Datenanonymisierung kurz beschrieben:

  • Partielles Entfernen von Daten
  • Daten unter Quarantäne stellen
  • Pseudonymisierung
  • Aggregation
  • Abgeleitete Daten und Vergröberung

Zum Thema Datenanonoymisierung gibt es auch einige Bücher. Das Buch The Complete Book of Data Anonymization: From Planning to Implementation beschreibt den gesamten Prozess von der Planung bis zur Implementierung.

Doch wie geht man konkret vor, wenn man mit einer solchen Aufgabe betraut wird?

Vorbereitung

Zuerst muss man die Grundlagen schaffen, eine solche Aufgabe durchzuführen. Es ist sicher eine gute Idee, sich mit der Materie zu beschäftigen, indem man ein Buch dazu liest oder sich im Web einige Blogs anschaut. Vielleicht hat das Unternehmen, für welches man die Anonymisierung durchführen muss, einen Leitfaden oder es gibt Referenzprojekte, wo man sich informieren kann.

Analyse (Was)

Bevor man loslegen kann, müssen die Daten analysiert werden. Am Besten macht man das mit einem Business-Analysten zusammen. Beispielsweise könnte man Kategorien definieren, in die man jedes Attribut von jeder Tabelle dann einteilen kann. Herauskommen sollte also eine Liste von Tabellen und deren Attributen und die Zuordnung zu einer Kategorie.

Design (Wie)

Wenn klar ist, was genau zu anonymisieren ist, kann man festlegen wie man anonymisieren möchte:

  • Soll der Prozess wiederholbar sein?
  • Soll ein ETL-Tool wie z.B. Informatica oder SSIS (SQL Server Integration Services) verwendet werden? Oder soll ausschliesslich mit Datenbank-Skripten gearbeitet werden?
  • Soll die Anzahl der Daten vor dem Anonymisierungsprozess reduziert werden? Kann das in einer Art und Weise geschehen, dass nach der Reduktion der Daten trotzdem alle möglichen Datenkonstrukte- und konstellationen noch vorhanden sind?
  • Sollen die anonymisierten Daten nachher noch lesbar sein? Z.B. Könnte man den Namen „Meier“ in „Müller“ anonymisieren, denkbar wäre aber auch ein Random-String in der Art „äAc!0Ww9#q“.
  • Gibt es Anforderungen bzgl. der Performance? Wie lange darf der Prozess dauern? Ist es möglich die Anonymisierung nicht Record-based sondern Set-based durchzuführen?

Regeln

Bei einem kleinen Datenanonymisierungs-Projekt, das ich begleiten durfte, haben wir folgende Regeln aufgestellt. Die Regeln können jeweils selbst definiert werden und können bei jedem Projekt anders aussehen. Wichtig ist, die Regeln mit den Business-Analysten und den Entwicklern gemeinsam zu besprechen und festzuhalten.

  1. Wenn ein String anonymisiert wird, der ausschliesslich Ziffern enthält, dann sollte er nach dem Anonymisieren ebenfalls nur Ziffern enthalten. Das gleiche gilt für einen String der nur Buchstaben enthält, dieser sollte nach dem Anonymisieren nur Buchstaben enthalten.
  2. Es sollten keine Zeichen von einem anderen Zeichensatz (als der in der Datenbank verwendete) angewendet werden.
  3. Wenn der Inhalt eines Attributes einer Tabelle in mehreren Datensätzen (Rows) vorkommt, sollte dieser immer gleich anonymisiert werden. D.h. der Ziel-Inhalt sollte dann der gleiche sein. Das gleiche gilt auch, wenn Attribute in mehreren Tabellen vorkommen.
  4. Interne technische Schlüssel müssen nicht verschlüsselt werden. Wenn diese Schlüssel aber an andere Systeme weitergegeben werden oder in Korrespondenz erscheinen, müssen sie ebenfalls anonymisiert werden.
  5. Zusammenhängende Attribute müssen auch zusammenhängend verschlüsselt werden. Enthält die Tabelle Attribute, die als Teil eines anderen Attributes vorkommen, muss die Anonymisierung so sein, dass danach diese Zugehörigkeit immer noch gegeben ist.
  6. Namen und Orte sollten nach der Verschlüsselung lesbar sein. Das heisst nicht, dass es tatsächlich Namen sein müssen. Denkbar wäre z.B. für Nachnamen auch etwas in der Form wie „Nachname_01“, „Nachname_02“, etc.
  7. Die Länge der Inhalte sollte nicht verändert werden (insbesondere wenn es sich um Business-Keys handelt)

Testen & Bugfixing

Wenn der Datenanonymisierungsprozess implementiert ist, muss er getestet werden. Hierzu wird eine Kopie der produktiven Datenbank gemacht, anschliessend wird ggf. die Datenmenge reduziert. Wenn die Datenbank dann parat ist, wird der Datenanonymisierungs-Prozess gestartet. Es werden zwei Aspekte getestet:

  • der Prozess selbst: Performance, Fehlerbehandlung, Stabilität etc.
  • die anonymisierten Daten

Beim Testen werden alle gefundenen Fehler (Defects oder Bugs) protokolliert. Sobald alle Defects behoben (gefixt) sind, kann dann der Test wiederholt werden. Danach erfolgt in der Regel eine Abnahme und Freigabe des Tests vom Business.

Erster Big Data Studiengang der Schweiz

In Zusammenarbeit mit Trivadis und IBM hat die Berner Fachhochschule einen neuen CAS-Studiengang ins Leben gerufen: Big Data CAS (Certificate of Advanced Studies). Gemeinsam unterrichten sie das Fachwissen für den Umgang mit grossen, unstrukturierten Datenmengen.

In den kommenden Jahren werden vermehrt Big-Data-Spezialisten insbesondere in den Branchen Banken, Versicherungen und Pharma, gebraucht werden. Mit dem neuen Studiengang wird dem wachsenden Bedürfnis nach diesen Spezialisten Rechnung getragen.

Hier finden Sie die Berichte der Netzwoche sowie von moneycab:
http://www.netzwoche.ch/de-CH/News/2013/11/18/Hohe-Schule-fuer-grosse-Datenmengen.aspx
http://www.moneycab.com/mcc/2013/11/18/erster-big-data-studiengang-der-schweiz/

In Wikipedia wird Big Data so definiert:

Big Data bezeichnet große Datenmengen aus vielfältigen Quellen, die mit Hilfe neu entwickelter Methoden und Technologien erfasst, verteilt, gespeichert, durchsucht, analysiert und visualisiert werden können. Das Volumen dieser Datenmengen geht in die Terabytes, Petabytes und Exabytes.