Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Jens K. Süßmeyer, Daniel Walzenbach DB Consultant, Developer Evangelist Microsoft Deutschland GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "Jens K. Süßmeyer, Daniel Walzenbach DB Consultant, Developer Evangelist Microsoft Deutschland GmbH."—  Präsentation transkript:

1 Jens K. Süßmeyer, Daniel Walzenbach DB Consultant, Developer Evangelist Microsoft Deutschland GmbH

2 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

3 VARBINARY(MAX) Unstrukturierte Daten werden direkt in NTFS Dateisystem gespeichert Zwei Programmiermodelle T-SQL (genau wie SQL BLOB) Win32 Streaming APIs mit T-SQL transaktionaler Semantik Transaktionales Verhalten Bessere Handbarkeit Backup/restore SQL Server Sicherheit Dateigröße nur durch das Dateisystem limitiert BLOBs in DB + Datei- system speichern AnwendungAnwendung BLOB DB

4 { Unstrukturierte Daten } Der FileStream Datentyp

5 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

6 DateTimeOffset(n)DateTimeOffset(n) DateTime2(n)DateTime2(n) DateDate Time(n)Time(n)

7 Enthält nur den Datumswert Feste Größe von 3 byte Spanne: – Bsp: ,

8 Enthält nur den Zeitwert Variable Größe von 3-5 byte (je nach konfigurierter Genauigkeit) Genauigkeit bis zu 100 Nanosekunden möglich) Bsp: 08:17:

9 Datum und Uhrzeit inklusive der Zeitzonenverschiebung Variable Größe von 8-10 byte (je nach konfigurierter Genauigkeit, bis zu 100 Nanosekunden möglich) Bsp: :17: :00

10 Kombination aus dem neuen Date und Time Datentyp mit erweiterter Spanne und Präzision Variable Größe von 6-8 byte (je nach gewünschter Genauigkeit) Genauigkeit bis zu 100 Nanosekunden möglich) Spanne von – Bsp: :17:

11 Erweiterung des SqlDbType Enum und der Clientbibliotheken SQL Server Type.NET Type dateSystem.DateTime timeSystem.TimeSpan datetimeoffsetSystem.DateTimeOffset datetime2System.DateTime

12 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

13 Perfekter Einsatz für Unternehmensorganisation, Stücklisten, etc… Repräsentiert eine Position in einer Hierarchie Kompakte/effiziente Speicherung Beliebige Datensätze speichern/löschen Leistungsfähige Abfragen GetRoot, GetLevel, IsDescendant, ReParent, etc.

14 Parent ID <- ChildID Einfach Daten einzupflegen aber… Aufwändig in der Abfrage Rekursion

15 Neuer Built-In Datentyp – HierarchyID SQLCLR basierte System UDT Kann auch in.NET (VB.NET, C#) verwendet werden (SqlHierarchyId) Als path enumeration model implementiert (ORDPATH) HierarchyID (SQLCLR Typ) kann erweitert werden Von dem Typ ableiten Um Methoden und Properties erweitern

16 Da HierarchyID ein SQLCLR Typ ist Kann von dem Typ abgeleitet werden Erweitern um Methoden und Properties

17 Knoten in einem Unterbaum sind benachbart angeordnet Effizient für Fragen nach Unterbäumen Suche nach allen Dateien in diesem und den untergeordneten Ordnern CREATE UNIQUE INDEX Org_Depth_First ON Organization(EmployeeID)

18 Knoten in einer Ebene sind benachbart angeordnet Effizient für Fragen nach direkt unterstellten Knoten Suche nach allen Angestellten eines Managers CREATE CLUSTERED INDEX Org_Breadth_First ON Organization(OrgLevel,EmployeeID)

19 { Hierarchische Daten } Hierarchische Struktur anlegen verwalten

20 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

21 Für einen Abgleich müssen drei separate statements erzeugt werden (INSERT/UPDATE/DELETE) und nacheinander ausgeführt werden Eine explizite Transaktion muss über alle DML Operationen separat gepflegt werden um bei Fehlern das Rollback zu ermöglichen

22 Bietet die Möglichkeit für die gleichzeitige Verwendung von DML Operationen (INSERT / UPDATE / DELETE) in einer Anweisung Bietet die Möglichkeit Änderungen in einem Batch durch den Client übertragen zu lassen und die Logik serverseitig auszuführen Befüllungen eines DataWareHouse BatchUpdate von Clients Synchronisieren von Datenquellen

23 [ WITH [,...n] ] MERGE [ TOP ( expression ) [ PERCENT ] ] [ INTO ] target_table [ [ AS ] table_alias ] [ WITH ( ) ] USING (… 58 lines of syntax following…) [ WITH [,...n] ] MERGE [ TOP ( expression ) [ PERCENT ] ] [ INTO ] target_table [ [ AS ] table_alias ] [ WITH ( ) ] USING (… 58 lines of syntax following…)

24 WHEN MATCHED (INNER JOIN) Ermöglicht Operationen wenn Datensätze sowohl in der Quelle als auch im Ziel vorhanden sind WHEN [TARGET] NOT MATCHED (LEFT OUTER JOIN) Ermöglicht Operationen wenn Datensätze in der Quelle aber nicht im Ziel existieren

25 WHEN SOURCE NOT MATCHED (RIGHT OUTER JOIN) Ermöglicht Operationen wenn Datensätze im Ziel aber nicht in der Quelle existieren

26 MERGE ist transaktional und benötigt keine explizite Transaktion für die beinhaltetenden DML Operationen MERGE löst Trigger nur einmal pro Aktion aus (BTW: Triggers are fired per statement NOT per row! ) $action ermöglicht es die ausgeführte Aktion (INSERT / UPDATE / DELETE) des Datensatzes zu erkennen

27 UPDATE Nicht-deterministisch: Mehrere gefundene (durch ON clause) Datensätze in der Quelltabelle MERGE Deterministisch: Join (ON clause) erwartet einen eindeutigen Datensatz in der Quelle

28 { Merge } Die Verwendung von Merge Statements

29 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

30 Komplett neue Volltextsuche Architektur Volltextsuche als Feature der Datenbank Volltextkataloge sind in DB inregriert Umfassend Konfiguration von Noise Words Noise Word Konfiguration bleibt bei Backup/Restore und Detach/Attach intakt Suchergebnisse visualisieren Verbesserte Suchergebnisse Query und Indexing Performance deutlich gesteigert

31 { Integrierte Volltextsuche } Volltextindex anlegen, abfragen, mit SQL Server 2005 vergleichen

32 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

33 Batch Updates benötigten bisher mehrere Roundtrips zum Server um einen Abgleich zu machen Senden von strukturierten Daten war bisher nicht möglich, außer diese auf dem Server wieder zu zerlegen (TextArrays, XML, Binärdaten) Untypisierte Daten führten oftmals zu serverseitigen Fehlern

34 Grundlage sind benutzerdefinierte Tabellentypen Erweiterung der benutzterdefinierten Typen, der Typ wird in sys.table_types persistiert Erweiterung der bestehenden Create Type Syntax CREATE TYPE myTableType AS TABLE (id INT, name NVARCHAR(100),qty INT); myTableType

35 Table-valued parameters Verwendung von benutzerdefinierte Tabellentypen für die temporäre Speicherung von und den lesenden Zugriff auf die Daten (READONLY) Vereint Vorteile von Tabellenvariablen und temporären Tabellen

36 Ermöglicht die Übergabe als SqlParameter von Instanzen der Typen DataTable DbDataReader System.Collections.Generic.IList Unterstützung der client stacks OLEDB/ODBC/ADO.NET Erweiterung der.NET (3.x) Client durch den neuen SqlDbType Structured

37 Ermöglicht große Mengen an Daten vom Client an den Server effizient (zur weiteren Verarbeitung) zu übertragen Bietet die Möglichkeit Parameter / Datensätze an Routinen in einer Variable zu übergeben (vs. XML, BLOB, CSV und andere Möglichkeiten die zusätzliche Verarbeitungen benötigen) Verringert bei großen Datenmengen die Anzahl der erzeugten Roundtrips erheblich

38 { Table-valued parameters} Mit Table-valued parameters arbeiten

39 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

40 Geodaten sind vielfältig einsetzbar Planare (ebene Welt) und geodätische (runde Welt) Algorithmen Visualisierung von Geodaten mit dem Virtual Earth SDK Austausch von Geodaten über GML XML Integration von Geodaten in.NET Anwendungen Verbesserte Performance durch Spatial Indexes ,

41 Geodätisches Modell (Runde Erde) Beschreibt Punkte, Linien und Gebiete durch Längen- und Breitengrade Berechnet Erdkrümmung und berücksichtigt korrekte Großkreis-Entfernungen

42 Ebenes Modell (Flache Erde) Beschreibt Punkte, Linien und Gebiete durch X/Y Koordinaten Einsetzbar für kleine Gebiete und nichtprojezierte Oberflächen wie Innenräume, etc.

43 OGC Methoden (43) Erweiterte Methoden (10) OGC Statische Methoden (16) Erweiterte Statische Methoden (4)

44 { JobScout24 } Sven Schneider Teamleiter Softwareentwicklung JobScout24

45 { Geodaten } Übersicht Geodaten Mit Geodaten arbeiten

46 Mit unstrukturierten Daten arbeiten Neue Zeiten sind angebrochen Hierarchische Daten MERGE Integrierte Volltextsuche Table Value parameters, Table row constructor Geodaten Goodies

47 C# Unterstüzung für SSIS-Tasks Large UDTs Die Größe von 8k wurde gebrochen, neue mögliche Größe der UDTs ist 2GB Intellisense in SQL Server Management Studio

48 Row constructors SELECT * FROM (VALUES (10002,1,12,1,12), (10003,1,12,1,12) ) AS SomeOrders(OrderId, ProductId, UnitPrice, Quantity, Discount) SELECT * FROM (VALUES (10002,1,12,1,12), (10003,1,12,1,12) ) AS SomeOrders(OrderId, ProductId, UnitPrice, Quantity, Discount)

49 Row constructors Insert Into [Order Details] VALUES (10001,1,12,1,12), (10002,1,12,1,12), (10003,1,12,1,12)

50 INSERT over DML Erweiterung zu OUPUT INTO Anweisung Ermöglicht die Speicherung und Verarbeitung der DML relevanten Informationen (INSERTED /DELETED / $Actions) Update [Order Details] SET Discount = 0 WHERE Price < 10 Update [Order Details] SET Discount = 0 WHERE Price < 10 Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId INTO OrdersThatChanged WHERE Price < 10 Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId INTO OrdersThatChanged WHERE Price < 10 INSERT INTO OrdersThatChanged (OrderId,PosId) SELECT OrderId,PosId FROM ( Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId WHERE Price < 10 ) ChangedOrders (OrderId, PosId) WHERE ProductId > 1000 INSERT INTO OrdersThatChanged (OrderId,PosId) SELECT OrderId,PosId FROM ( Update [Order Details] SET Discount = 0 OUTPUT DELETED.OrderId, DELETED.PosId WHERE Price < 10 ) ChangedOrders (OrderId, PosId) WHERE ProductId > 1000

51 Zuweisungsoperatoren +=, -=, *=, /=, &=,|=,%=,^= UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = Variableninititalisierungen INT = 0

52 Variableninititalisierungen Zuweisungsoperatoren +=, -=, *=, /=, &=,|=,%=,^= UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = UPDATE [Order Details] SET Discount *= 1.1 FROM [Order Details] OD INNER JOIN Orders OD ON O.OrderId = OD.OrderId WHERE OrderId = INT = 0

53 Intellisense :-)

54 SQL Server 2008 ermöglicht ein effektiveres Arbeiten mit Daten Geo- und unstrukturierte Daten T-SQL Verbesserungen Neue Datentypen Synchronisierungen von Daten ADO.NET Entity Framework …

55 Learn more about data programmability Learn more about spatial data Learn more about SQL Server Discover SQL Server 2008: Webcasts, Virtual Labs, and White Papers SQL Server 2008 training Download latest SQL Server CTP Join the SQL PASS community

56 Visual Studio Team System Information Day Regelmäßige ganztägige Informationsveranstaltung von Microsoft Praxisnahe Demos & viel Raum für Diskussionen Details & Anmeldung: TeamConf 2008 – Die Visual Studio Team System Konferenz VSTS in der Praxis April 2008 in München Anwenderberichte (Siemens, ABB, Commerzbank, Datev, Münchener Rück,..) Fach- und Technologievorträge Vortragsprogramm und Anmeldung: Visual Studio Launch Promotion Tauschen Sie Ihre Visual Studio Standard in eine höherwertige Visual Studio Edition Ihrer Wahl Anrechnung in Höhe von 299 beim Kauf eines anderen VS Produktes vom 19. Februar bis zum 30. April 2008 Nur bei den Partnern: PC Ware, SoftExpress, SOS und Zoschke (befinden sich alle in der Ausstellerhalle)

57 Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.

58 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "Jens K. Süßmeyer, Daniel Walzenbach DB Consultant, Developer Evangelist Microsoft Deutschland GmbH."

Ähnliche Präsentationen


Google-Anzeigen