Mark Aslan Kuschels Blog

SQL, Business Intelligence, Microsoft, .Net

Folien zum PASS Vortrag über Extended Events in Analysis Services

Vergangene Woche habe ich am Dienstag bei der Regionalgruppe der PASS in Hamburg sowie am Freitag bei der Regionalgruppe der PASS Hannover/Göttingen einen Vortrag zu meinem letzten Artikel Ermitteln der Measurenutzung in SQL Server Analysis Services gehalten.

Angehängt an diesen Post findet ihr die Folien zum Download ebenso wie die Code-Beispiele. Das SSIS Paket ist nun auch verbessert, sodass es für jede Abfrage nun mehrere Zeilen mit allen Measures ausgibt (Danke an Sascha für den Hinweis).

Ebenso möchte ich mich noch für den Tipp bedanken, dass nun die neuen SQL Server Data Tools Business Intelligence für Visual Studio 2012 verfügbar sind, denn der Fly-To-The-Moon-Bug ist tatsächlich behoben worden.

Zum Schluss noch der Link zum Buch SQL Server Internals von Kalen Delaney, das mir als Wertvolle Quelle für die Abläufe im SQL Server dient: http://www.amazon.de/gp/product/0735658560/ref=as_li_ss_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=0735658560&linkCode=as2&tag=irgenddasvisu-21 

Download Folien & Code: PASS_XE_SSAS.zip (1,3MB)

Windows Server 2012–Neue Features für den SQL Server

dreht sich bei Microsoft sehr viel um Windows 8, die neue Oberfläche sogt gleichermaßen für Bewunderung und Begeisterung, aber auch für Hohn und Aufruhr. Wie so oft gerät dabei schon fast in Vergessenheit, dass der neue Windows Kern auch in das Server Betriebssystem Einzug findet und zur Veröffentlichung von Windows Server 2012 führt. Und auch hier wird es Kacheln geben, wenn auch etwas anders, denn das Serversystem wird überwiegend über den Server Manager gesteuert, dessen Kacheln nunmehr an ein Dashboard erinnern. Meistens ist die Veröffentlichung eines neuen Server Betriebssystems für den SQL Server eher unspektakulär, außer dass mehr Kerne und mehr RAM unterstützt werden – dieses Mal jedoch wird es etwas anders sein.

Windows 8 UI

Ob hübsch oder nicht, dieses Urteil kann sich jeder selber bilden. Fest steht, wer einen Windows Server 2012 administrieren möchte, muss zwar das neue Startmenü nicht unbedingt benutzen, da sich Alles wichtige mit dem Server Manager erreichen lässt, jedoch ist auch dieser nun gekachelt. Der Server Manager präsentiert sich nun zum Start immer mit einem Dashboard, das darstellt in welchen Kategorien oder Servern verschiedene Ereignisse aufgetreten sind. Verglichen zum Windows Server 2008 R2 Server Manager wirkt es übersichtlicher und aufgeräumter. Da das hier ein SQL Server Artikel ist, möchte ich nicht zu viel darüber schreiben.

image image
Links: Windows Server 2008 R2 Server Manager, Rechts: Windows Server 2012 Dashboard

SMB 3.0 Server Message Block

Server Message Block, kurz SMB, ist das Protokoll mit dem Windows Dateien über Netzwerkfreigaben austauscht. SMB kann man für seine Einfachheit lieben und für seine Macken hassen. Die meisten kennen SMB über die Windows-Freigabe zwischen Computern und Servern zum Austausch von Dateien oder dem gemeinsamen Nutzen von Druckern. Mit den letzten Windows Server Releases wurden von Microsoft Erweiterungen für SMB eingeführt, die neue Möglichkeiten erschlossen haben, wie z.B. der BranchCache in Windows Server 2008 R2. Für die meisten Nutzer hatte sich aber nicht wirklich etwas geändert. Wer zuverlässige Verbindungen zwischen Systemen braucht hat sich jedoch bisher selten auf SMB verlassen und andere, teilweise sehr teure, Lösungen eingeführt. In SMB 3.0 hat Microsoft eine ganze Reihe von Neuerungen, die SMB einen Schub in Zuverlässig und Performance geben werden. Schauen wir kurz in die wichtigsten rein

SMB Direct (SMB über Remote Direct Memory Access (RDMA))

SMB in seiner bisherigen Variante dient als Übersetzer zwischen der Speicher-Architektur zweier Systeme um so Daten austauschen zu können, ohne dass die jeweils andere Seite über Kenntnisse dessen Speicher-Architektur verfügen muss. Das bedeutet einerseits, dass der Zugriff einfach möglich ist, ohne dass außer Zugriffsrechten sonstige technische Vorkehrungen nötig sind, jedoch auch, dass SMB einen Overhead erzeugt.
Wer größere Dateien im Netzwerk kopiert hat kann davon ein Lied singen. Der Arbeitsspeicherverbrauch des Explorers ist immens und wenn dem System der Arbeitsspeicher ausgeht leidet die Geschwindigkeit des Kopiervorgangs massiv, auch wenn das Netzwerk sowie Ziel- und Quelldatenträger eigentlich noch deutlich mehr hergeben.

Erinnert Sie das an etwas? Lange ist es her, da gab es eine ähnliche Situation beim Zugriff auf lokale Laufwerke, als der PIO-Modus noch Standard war. Eine Erweiterung des IDE-Protokolls, namentlich Direct Memory Access (DMA), schaffte hier Abhilfe, denn mit DMA kann das Betriebssystem direkt auf den Speicher des Controllers zugreifen und kann sich somit den Umweg über Prozessor und System-Arbeitsspeicher sparen. Ein damals viel gebräuchlicher Trick war es unter Windows 98 genau dieses Feature im Geräte Manager auf dem jeweiligen Datenträger zu aktivieren um seinen PC schneller zu machen. Dieses einfache wie auch geniale Konzept überträgt Microsoft mit SMB 3.0 nun auf das Netzwerkprotokoll!
Vorausgesetzt Sender und Empfänger sprechen beide SMB 3.0, sprich sind entweder Windows Server 2012 oder Windows 8 Geräte und die Hardware spielt mit, lässt sich über das Netzwerk eine direkte Verbindung mit dem Speichercontroller des Datenträgers auf der Gegenseite herstellen und somit die Daten direkt hinein pumpen.
Dadurch sind nicht nur die Belastung auf beider Systeme, sondern auch es sind auch höhere Datendurchsätze möglich. SMB wird somit plötzlich interessant, wenn es darum geht große Dateien, die vielen Änderungen unterliegen, über das Windows-Netzwerk bereitzustellen.

SMB Multichannel und Transparentes Failover

Über SMB Multichannel lassen sich nun mehrere Netzwerkkarten nutzen um den Datenverkehr einer Netzwerkfreigabe zu bewältigen. Dies bringt neben einer höheren Datendurchsatzrate auch den Vorteil den Datenverkehr auf verschiedene Netzwerke aufteilen zu können, um so bei Ausfall eines Netzwerkes den Server ohne Unterbrechung weiter erreichbar zu halten.
Darüber hinaus trägt auch die Funktion des transparenten Failovers nun in einem Cluster zu einer verbesserten Verfügbarkeit von Netzwerkfreigaben bei. Im Falle von Wartungsarbeiten oder eines Hardware- bzw. Softwarefehlers kann nun der aktive Knoten der Netzwerkfreigabe geändert werden, ohne dass dies einen Einfluss auf geöffnete Dateien oder laufende Datentransfers hat, lediglich ein kurzes Zucken bei der Performance dürfte sich bemerkbar machen.

Viele weitere Neuerungen

Was natürlich nicht fehlen darf ist, dass Windows Server 2012 nun wieder deutlich größere Hardware unterstützt. Die größten Verbesserungen gibt es dabei im Bereich der Virtualisierung. Mit Hyper-V gehostete virtuelle Maschinen können nun bis zu 64 CPU Kerne zugeordnet werden, virtuelle Disks dürfen bis 32 TB wachsen und einer VM kann bis zu 1TB Arbeitsspeicher zugeordnet werden. Damit wird Hyper-V nun auch zum Hosten für Rechen- und Speicherintensive Anwendungen, wie einem Enterprise Datawarehouse, interessant.

Ressource

Maximale Anzahl

Verbesserung
Windows Server 2008 R2 Windows Server 2012
Logische Prozesoren (Hardware) 64 320 5x
Physikalischer Speicher 1 TB 4 TB 4x
Virtuelle CPUs pro Host 512 1.024 2x
Virtuelle CPUs pro VM 4 64 16x
Speicher pro VM 64 GB 1 TB 16x
Aktive VMs 384 1.024 2.7x
Virtuelle Disk Größe 2 TB 64 TB 32x
Cluster Knoten 16 64 4x
VMs im Cluster 1.000 4.000 4x

Daneben stehen natürlich eine Vielzahl weiterer Neuerungen des Windows Server 2012, die hier nicht alle behandelt werden können, wie z.B. eine integrierte Funktion zur Datendeduplizierung, Neuerungen in RemoteFX unter anderem zur Unterstützung mehrerer Client-Monitore, die neue virtuelle Switch-Architektur in Hyper-V und und und!

Und wie ist das jetzt mit dem SQL Server?

Dass die erhöhte Hardwareunterstützung ein Vorteil für große SQL-Server-Installationen ist und zu Konsolidierungszwecken genutzt werden kann, dürfte auf der Hand liegen. Auch bei der möglichen größeren Ausstattung von VMs ist Ähnliches möglich, doch die wirklich spannenden Verbesserungen bringen die oben angesprochenen SMB 3.0 Features mit sich.

Um bei einem SQL-Server eine hohe Transaktionsperformance erreichen zu können wird bis Windows Server 2008 R2 meistens auf Fibre-Channel-Anbindung von SANs gesetzt, ein recht teures Unterfangen. Die Preise in Rechenzentren belaufen sich je nach Geschwindigkeit des Fibre-Channel-Adapters zwischen 1,5 € und 3,0 € pro GB pro Monat.
Nach Angaben von Microsoft (basierend auf der Hewlett Packard Preisliste Mai 2012) sollen sich durch die Nutzung von SMB via Infiniband oder 1GbE Netzwerkkarten ein bis zu 90% geringerer Preis ermöglichen lassen.
Bei einem vergleich von mehreren zusammen geschalteten 1Gbit Ethernet-Netzwerkkarten mit SMB+ gegen 4Gbit Fibre-Channel zeigte sich gerade mal ein Verlust von 2% bei 4300 SQL-Transaktionen pro Sekunde.

Für den SQL Server Administrator ändert sich dadurch nicht viel. Während bisher ein per Fibre-Channel angebundenes SAN als Windows-Laufwerk auf dem Host oder der virtuellen Maschine bereit gestellt worden ist, kann nun einfach ein Netzwerkpfad als Speicherort für Datenbankdateien und Transaktionsprotokolle angegeben werden.
Der SQL Server 2008 R2 unterstützt diese Konfiguration jedoch nur eingeschränkt, so ist es beispielsweise nicht möglich die Systemdatenbanken (master, msdb, model) auf einer Netzwerkfreigabe abzulegen oder Netzwerkfreigaben im SQL Server Cluster zu nutzen.

Von großem Nutzen sind aber auch die Verbesserungen in Hyper-V. SQL-Server-Installationen werden immer öfter virtualisiert, was oft nicht gerade zur Freude von Datenbankadministratoren geschehen ist. Oftmals waren die Beschränkungen in Sachen CPU-Kern und RAM-Unterstützung ein Hindernis, aber gerade in kleinen Umgebungen, die nicht über eine SAN Verfügen, waren Offlinezeiten beim Verschieben einer virtuellen Maschine ein Ärgernis. Durch die Unterstützung von VHDx-Dateien auf SMB 3.0 Dateifreigaben und die Shared-Nothing-Livemigration sind diese Probleme nun auch gelöst und können Datenbankadministratoren ruhiger schlafen lassen, wenn ihr Server virtualisiert worden ist.

Zu guter Letzt möchte ich noch auf eine Neuerung hinweisen, die Performance für SQL-Server mit hoher I/O-Last bringt. In Windows Server 2012 werden Laufwerke 4K-Sektorgrößen nun nativ unterstützt. Seit 2009 stellt die Industrie von Speichermedien schrittweise auf 4K (statt bisher 512bytes) Sektoren, da bei fortschreitender Miniaturisierung die kleinen Startblöcke vor dem Sektor und Prüfblöcke nach dem Sektor immer schwieriger anzusteuern sind. Somit bietet es sich an die Sektoren zu vergrößern und damit auch einen größeren Start-und Prüfblock auf dem Speichermedium anzulegen.
Da jedoch die Betriebssysteme weiterhin von einem 512byte-Sektor ausgehen müssen die Laufwerke einen Emulationsmodus bereitstellen. Dies bedeutet auch, dass wenn das Betriebssystem eigentlich nur einen 512byte Sektor schreiben möchte, muss das Laufwerk acht Sektoren schreiben, womit das Betriebssystem jedoch nicht rechnet. Somit sind bei vielen Lese/Schreiboperationen deutliche Performanceverluste möglich, ein Szenario das gerade bei virtuellen Maschinen und SQL-Servern eintritt.

Fazit: Windows Server 2012 bringt viele Verbesserungen im Speichermanagement mit, die zu Leistungsverbesserungen und signifikanten Kosteneinsparungen genutzt werden können. In jedem Fall wird dies die Herzen von Datenbankadministratoren und Kostenverantwortlichen höher schlagen lassen.

 

Post im Original im PTS BI Blog http://biblog.ptsgroup.de/sql-server/windows-server-2012neue-features-fr-den-sql-server/