SQL Server “Denali” CTP 1 verfügbar–was ist neu?

Denali_MtnVorige Woche wurde auf der PASS Konferenz und der TechEd Europe die Verfügbarkeit der ersten Community Technical Preview (CTP1) der nächsten Version von SQL Server mit dem Codenamen “Denali” bekannt gegeben.

Da stellt sich natürlich die Frage: Was ist neu? Bevor ich aber auf die Neuerungen in der CTP1 eingehe ein paar Worte zum SQL Server Entwicklungszyklus: Seit SQL Server 2008 ist die SQL Server Entwicklung in viele einzelne Zweige (Branches) aufgeteilt, in denen jeweils die einzelnen Neuerungen relativ unabhängig voneinander entwickelt werden. Das hat den Vorteil, dass die jeweiligen Entwicklungsteams eigenständig arbeiten können, bis ihr Code (das “Improvement”) stabil und funktional ist. Erst dann, wenn das jeweilige Feature nahezu fertig ist wird es in den “Main Branch” eingecheckt, aus dem auch die CTP-Versionen stammen.

Für die CTP1 hat dieses Entwicklungsverfahren nun zwei Folgen: 1. Vieles was neu sein wird ist in der CTP1 noch nicht enthalten. So gibt es noch keine Neuerungen  in Analysis Services oder Reporting Services, denn diese beiden Teams hatten ja viele Neuerungen im erst im Mai erschienenen SQL Server 2008 R2. 2. Das, was drin ist gilt als stabil und kann auf Herz und Nieren geprüft werden. Daher ist dieser Artikel auch in “In CTP1 enthalten” und “Nicht in CTP1 enthalten” aufgeteilt

In CTP1 enthalten

Relationale Datenbank

Hochverfügbarkeit: Eine der Wichtigsten Neuerungen in Denali wird die neue Hochverfügbarkeitslösung “AlwaysOn” sein. Bisher gab es verschiedene Hochverfügbarkeitslösungen in SQL Server: Cluster (ausschließlich mit Shared Storage), Database Mirroring und Log Shipping als die Wichtigsten. Mit AlwaysOn in Denali werden diese Lösungen nun sowohl vereinigt als auch erweitert:

imageDie Basis von Denali AlwaysOn ist die Hochverfügbarkeitsgruppe (Availability Group). In einer Availability Group werden eine oder mehrere SQL Server Datenbanken hochverfügbar gemacht (ein gemeinsames Failover mehrerer Datenbanken ist also ohne Probleme möglich). Das ist sowohl mit Shared Storage (also wie ein bisheriger Cluster) als auch mit Non Shared Storage (wie bei Database Mirroring) möglich, und bei Non Shared Storage asynchron oder synchron (CTP1 nur asynchron). Bei Non Shared Storage hat man also mehrere Kopien (Replicas – Repliken) der Datenbank (in CTP1 ist nur eine Replica möglich). Diese Repliken können im Gegensatz zu Database Mirroring auf Wunsch lesbar gemacht und so zum Beispiel  für Reporting verwendet werden. Als Basis für die Availability Groups werden die Windows Clusterdienste verwendet, alle Maschinen befinden sich im selben Windows-Cluster. Auch dafür ist aber keine Shared Storage erforderlich, und die einzelnen Clusterknoten können sich in verschiedenen IP-Subnetzen (und sogar auf verschiedenen Kontinenten) befinden. In Summe ermöglicht AlwaysOn sehr flexible Hochverfügbarkeitslösungen je nach Verfügbarkeitszielen des Kunden

Mit “Contained Databases” wird das Verschieben von Datenbanken mitsamt der abhängigen Objekte deutlich vereinfacht. Das ist sowohl für Hochverfügbarkeit als auch für Entwicklung/Test/Produktions-Zyklen sehr vorteilhaft. In einer Contained Database sind neben der eigentlichen Datenbank auch Benutzer enthalten (die keine Logins in master benötigen) oder auch temporäre Objekte, die direkt in der Contained Database gespeichert werden.

Auch in Transact SQL gibt es einige Neuerungen. So bieten Sequences die Möglichkeit, Zahlenfolgen (z.B. für einen Primärschlüssel) außerhalb einer Tabelle transaktional konsistent zu erzeugen.

Mit der OFFSET Klausel kann man bestimmte Bereiche eines Ergebnisses abfragen, zum Beispiel um die Ergebnisse einer Abfrage seitenweise darzustellen. So holt diese Anweisung Zeilen 11-20 aus einer Tabelle:

SELECT DepartmentID, Name, GroupNameFROM HumanResources.Department ORDER BY DepartmentID OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;

Die Volltextsuche unterstützt jetzt Dateieigenschaften (z.B. Titel und Autor von Office-Dokumenten) und ermöglicht eine detaillierte Angabe innerhalb der Near-Klausel (also: alle Dokumente, wo “SQL” und “Denali” innerhalb von 3 Wörtern vorkommen)

Die geografischen Datentypen unterstützen jetzt die ganze Erde (bisher musste ein Objekt immer innerhalb einer Halbkugel sein) sowie Kreisausschnitte.

Integration Services

Die SQL Server Integration Services haben die größte Überarbeitung seit SQL Server 2005 erfahren.

So gibt es jetzt Projekte, die zusammengehörige Pakete zusammenfassen und eine gemeinsame Konfiguration ermöglichen. Diese Projekte können auch gemeinsam auf dem Zielsystem installiert werden. Wichtigstes Deployment-Ziel ist dabei der neue Integration Services Dienst, der eine zentrale Verwaltung und Ausführung von Integration Services Projekten und Paketen direkt auf dem Server ermöglicht.

Die Object Impact and Data Lineage Analysis sowie der zugehörige Dependency Designer ermöglichen eine Nachverfolgung der Folgen von Änderungen an Datenquellen und Paketen (wie der Änderung eines Spaltennamens)

Der Package Designer hat viele Änderungen erfahren, wie ein neuer Connection Designer,  die Möglichkeit der Bearbeitung bei getrenntem Input, einen besseren Mapper, der auch bei großen Spaltenzahlen übersichtlich ist, und eine Undo-Funktion.

Darüber hinaus gibt es zahlreiche Performanceverbesserungen, vor allem bei Merge und Merge join Transformationen

Was kommt nach CTP1?

Relationale Engine

Neben der Ergänzung der fehlenden Komponenten von AlwaysOn ist vor allem der Column Store Index (Codename “Apollo”) zu nennen. Damit kann man spaltenbasierte hochkomprimierte Indizes erstellen, die besonders bei Aggregationen in Data Warehouse Abfragen enorme Performanceverbesserungen ermöglichen. Die spaltenbasierte Engine, die hier verwendet wird ist schon aus PowerPivot für ihre Geschwindigkeit bekannt.

Bei den Tools wird es viele Neuerungen geben. So wird als Basis Visual Studio 2010 verwendet und die Tools werden (unter dem Codenamen “Juneau”) viele Funktionen sowohl für die relationale als auch für die BI-Entwicklung hinzugewinnen.

Mit Filetables wird es möglich sein, auf in Filestream gespeicherte Tabellen auch über ganz normale Fileshares und mit Programmen zuzugreifen, die nichts von SQL Server wissen.

Analysis Services

Unter dem Namen “BI Semantic Model” wird eine deutlich erweiterte Vertipaq- Engine (bisher in PowerPivot) auch in Analysis Services Einzug halten. Dies ermöglicht neben der extrem hohen Performance der VertiPaq Engine auch die deutlich einfachere Erstellung von nicht allzu komplexen Analysis Services Projekten. Mehr zur Positionierung findet sich hier: https://bit.ly/9xZhEr

Reporting Services

Die Wichtigste Neuerung ist hier das Projekt Crescent, eine webbasierte Anwendung zur einfachen Erstellung und Benutzung von visuell sehr ansprechenden Berichten:

vlcsnap-2010-11-15-18h21m43s25

 

Schließlich wird es mit den Data Quality Services eine neue Komponente zur Prüfung und Verbesserung der Datenqualität geben, die sich sowohl in Integration Services als auch eigenständig verwenden lässt.

Am 02. Dezember, 15:30-16:30 werde ich in einem Webcast einen Überblick über “Denali” CTP1 geben. Die Anmeldung wird demnächst hier möglich sein

Der Download der CTP1 findet sich hier, die Dokumentation hier

Gruß,
Steffen