Archiv

Posts Tagged ‘Trivadis’

Fallstricke der T-SQL Funktion isNumeric() – was ist zu beachten?

Manchmal geht man davon aus, dass die mitgelieferte Funktionen des SQL Servers das tun, was sie sollen. Aber dieses erwartete Verhalten trifft nicht immer zu. Wie im vorliegenden Fall der Funktion isNumeric.

Was habe ich erwartet: Ich habe erwartet, dass die Funktion isNumeric den übergebenen Parameter auswertet und als Resultat entweder 1 oder 0 zurückgibt, je nachdem ob es sich um einen numerischen Wert handelt, oder nicht.

Wie ist das Verhalten: Leider funktioniert die Funktion isNumeric nicht immer richtig – oder noch schlimmer, es werden Fehler geworfen (beim Datentyp date), wo man es absolut nicht erwartet.

Beispiele

T-SQL Code Datentyp Ergebnis Bemerkung
declare @myAttribute as decimal(18,6) = 123456789012.123456; select isnumeric (@myAttribute); decimal 1 korrekt
declare @myAttribute as date = ‚2016-02-17‘; select isnumeric (@myAttribute); date kein Folgender Fehler wird geworden: Msg 8116, Level 16, State 1, Line 8 Argument data type date is invalid for argument 1 of isnumeric function.
declare @myAttribute as datetime = CURRENT_TIMESTAMP; select isnumeric (@myAttribute); datetime 0 korrekt – erstaunlich, dass datetime geht und date nicht …
declare @myAttribute as varchar(12) = ‚Hallo‘; select isnumeric (@myAttribute); varchar 0 korrekt
declare @myAttribute as varchar(12) = ‚4711‘; select isnumeric (@myAttribute); varchar 1 korrekt. D.h. mit isnumeric lassen sich auch varchar-Variablen untersuchen.
declare @myAttribute as varchar(12) = ‚€4711‘; select isnumeric (@myAttribute); varchar 1 korrekt. Trotzdem hätte ich hier evtl. eine 0 erwartet. In der Dokumentation von Microsoft kann man nachlesen, das die führende Zeichen wie +, – sowie Währungssymbole nicht ausgewertet werden.

Nun könnte man ja auf die Idee kommen, zuerst mit der Funktion SQL_VARIANT_PROPERTY den Datentypen zu checken:

declare @myAttribute as date = '2016-02-17'
if SQL_VARIANT_PROPERTY(@myAttribute,'BaseType') not in ('decimal','numeric','float','real','int','bigint','smallint','tinyint','money','smallmoney')
 print 'not a numeric type'
else
 select isnumeric(@myAttribute)

Doch auch hier wird der Ausruck ausgewertet und ein Fehler geworfen:
Msg 8116, Level 16, State 1, Line 6
Argument data type date is invalid for argument 1 of isnumeric function.

Als nächstes habe ich das gleiche mit einem CASE Statement versucht. Aber auch hier gibts eine Fehlermeldung:

declare @myAttribute as date = '2016-02-17'
SELECT
 CASE 
  WHEN SQL_VARIANT_PROPERTY(@myAttribute,'BaseType') 
      not in ('decimal','numeric','float','real','int','bigint','smallint','tinyint','money','smallmoney') THEN 0
  ELSE isnumeric(@myAttribute)
 END AS isAttributeNumeric

Msg 8116, Level 16, State 1, Line 3
Argument data type date is invalid for argument 1 of isnumeric function.

Fazit

Mein Fazit: Die Funktion isNumeric ist mit Vorsicht zu geniessen. Wenn sie eingesetzt wird, dann muss man sehr gut testen. Insbesondere muss sichergestellt werden, dass nie ein Parameter vom Datentyp date an die Funktion übergeben wird. Dann nämlich knallts und ein Fehler wird geworfen.  Falls SQL Server 2012 oder höher eingesetzt wird, gibt es hier eine Empfehlung immer TryParse anstatt isNumeric einzusetzen.

 

 

Advertisements

Vortrag am 2.12.2015: Entwickeln von IoT (Internet of Things) Lösungen mit Microsoft Azure

Die MSUGS (Microsoft Solutions User Group Switzerland) veranstaltet am 2.12.2015 einen sehr interessanten Vortrag über das Thema IoT (Internet of Things) auf Basis von Microsoft Azure.

Marco Amhof und Andrija Sisko zeigen am Beispiel von drei verschiedenen Sensoren wie man Sensorwerte sammeln und in PowerBI visualisieren kann. Dazu verwenden sie die Frameworks aus Microsoft Azure.

Marco arbeitet seit über 14 Jahren bei Trivadis als Consultant in Kundenprojekten, die mit Microsoft Technologie umgesetzt werden. Schwerpunkte sind Anwendungsentwicklung und Business Intelligence basierend auf den Technologien und Frameworks Microsoft SQL Server, Microsoft .NET und Microsoft Dynamics XRM.

Andrija arbeitet seit 4½ Jahren bei Trivadis als .Net Consultant in der Application Development Unit. Seine Schwerpunkte liegen in den Bereichen Serverseitige Programmierung, ASP.NET MVC, Microsoft SQL Server, Microsoft Entwicklungswerkzeuge (Visual Studio, TFS) und Performance Analyse/Management.

Sei dabei bei diesem spannenden Vortrag wo IoT konkret wird. Weitere Details zum Programm und zur Anmeldung findest Du hier auf der Homepage der MSUGS.

Kanban Board mit JIRA

Ein physisches Kanban Board ist grundsätzlich immer zu empfehlen. Was aber tun, wenn die Mitarbeiter des Projektes nicht am gleichen Ort arbeiten. Oder wenn Kollegen mitarbeiten, die mehrere örtlich verschiedene Arbeitspätze haben? Dann empfiehlt sich eine Online Applikation wie z.B. Trello oder Jira. Im Folgenden beschreibe ich kurz, wie man eine Kanban Board mit JIRA aufsetzen kann.

Step 1: Projekt erstellen

  1. Menü: Projects / Create Project
  2. Im Dialog „Agile Kanban“ auswählen.
  3. Dem Projekt einen Namen und Key geben z.B. „Mein Kanban Projekt“ und „MKP“.

Das Projekt ist jetzt angelegt, das Kanban Board wird angezeigt. Es wird der GreenHopper Simplified Workflow benutzt. Die Tasks lassen sich per Drag & Drop auf dem Board verschieben.

Step 2: Anpassen des Kanban Boards

  1. Auf den Button mit dem Zahnrad (Administration) klicken / Configure
  2. Jetzt wird das GUI „Configure <project name>“ angezeigt. Hier auf den Tab „Columns“ klicken. Rechts werden zwei Buttons angezeigt: „Add Status“ sowie „Add Column“. Sollte „AddStatus“ nicht angezeigt werden, so haben Sie vermutlich zu wenig Rechte. Wenden Sie sich dann an den Administrator und lassen sich für Ihr neu erstelltes Projekt mehr Rechte geben.
  3. Initial werden drei Spalten angezeigt:
    a) Todo
    b) In Progress
    c) Done
    Diese sind mit den vordefinierten Standard Status verknüpft:
    Jira_Default_Board
  4. Nun kann man mit dem Buttons „Add Status“ und „Add Columns“ die entsprechenden Spalten hinzufügen. Wenn man den Status und Spalten die gleichen Namen gibt, werden diese auch gleich automatisch gemappt. Überflüssige Status lassen sich auch löschen oder umbenennen.Nach dem Hinzufügen ist es sinnvoll, die Reihenfolge der Spalten anzupassen.
  5. Da sich in Jira eine Spalte nicht in „DOING“ und „DONE“ aufsplitten lässt, habe ich dafür eigene Status/Columns erstellt. Hier die Liste meiner Spalten (diese kann von Projekt zu Projekt verschieden sein und kann auch nachträglich angepasst werden):
    1. Backlog
    2. Next
    3. Analysis DOING
    4. Analysis DONE
    5. Dev DOING
    6. Dev DONE
    7. Test DOING
    8. Test DONE
    9. Ready for Release
    10. Done
  6. Sobald die Spalten aufgesetzt sind, sollte man noch das WIP Limit (Max) pro Spalte definieren
  7. Auch das Arbeiten mit Swimlines wird von JIRA resp. Greenhopper unterstützt. Hierzu habe ich auf den Tab „Swimlanes“ geklickt und „Base Swinlandes on Stories“ ausgewählt.

Step 3: Erstellen von Tasks

Jetzt sind wir mit der Anpassung des KANBAN Boards fertig und können anfangen Issues zu erfassen. Damit die Tasks gleich der richtigen Story zugeordnet werden, empfehle ich wie folgt vorzugehen:

  1. Erstellen einer Story mit dem Button „Create issue“ in der Menüleiste. Als Issue Type unbedingt „Story“ auswählen.
  2. Sobald die Story erfasst ist, zum Issue Navigator wechseln und die entsprechende Story auswählen. Dann kann man mit einem Klick auf den Button „More“ den Befehl „Create Sub-Task“ auswählen und den Task erfassen. Der Task wird nun automatisch auf dem Kanban Board in der Swimlane der zugehörigen Story einsortiert und angezeigt. Cool!

Vortrag: Optimierung der IT-Infrastruktur mit Office 365 und Azure

Am Donnerstag, 23. April 2015, 17.30 Uhr findet in Aarau ein Vortrag zum Thema „Optimierung der IT-Infrastruktur mit Office 365 und Azure: Zukunftsorientiert, umfassend und kosten-günstig“ statt. Der Vortrag ist kostenlos. Details siehe PDF-Dokument: Einladung_OdA_Event_20150423

Ort: Kantonale Verwaltung Aargau, Buchenhof Entfelderstrasse 22, 5000 Aarau, Sitzungszimmer AARE

AGENDA
17.30 Uhr – Empfang
18.00 Uhr – Event
– Optimierung der IT-Infrastruktur
– Demo OdA GS Aargau O365 / Lync
– Azure / SharePoint online inkl. Demo
– Neue Welt des Arbeitens

ab 19.45 Uhr
– Apéro und Ausklang
– Austausch mit den Referenten und Networking

ANMELDUNG BITTE BIS ZUM 21.4.2015 BEI:
rbestaendig@bluewin.ch

Die OdA GS Aargau (Organisation der Arbeitswelt für Gesundheits- und Sozialberufe) reduziert mit der Migration in die Azure-Cloud & Office 365 ihre IT Kosten um 53%! Trotz dieser massiven Kostensenkung stehen mehr Möglichkeiten zur Verfügung. An diesem Event zeigt Andrea Traber (Geschäftsleitungsmitglied der OdA GS Aargau) auf, wie die Ausgangslage vor dem Projekt ausgesehen hat, was die Überlegungen für diesen Schritt waren und wie sie jetzt arbeiten.

Meinrad Weiss und Simon Amrein von der Trivadis AG wird im Anschluss ein paar technische Details und die Herausforderungen aufzeigen, bevor sie Zukunftsvisionen erläutern und diese in einer kurzen Demonstration präsentieren. Weiter wollen wir die neue Welt des Arbeitens mit einem spannenden Referat von Lukas Gillioz, Solution Spezialist Cloud, aufzeigen.

 

 

Vortrag bei MSUGS über „Das generierte Data Warehouse Möglichkeiten und Risiken“

Am 26. Februar 2013 findet bei Trivadis in Glattbrugg um 18:30 Uhr ein Vortrag zum Thema „Das generierte Data Warehouse Möglichkeiten und Risiken“ von Peter Welker statt.

Anmeldung via: http://www.msugs.ch/Startseite/tabid/36/ModuleID/381/ItemID/57/mctl/EventDetails/Default.aspx?selecteddate=26.02.2013

Hier die komplette Beschreibung des Vortrags:

„Generatoren sind viel zu unflexibel für reale Projekte und machen mehr Arbeit als sie einsparen“. Auf solche Vorbehalte trifft man in der IT Welt immer wieder und nicht selten stecken eigene, üble Erfahrungen dahinter. Woran liegt das und wann lohnt sich tatsächlich der Einsatz von (Code-)Generatoren? Welche Kriterien muss der Generator, aber auch das Projekt erfüllen, damit die Vorteile einer generierten Lösung wie Aufwand- und Kostenersparnis, Stabilität und Performance zu Tage treten? Sind vielleicht gerade Data Warehouse Projekte besonders geeignet? Hier trifft man ja praktisch immer auf dieselben Fragestellungen und Lösungsmuster und setzt seit langem ETL Produkte ein – also bis zu einem gewissen Grad ja auch schon Generatoren. Basierend auf Erfahrungen aus realen DWH Projekten mit und ohne DWH Generatoren betrachtet der Vortrag Möglichkeiten und Risiken eines Generatoreinsatzes und zeigt Kriterien zur Auswahl von Projekt und Produkt auf.

Referent: Peter Welker arbeitet bei Trivadis als Senior Solution Manager, Partner und Consultant für BI Lösungen.

Anschliessend wie immer, Apero mit der Möglichlkeit das eine oder andere Thema noch vertiefter zu diskutieren.

Microsoft Expression Web 4 kostenlos!

EW4_screenSeit dem 20. Dezember ist die Web-Entwicklungsumgebung Microsoft Expression Web 4 kostenlos erhältlich! 🙂

Microsoft Expression Web ist der Nachfolger von Microsoft Frontpage . Expression Web wurde komplett neu programmiert. Expression Web 4 wurde im Sommer 2010 released, inzwischen sind Service Pack 1 (SP1) und SP2 herausgekommen. Seit SP1 wird HTML5 und CSS3 unterstützt.

Download der kostenlosen Versionen:

Microsoft selbst erklärt die Änderungen in seiner Expression-Produktpalette wie folgt:

Microsoft Expression Changes

The proliferation of rich interactive web applications across the cloud and mobile devices continues to create new opportunities for creative design and development. As these technologies evolve, Microsoft is committed to providing best-in-class tools for building modern applications. In support of these industry trends Microsoft is consolidating our lead design and development offerings — Expression and Visual Studio — to offer all of our customers a unified solution that brings together the best of Web and modern development patterns.

Blend will continue to ship as a standalone tool with Visual Studio 2012, as part of a consolidated designer/developer offering. Blend for Visual Studio 2012 provides a rich design-centric environment for building Windows Store apps and Windows Phone apps. In addition to that, WPF, Silverlight and SketchFlow support is available today as a preview and will be released in Visual Studio 2012 Update 2.

Expression Studio 4 Ultimate and Expression Studio 4 Web Professional are no longer available for sale. For customers who previously purchased these products, all components within Ultimate and Web Professional will be supported through their support lifecycle.

Expression Design 4 and Expression Web 4 are now available for download at no charge. Technical support will not be available for these free versions.

Expression Encoder 4 Pro will be available for purchase through 2013. Expression Encoder 4 remains available for download at no charge.

Kategorien:HTML5 und CSS3, Trivadis Schlagwörter: , ,

Microsoft Parallel Data Warehouse

27. Dezember 2012 2 Kommentare

Ist die Nacht zu kurz oder schlafen Sie bei Abfragen ein? Immer größere Datenmengen bringen bestehende Data Warehouse Plattformen an ihre Leistungsgrenzen. Sie erfordern neue Strategien, um auch zukünftigen Anforderungen gewachsen zu sein. Gleichzeitig steigen die Ansprüche bezüglich Datenaktualität und auswertbarer Datenzeiträume. Nachfolgend werden Strategien aufgezeigt, um für die wachsende Datenflut gewappnet zu sein.

1. Ständig wachsendes Datenaufkommen

Immer größere Datenmengen bringen viele existierende Data Warehouse Plattformen (DWH) an ihre Leistungsgrenzen. Aus dem TDWI Report „Next Generation DW“ (siehe Abbildung 1) ist ersichtlich, welche Mengengerüste in den nächsten drei Jahren zu erwarten sind. So rechnen immerhin 34 Prozent der befragten Unternehmen mit einem Datenvolumen, das größer als 10 Terabyte ist. Das bringt einige Herausforderungen mit sich: Wenn beim aktuellen Datenvolumen die Nacht heute gerade knapp ausreicht, um alle Daten zu verarbeiten – wie wird es dann sein, wenn sich das Volumen verdoppelt oder verdreifacht? Es kommt hinzu, dass die Fachabteilungen immer mehr Werkzeuge bekommen, um Daten direkt aus dem DWH selbst auszuwerten. Als Beispiele im Microsoft Umfeld seien hier Excel und PowerPivot in Zusammenhang mit „Self-Service BI“ genannt. Dies bedeutet, dass die Anzahl der Anwender sowie die Anzahl der Abfragen und deren Komplexität neben der Datenmenge ebenfalls zunehmen werden. Viele DWH-Betreiber stellen deshalb Überlegungen an, ob die vorhandene Plattform ausgebaut werden kann. Sie wägen ab, ob es sinnvoll und an der Zeit ist, einen Technologiesprung zu machen.

Durchschnittliches Datenvolumen eines Datenwarehouse

Abbildung 1: Durchschnittliches Datenvolumen eines Data Warehouse.
Quelle: TDWI Report – Next Generation DW

Welche Möglichkeiten gibt es, oben skizzierte Anforderungen abzudecken? Dazu gibt es folgende Beispiele:

  • Ausbau des bestehenden Systems
  • Ablösung noch bestehender 32-bit Server durch 64-bit Server. Ein Hauptvorteil von 64-bit Systemen ist, dass sie mehr als 4 Gigabyte Arbeitsspeicher adressieren können. Hiervon profitieren Anwendungen mit hohem Speicherbedarf, zum Beispiel Datenbanksysteme. Mit 64 Bit lassen sich bis zu 16 Exabyte adressieren.
  • Umstellung auf Massive Parallel Verarbeitung (MPP). Die wichtigsten Hersteller von MPP-Systemen sind EMC Greenplum, Teradata, Oracle Exadata, HP Vertica und IBM Netezza sowie Microsoft Parallel Data Warehouse (HP, Dell).
  • Einsatz eines für den DWH-Betrieb optimierten Systems wie zum Beispiel Fast Track. Dies ist eine Architektur für ein ausgewogenes System, siehe nächsten Abschnitt.

1.1 Fast Track – Bauplan für ein ausgewogenes System

Fast Track GrundregelnFast Track ist die Microsoft Referenzarchitektur, um Software und Hardware für ein Data Warehouse optimal aufeinander abzustimmen – mit Microsoft SQL Server. Daneben beinhaltet Fast Track Best Practices für das Datenlayout, das Laden selbst und die Verwaltung der Daten. Fast Track Version 3.0 basiert auf der Technologie Microsoft SQL Server 2008 R2. Die Version 4.0 der Fast Track Referenzarchitektur korrespondiert mit Microsoft SQL Server 2012. Von diversen Herstellern kann ein Fast Track System vorproduziert als Appliance bestellt werden. Eine Appliance ist eine Einheit aus Hardware, Software und Services. Es besteht jedoch auch die Möglichkeit, sich ein System gemäß der Fast Track Referenzarchitektur selbst zusammenzustellen und zusammenzubauen. Fertig assemblierte Fast Track Systeme sind erhältlich von Dell, HP, Bull, IBM, EMC und anderen führenden Herstellern. Der Hauptvorteil eines fertig assemblierten Systems ist die schnelle Verfügbarkeit. Es ist innert wenigen Wochen einsatzfähig. Es ist nicht zwingend notwendig, bei einem Fast Track System die teuersten und besten Komponenten einzusetzen. Vielmehr ist es sinnvoll, Komponenten zu verwenden, die optimal aufeinander abgestimmt sind. Dies gilt in Bezug auf die Storage- und Leistungsanforderungen, die typischerweise bei einem Data Warehouse Betrieb gefordert werden. Es lohnt sich also, die Prozessoren, den Arbeitsspeicher, die lokalen Festplatten, das DAS (Direct Attached Storage) oder das SAN (Storage Area Network) sowie die Datenbank und das Betriebssystem so auszuwählen und zu konfigurieren, dass sie bestmöglich zusammenarbeiten. Auch sollte keine Komponente zu einem Flaschenhals werden. Dies ist etwa der Fall, wenn der Storage des Servers zu langsam ist, die Prozessoren dagegen mehr Daten verarbeiten könnten. Der Storage ist jedoch nicht in der Lage, eine höhere Leistung zu erbringen.

Das Ergebnis ist ein System mit einem optimalen Gesamtdurchsatz, welches die vorliegenden Anforderungen nachhaltig erfüllt.

1.2 SMP versus MPP

Vereinfacht ausgedrückt kann man sagen, dass ein SMP-System  auf einem einzigen Server mit mehreren CPUs (Cores) läuft. Bei MPP (massiv parallele Verarbeitung) hingegen wird die Skalierbarkeit und die Abfrage-Performance dadurch erreicht, dass mehrere unabhängige Server parallel betrieben werden. Herkömmliche Datenbankserver sind in der Regel als SMP-System ausgelegt.

Schema eines SMP Systems

Abbildung 2: Schema eines SMP Systems

Ein solches SMP-System zeichnet sich durch eine Multi-Prozessor Rechnerarchitektur aus, bei welcher der Arbeitsspeicher, der Storage und die Netzwerkkarten von den CPUs gemeinsam verwendet werden (shared). Ein großer Nachteil besteht darin, dass Anwendungen nicht beliebig skaliert werden können und laufende Prozesse sich gegenseitig beeinflussen. Das Parallel Data Warehouse, kurz PDW, von Microsoft ist hingegen ein massiv-parallel verarbeitendes System (MPP). Es basiert auf einer Shared Nothing Architektur: Das System besteht aus mehreren, baugleichen Server-Knoten, die alle ihre eigenen Prozessoren, Hauptspeicher, Storage und Netzwerkkarten besitzen. Da die Ressourcen nicht geteilt werden müssen, kann ein MPP System hervorragend skalieren.

1.3 Vorteile eines massiv parallelen Systems

Warum ist ein Parallel Data Warehouse (PDW) um ein vielfaches schneller als ein herkömmliches SMP-System? Was ist zu beachten, um eine optimale Performance zu erzielen? Alle Komponenten einer PDW sind auf Geschwindigkeit getrimmt. Im Prinzip kommen mehrere Fast Track Systeme parallel zum Einsatz. Konkret bedeutet dies, dass die Serverknoten, der Storage und das Netzwerk so ausgewählt wurden, damit das Auftreten eines Flaschenhalses vermieden werden kann. Durch den parallelen Einsatz optimierter Komponenten skaliert das System horizontal. Das bedeutet in der Praxis, dass die Antwortzeiten auch bei sehr großen BI-Lösungen schnell und prognostizierbar bleiben. Die nachfolgende Grafik veranschaulicht schematisch das Verhalten eines PDWs im Vergleich zu SMP-basierten Systemen, wie ein Fast Track System oder ein nicht optimiertes System.

Skalierung Parallel Data Warehouse im Vergleich zu SMP-Systemen.

Abbildung 3: Skalierung Parallel Data Warehouse im Vergleich zu SMP-Systemen. Quelle: Trivadis

2. Parallel Data Warehouse (PDW)

Im Sommer 2008 hat Microsoft die Firma DATAllegro und ihre Lösung im Bereich MPP akquiriert. Zwei Jahre später brachte Microsoft die Appliance Parallel Data Warehouse (PDW) auf den Markt, basierend auf der Lösung von DATAllegro. Seither sind zwei Jahre vergangen. Am Produkt wurde viel verbessert und seit dem Frühjahr 2012 ist die PDW bereits in der Version AU3 (Appliance Update 3) erhältlich. Eine PDW ist für ein sehr großes Data Warehouse ausgerichtet und lässt sich bis in den Petabyte-Bereich skalieren.

Eine Appliance wie die PDW besteht aus Hardware, Software und Services und wird betriebsbereit vom Hersteller geliefert. Bei einer PDW kommen die Architektur und die Software von Microsoft, die Hardware von HP oder von Dell. Es kann durchaus sein, dass in Zukunft weitere Hardwarehersteller ebenfalls eine PDW anbieten. Das System ist grundsätzlich offen. Es kommt ausschließlich Industrie-Standardhardware zum Einsatz.

2.1 Hardware Architektur

Eine PDW besteht grundsätzlich aus zwei Racks: Einem Control Rack und einem Data Rack. Das Control Rack enthält alle Komponenten, welche der Administration, Steuerung und Kommunikation mit der PDW dienen. Das Data Rack besteht aus baugleichen Serverknoten. Auf jedem dieser Serverknoten ist eine spezielle SQL Server 2008-Instanz installiert. Jedem Serverknoten ist ein dedizierter Storage Knoten zugewiesen (shared nothing). Die Datenbank und ihre Tabellen sind über diese physikalischen Server hinweg verteilt, erscheinen aber in einer Client Applikation als eine einzige (logische) Datenbank mit ihren dazugehörigen Tabellen und Objekten. Der Control Node steuert und verwaltet die Ausführung der Abfragen. Auf dem Control Node wird auch die Information gehalten, welche Daten auf welchem Knoten gespeichert werden.

Die massiv parallele Architektur des Parallel Data Warehouse

Abbildung 4: Die massiv parallele Architektur des Parallel Data Warehouse

2.2 Transparente Verteilung der Daten

Die Performance der PDW Appliance ist exzellent und prognostizierbar, auch für feingranulare Daten. Es können Analysen und Auswertungen erstellt werden, die mit einem herkömmlichen System (SMP) aufgrund von Kapazitätsrestriktionen oder Einschränkungen bezüglich der Verarbeitungszeit nicht durchführbar sind. Der Schlüssel hierfür liegt in der (richtigen) Verteilung der Daten. Ein bedeutender Vorteil von PDW ist, dass die Verteilung der Daten von PDW transparent übernommen wird. Zudem ist die Komplexität, die hinter der Verteilung steht, für den Anwender nicht sichtbar. Mit zwei einfachen, deklarativen Einstellungen kann zwischen replizierten und verteilten Objekten unterschieden werden. Kleine Tabellen (gewöhnlich Dimensionen) werden auf jeden Compute Node repliziert. Dies bedeutet, dass auf jedem Knoten eine vollständige Kopie der Daten einer Tabelle abgelegt wird. Große Tabellen, es handelt sich meist um Faktentabellen, werden hingegen verteilt (distributed). Auf einem Knoten wird hier jeweils nur ein Segment der Daten gespeichert.

Von außen betrachtet erscheint die Appliance wie ein einzelner Datenbank Server. Es spielt keine Rolle, wie die Daten physikalisch auf den einzelnen Knoten verteilt sind. Der Entwickler der Client Applikation muss sich mit diesen Details nicht beschäftigen. Die PDW übernimmt die Auflösung und das Management, welcher Teil der Abfrage auf welchen Knoten zur Ausführung geschickt wird. Diese Transparenz gibt es auch für Entwickler des Datenbank-Designs auf der Appliance: Beim Anlegen der Datenbank und der Tabellen müssen sie sich nicht um Filegroups und die Implementierung der physischen Ablage kümmern. Das macht die Appliance selbst.

Fazit

Wenn das eingesetzte Data Warehouse (DWH) an seine Grenzen stößt, gibt es zielführende Strategien, um auch zukünftige Anforderungen abdecken zu können. Bei kleineren DWHs kann die Lösung darin liegen, alle Komponenten eines SMP-Systems optimal aufeinander abzustimmen. Für sehr große, skalierbare Systeme im Terabyte-Bereich sind massiv parallele Systeme (MPP) ideal. Bei Systemen dieser Grösse spricht man auch von Enterprise Data Warehouse. Als Beispiel seien hier Oracle Exadata, Teradata Data Warehouse Appliance, IBM Netezza oder Microsoft Parallel Data Warehouse genannt. Die angebotenen Systeme der verschiedenen Hersteller sind ausgereift. Somit ist es durchaus sinnvoll, jetzt in neue Technologie zu investieren.

Literatur und Links

Trivadis
http://www.trivadis.com/

Fast Track Reference Guide für Microsoft SQL Server 2008 R2
http://msdn.microsoft.com/en-us/library/gg605238.aspx

Fast Track Reference Guide für Microsoft SQL Server 2012
http://technet.microsoft.com/en-us/library/hh918452.aspx

Microsoft Parallel Data Warehouse
http://www.microsoft.com/sqlserver/en/us/solutions-technologies/data-warehousing/pdw.aspx

HP Enterprise Data Warehouse Solution for Microsoft SQL Server
http://h71028.www7.hp.com/enterprise/us/en/partners/microsoft-enterprise-data-warehouse-solution.html?jumpid=ex_r2858_us/en/large/tsg/microsoft_edw

Dell Parallel Data Warehouse Appliance
http://www.microsoft.com/sqlserver/en/us/solutions-technologies/Appliances/Dell-pdw.aspx

Microsoft Case Study for SQL Server 2008 R2 Parallel Data Warehouse
http://www.microsoft.com/casestudies/Microsoft-SQL-Server-2008-R2-Enterprise/Hy-Vee/Hy-Vee-Boosts-Performance-Speeds-Data-Delivery-and-Increases-Competitiveness/710000000776