Interview mit BASTA!-Speaker Robert Panther zu den Performance-Features von SQL Server 2016

SQL Server 2016 – so kitzelt man mehr Performance aus der Datenbank
Kommentare

Am 1. Juni 2016 war es endlich soweit: SQL Server 2016 ist verfügbar. 26 Monate sind seit dem Release des Vorgängers ins Land gegangen, dafür bietet die neue Version eine ganze Reihe spannender Features. Neben diversen Verbesserungen im Bereich Sicherheit sind insbesondere die Neuerungen im Bereich Performance interessant. Ob sich die lange Entwicklungszeit also gelohnt hat und wie man jetzt eine noch bessere Performance aus der Datenbank herauskitzelt, klären wir im Gespräch mit Robert Panther.

BASTA!-Speaker Robert Panther hält auf der BASTA! Herbst die Session „SQL-Server-2016-Performancefeatures„ und ist damit der perfekte Gesprächspartner, um eine Bestandsaufnahme zu machen: Welche Features versprechen besondere Benefits in puncto Performance, wo setzen diese Features an und welche Funktionalitäten vermisst man immer noch.

Schon in den Vorversionen von SQL Server 2016 waren Columnstore Indizes und In-Memory-Tabellen überarbeitet worden. Sie lassen sich mittlerweile sogar kombiniert einsetzen. Was ist der Vorteil eines solchen kombinierten Einsatzes?

Robert Panther: Während die neuen updateable nonclustered Columnstore Indizes performante Echtzeit-Analysen auf OLTP-Datenbanken ohne separates Data Warehouse ermöglichen, lässt sich durch In-Memory Tabellen eine bis zu 30-fach schnellere Verarbeitung von Transaktionen erzielen. Durch Kombination beider Technologien sind weitere signifikante Performance-Verbesserungen möglich. Dies wird realisiert, indem die geänderten Daten, die beim Updateable Columnstore Index noch in Delta-Rowgroups gehalten wurden, nun in In-Memory Tabellen abgelegt werden und damit ebenfalls sehr schnell zugreifbar sind. Aber auch der Columnstore Index selbst wird vollständig im RAM gehalten, so dass diese Daten sowohl vom Columnstore Index als auch von der In-Memory-Speicherung profitieren. Insgesamt ergibt sich dadurch eine erheblich schnellere Abfragegeschwindigkeit für Data Warehouse Lösungen. Microsoft spricht hier von einer über 100-fachen Beschleunigung. Wie stark dieser Faktor bei realen Lösung tatsächlich aussehen wird, muss die Praxis zeigen.

Insgesamt ergibt sich eine erheblich schnellere Abfragegeschwindigkeit für Data Warehouse Lösungen.

Ein weiteres neues Feature ist der SQL Server Query Store. Um was handelt es sich dabei?

Robert Panther: Mit dem Query Store lassen sich Informationen zur Ausführung von Abfragen auf ausgewählten Datenbanken aufzeichnen. Somit sind beispielsweise die verwendeten Ausführungspläne auch nach einem Neustart des SQL Server Dienstes noch verfügbar und können zusammen mit Statistiken zur Ausführung der Abfrage über vorgefertigte Reports komfortabel analysiert werden. Für individuelle Abfragen des Query Stores stehen entsprechende Dynamic Management Views zur Verfügung.

Ebenfalls spannend klingen die Live Query Statistics. Welche Vorteile bringt dieses Feature im daily business?

Robert Panther: Vor SQL Server 2016 konnte man sich entweder geschätzte Ausführungspläne anzeigen lassen, die im Einzelfall aber von den tatsächlichen Ausführungsplänen abweichen können, oder aber die tatsächlichen Ausführungspläne, nachdem die Abfrage komplett ausgeführt wurde. Mit den Live Query Statistics lässt sich der Ausführungsplan einer Abfrage nun anzeigen, während diese läuft. Dabei lassen sich verschiedene Werte zur Laufzeit beobachten (beispielsweise wie viele Zeilen einen bestimmten Schritt bereits durchlaufen haben), die Abfrage lässt sich bei ungünstigem Plan aber auch leicht abbrechen, ohne deren komplettes Ende oder einen eventuellen Timeout abwarten zu müssen. Was auf den ersten Blick also wie eine grafische Spielerei erscheinen mag, wird in vielen Fällen das Debugging von SQL-Abfragen deutlich vereinfachen und damit die Produktivität der Entwickler erhöhen.

Mit den Live Query Statistics lässt sich der Ausführungsplan einer Abfrage nun anzeigen, während diese läuft.

Gibt es bei SQL Server weitere performancerelevante Features, die Ihnen wichtig erscheinen?

Robert Panther: Es gibt tatsächlich noch eine ganze Reihe an weiteren Neuerungen im Performance-Bereich, die auf den ersten Blick nicht ganz so offensichtlich sind. So ist die Anzahl der Extended Events von 870 auf über 1.300 deutlich angestiegen, wodurch noch detailliertere Performance-Analysen ermöglicht werden. Dazu ist eine Reihe von Settings nun per Default auf bessere Performance konfiguriert: Bei der Neu-Einrichtung einer SQL Server Instanz wird gemäß Best Practices pro CPU-Kern ein TempDB-File erzeugt (bis zu maximal 8) und auch die Trace Flags 1117 (Auto Grow Equally) und 1118 (Uniform Extent Creation) sind per Default schon aktiv.

Welche Features würden Sie sich für die nächste SQL Server 2016 Version wünschen, um noch mehr Performance aus der Datenbank herauszukitzeln.

Robert Panther: Eine gute Frage: Bei all den neuen Performance-Features wird es sicherlich noch eine Zeit dauern, bis man abschätzen kann, wie sehr sich diese auf echte Produktionsdatenbanken auswirken und in welchen Bereichen dann noch Engpässe bestehen. Aber auch bei SQL Server 2016 gibt es natürlich noch einige Einschränkungen für neuere Technologien wie Columnstore Indizes und In-Memory-Tabellen, die man in der Zukunft gerne los wäre (auch wenn viele davon mit SQL 2016 bereits aufgehoben wurden). Aufgrund der Architektur von Columnstore Indizes ist es aber nachvollziehbar, dass eine Unterstützung von LOB-Datentypen (wie beispielswiese nvarchar(max)) hier kaum realistisch scheint und auch wenig Sinn macht. Abseits von Performance-Themen würde ich mir wünschen, dass ein einfacher T-SQL Beautifier, mit dem sich SQL-Abfragen auf Knopfdruck in eine übersichtlichere Form bringen lassen, seinen Weg ins SQL Server Management findet. (Zusatztools von Drittanbietern gibt es dafür bereits einige.)

Schnell und überall: Datenzugriff mit Entity Framework Core 2.0

Dr. Holger Schwichtenberg (www.IT-Visions.de/5Minds IT-Solutions)

C# 7.0 – Neues im Detail

Christian Nagel (CN innovation)

 

Aufmacherbild: concept. steel hdd turbocharger of car via Shutterstock / Urheberrecht: Iaroslav Neliubov

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -