SQL Server 2005 und DB2 8.2 Vergleichende Analyse


Der Vergleich der Ergebnisse dargelegt

Diese Datenbank-Plattform im Vergleich der beiden Ergebnisse in den Aufbau einer Datenbank-Anwendung mit SQL Server 2005 (Codename "Yukon") in Kombination mit Visual Studio für die Entwicklung als die Verwendung von DB2 UDB 8.2 (Codename "Stinger") in Kombination mit Visual Studio haben einen erheblichen Vorteil. In der Entwicklung, Debugging und Bereitstellung von Datenbank-Lösungen, werden diese Vorteile in Geld und Zeit in Einsparungen. In diesem markieren Sie die SQL Server 2005 verglichen mit dem DB2 UDB 8.2 auf. NET-Unterstützung für Datenbank-Objekte auf ein breites Spektrum von mehr. Darüber hinaus werden Sie beim Aufbau und Verwaltung von Datenbank-Objekten, SQL Server 2005 und Visual Studio integriert Niveau als DB2 UDB 8.2 und Visual Studio-Integration stärker zu finden. In diesem Artikel werden Sie auch den SQL Server 2005-Entwicklungsplattform von der relationalen Datenbank zusätzlich vorausgesetzt, es gibt viele andere Funktionen, die mehr als DB2 UDB 8.2.

Vorwort

In der Vergangenheit IT-Entwicklungs-Technologien in einer Programmiersprache, Produktkonfiguration und Datenmanipulation Umfeld dieser drei unabhängigen Sachverstand. Um den integrierten Einsatz dieser Fähigkeiten erfordern oft unabhängige technische Know-how und jede Menge Manpower. Jetzt, mit SQL Server 2005 und Visual Studio 2005, haben wir eine einheitliche Entwicklungsumgebung integrierte Programmierumgebung Modell, das eine ganzheitliche Lösung bietet, inklusive der Client-Datenbank-Applikationen, Server-Management-Tools und Server-Seite Datenbank-Objekte Construction. Auf Werkzeuge und Frameworks wie funktionelle Verbesserung wird es Entwicklern und Kunden davon profitieren können, weil sie die Verfügbarkeit von Anwendungen, Performance, Sicherheit und Skalierbarkeit müsste ein umfassendes Upgrade zu bringen.

SQL Server 2005 und DB2 8.2 auf Visual Studio-Umgebung und Datenbank-Datenprovider Integration wird eine Vereinfachung und Verbesserung der Prozess der Anwendungsentwicklung. Sie bieten die Produktivität zu verbessern, bauen und Bereitstellen von Anwendungen Tools, welche die Entwicklung und Anwendung auf das Programm-Management wird zu einer besseren Leistung führen. SQL Server 2005 und DB2 UDB 8.2 auf. NET Framework Integration gebracht hat eine effizientere und flexiblere Datenbank-Entwicklungsumgebung, dies wurde effizienter als die frühere Version der Umsetzung einer robusten Datenbank-Lösung, es haben eine bessere Benutzerfreundlichkeit und Skalierbarkeit. Durch den Einsatz von integrierten. NET-Umgebung, Datenbank-Entwickler können den SQL-Code nicht möglich, bevor die erzielten Ergebnisse zu erzielen verwenden. Durch die Verwendung der. NET Framework, Entwickler Code schreiben, um komplexere Logik haben, besser geeignet für die Lösung Rechenprobleme, und zu externen Systemen und Netzwerk-Ressourcen, da der Zugang. NET-Sprachen wie Visual Basic, C # und C + +, sind vollständig objektorientierte Programmiersprache, mit wie Kapselung, Vererbung und Polymorphismus wie objektorientierte Programmierung bietet. Sie haben auch viele, die nicht in der Sprache SQL Funktionen existieren, wie zB Arrays, strukturierte Ausnahmebehandlung, Sammlung und so weiter.

Heute bietet Microsoft. NET den modernsten und effizientesten zu erstellen und Datenbank-Anwendungen zu integrieren Umwelt. In diesem Artikel werden wir vergleichen Sie die SQL Server 2005 und DB2 UDB 8.2, bzw. zur Verfügung gestellt. NET-Integration Ebene. Um in vollem Umfang verdeutlichen den Unterschied, werden wir einen ausführlichen technischen Präsentation, die Differenz mit dem SQL Server 2005 und DB2 UDB 8.2 für a. zeigen NET Stored Procedures in der spezifischen Schritten.

Vergleich der Kerntechnologie

Obwohl SQL Server 2005 und DB2 UDB 8.2 sind. NET Framework und Visual Studio, aber das Ausmaß ihrer Integration integriert hat signifikante Unterschiede. Die folgende Tabelle listet diese auf ihre. NET-Integration Grad der Vergleich.



Data Provider

SQL Server 2005 und DB2 UDB 8.2 sind bis. NET Data Provider ermöglicht. NET-Client-Programm können die Datenbank-Plattform zugreifen. Diese "natürlichen" Datenlieferanten und Daten-basierten OLE DB-Provider, als die Server-Anwendung wird in eine bessere Leistung und Skalierbarkeit führen. Beide Data Provider haben sehr ähnliche Funktionen, können grundlegende ADO.NET-Objekte, einschließlich Connection, Command, DataReader, DataSet durchführen und DataAdapter. Aber sie haben einen entscheidenden Unterschied: SQL Server. NET Data Provider ist in zwei Modelle, eines für die Client-Anwendung zur Verfügung, eines für die Server-seitige Anwendungen. Dies ist für die serverseitige Anwendungsentwicklung ist besonders wichtig, weil der SQL Server-Server-Seite. NET Data Provider ist ein Wohnsitz in der Erinnerung an das Programm, das nicht wie die Data Provider als Client an den Einschränkungen des Netzwerkverkehrs, daher der Ansicht, der Server-Seite. NET Data Provider können. NET Datenbank-Objekte für eine bessere Leistung zu konzentrieren. Darüber hinaus ist die Server-seitige Data Provider eröffnete auch eine Gruppe auf dem Server-Code ist nur für Funktionen wie serverseitigen Cursor. Für Client-Anwendung Daten an eine offene Verfahren in den System.Data.SqlClient-Namespace-Funktion, während der Server-Side-Data-Provider fungiert als ein offener Raum im System.Data.Sqlserver Namen. In DB2 UDB 8.2, nur die einzelnen IBM.Data.DB2 Namespace. DB2. NET Data Provider verwendet DB2Context Objekt im Speicher der Datenbank-Verbindung zu erstellen.

Auf der Server-Seite, sie haben auch Gemeinsamkeiten. DB2 und SQL Server unterstützen beide mit. NET-Sprache, um Anwendungen zu erstellen und die anschließende Bereitstellung der Server-Seite. Abgesehen von diesem Grundgedanken, die beiden Datenbank-Plattformen. NET-Integration hat eine ganz andere Ebene. DB2 UDB 8.2 unterstützt die Einrichtung. NET Stored Procedures und. NET benutzerdefinierte Funktion. Allerdings ist die Unterstützung von Visual Studio IDE nur erstellen, DB2 UDB 8.2. NET Stored Procedures, DB2 UDB 8.2. NET-Funktionen müssen manuell erstellt werden. Im Gegensatz dazu, SQL Server 2005 对. NET-Unterstützung für eine breite Palette von mehr. Und, wie DB2, SQL Server unterstützt die Erstellung von. NET Stored Procedures und. NET benutzerdefinierte Funktion. Darüber hinaus unterstützt auch SQL Server. NET löst. NET benutzerdefinierten Typ (UDT), und. NET benutzerdefinierte Aggregatfunktion. Alle diese Objekte sind vollständig in die Schaffung von Visual Studio 2005 IDE in den integrierten. Verwenden können. NET-Sprache Prozeduren und Funktionen der Datenbank gespeichert Entwickler bauen ist sicherlich eine gute Nachricht, die es ihnen ermöglichen, eine komplexere Business-Logik und Funktion Features ohne Standard-SQL-Funktionalität erreicht werden kann, ist begrenzt. Dies ist zweifellos. NET-und Datenbank-Integration der Schlüssel, natürlich nutzen. NET-Sprache, um Trigger, benutzerdefinierte Typen und benutzerdefinierte Aggregat zu erstellen ist ebenfalls nützlich. Verwenden Sie. NET-Sprache zu erstellen Sie einen Trigger auslösen, um den Code zu mehr vollständig gekapselte Geschäftslogik zu machen, wobei auch einige zusätzliche Maßnahmen, wie der Zugang zu externen Ressourcen und Aufzeichnungen Betrieb anmelden. Verwenden Sie. NET-Sprache, um benutzerdefinierte Typen zu erstellen, damit Datenbank-Entwickler, um das System zu erweitern jede ursprüngliche Datentypen können diese benutzerdefinierte Typen haben ihre eigenen Attribute und unabhängige Betreiber, die Entwicklern eine nahtlose Erweiterung bestehender Datentypen erlaubt bei der Verwendung und die ursprüngliche Datentyp, haben ihre eigene Operatoren und Aggregation. Auch die Verwendung von. NET zu benutzerdefinierten Aggregation zu erstellen ermöglicht es Entwicklern, eine benutzerdefinierte Aggregation Operationen angewendet zu schaffen, um bestehende Datentypen oder benutzerdefinierte Datentypen.

Zusätzlich zu diesen Basic. NET-Funktionen in. NET Framework und ihre Datenbank-Server-Integration sind auch große Unterschiede. Im nächsten Abschnitt werden wir tiefer gehende Diskussion. NET-Integration Details.

. NET Framework Integration

Microsoft ®. NET ist es, Informationen, Personal, Anlagen und Geräte mit einer Reihe von Microsoft-Software-Technologie verbunden werden. . NET Framework für den Aufbau und den Betrieb der nächsten Generation von Software-Anwendungen und Web-Service-Komponenten, die für Windows.

. NET Framework

◆ Unterstützung mehr als 20 Arten von verschiedenen Programmiersprachen.

◆ Management einer großen Anzahl von "Pipeline" - Beitrag zur Verbesserung der Effizienz der Software-Entwicklung und ermöglicht es Entwicklern, mehr Energie auf das Kerngeschäft konzentrieren Logik-Code.

◆ machen zu entwickeln, einzusetzen und zu verwalten eine sichere, robuste und leichter Hochleistungs-Anwendungen als je zuvor zu erreichen.

. NET Framework die Common Language Runtime (CLR) und einheitliche hierarchische Klassenbibliothek, bestehend aus einer Sammlung. . NET CLR-Funktionen umfassen den Betrieb eines integrierten Service-Sprache, ein obligatorisches Sicherheitstraining und Speicher-, Prozess-und Thread-Management. In der Sprache der Integration, definiert CLR ein gemeinsames Typsystem (CTS), das Überschreiten aller beschreibt. NET-Sprache, die elementaren Datentypen und Operationen auf diesen Datentypen. . NET Framework bietet eine Reihe von Klassen für Entwickler eingestellt, um für ihre Anwendung gelten, deckt dieser Klassen gesetzt viele Aspekte, einschließlich der I / O, Netzwerk-, Textverarbeitungs-, Daten-Zugriff, Verschlüsselung, XML-Verarbeitung, Web Service und so weiter. Dadurch können Entwickler in der Lage sein, ihre Anstrengungen auf den Aufbau von Business-Logik statt begraben in der "Pipeline" in den Code zu konzentrieren, wie sie können. NET Framework-Klassen zu finden, zu konzentrieren. SQL Server 2005 und IBM DB2 UDB 8.2 auf. NET CLR-Integration macht es möglich zu nutzen. NET-Sprachen (wie C #, Visual Basic, C + + und J #), um Datenbank-Objekte entwickeln.

Diese zwei verschiedenen Datenbank-Plattform und. NET Framework integrierten Ansatz ist völlig anders. SQL Server 2005-Datenbank-Engine wird auf den Plätzen CLR innerhalb des Prozesses, der die Datenbank-Engine ausgeführt Mittel und. NET-Laufzeit nur ein separates Betriebssystem-Prozesse werden. Im Gegensatz dazu ist DB2 UDB 8.2 und. NET Framework mit "-Prozess integriert"-Modell. Abbildung 1 auf unterschiedliche Datenbank-Implementierungen CLR beschrieben worden ist klar.



Das integrierte Modell der Sinne

SQL Server 2005 Integration. NET-Laufzeit bei Verwendung des "Prozesses der" Modell "-Prozess-Modell" im Vergleich zu einigen sehr klare Vorteile. Erstens, die internen ermöglichen CLR-Integration in SQL Server kann auf eine andere Weise die Kontrolle der Betrieb von CLR-Prozess. Memory-Management, Müllabfuhr, Thread-Unterstützung der Kernaufgaben werden von der SQL Server-Host, statt. NET-Standardeinstellungen und den Betrieb kontrolliert werden. Dies ist wichtig, weil der SQL Server-Datenbank-Engine zur besseren Studie aus der Perspektive des Gesamtsystems Anforderungen, so dass es auf Basis von Ist-Speicher und Thread-Management optimiert. Schließlich ist die "In-Prozess-Modell" von SQL Server 2005 CLR-Integration zu schaffen, einen robusteren und besser skalierbare Lösung.

Betrachten wir zum Beispiel eine schwere Belastung für die Datenbank-Instanz, um die vielen gleichzeitigen Anfragen zu beantworten, hat sich die Situation schon seit sehr langer Zeit. SQL Server kann automatisch und intelligent in die Datenspeicherung und Programmlogik (zum Beispiel. NET Stored Procedures) Gleichgewicht zwischen der Zuweisung von Speicher. Wenn das System mit einigen der Last der Veränderungen in der Natur - zum Beispiel die angeforderte relativ mehr von dem Verfahren Gebrauch von den logisch - SQL Server automatisch wieder eingestellt werden. Auf diese Weise, um die Systemleistung zu den tatsächlichen Bedürfnissen auf die Skalierbarkeit und Zuverlässigkeit der kontinuierlichen Optimierung basiert. Da DB2 UDB V8.2 mit "-Prozess" Modell der Integration. NET-Laufzeitumgebung, so DB2 kann nicht über diese Art von Maschine Ressourcen und Performance-Optimierung von dynamischen Gleichgewicht.

SQL Server 2005, indem Sie die CLR-Hosting-API zur dynamischen Optimierung umzusetzen, nur diese API. NET Framework Version 2.0 gibt, und in der. NET Framework-Versionen nicht vor. Unvermeidliche Folge, SQL Server 2005 müssen integriert werden. NET Framework 2.0 und DB2-Integration ist. NET Framework 1.1, integrierte natürlichen niedrigen Niveau.

. NET 2.0 und. NET 1.1 Unterschied

Verwenden Sie. NET Framework 2.0 und SQL Server 2005 mit Visual Studio 2005 und. NET Framework 1.1 kombiniert kombiniert mit DB2 UDB 8.2, verglichen mit einigen signifikanten Vorteile. . NET Framework 2.0 und früheren Versionen, mit deutlich erweiterten Funktionen:

◆ auf die Leistung und Ladezeiten zu verbessern

◆ Unterstützung der generischen (der gleichen Klasse und Methode für den Wert der verschiedenen Datentypen, wie zum Beispiel Laufen, wodurch sich die Wiederverwendung von Code)

◆ Unterstützung "Bearbeitung fortsetzen to run" (Edit-and-Continue), können Entwickler den Code in die Anwendung zu modifizieren, ohne zu stoppen und starten Sie den Debugging-Session.

◆ Eine neue Data Protection API (DPAPI), so dass Anwendungen können bestimmte sensible Informationen wie Verbindungszeichenfolge oder Block des Speichers zu verschlüsseln.

◆ Authentifizierung Durchströmung des neuen NegotiateStream und SslStream Klasse ermöglicht die Verwendung von SSL oder Kerberos, um Client-und Server-side sichere Kanäle zu erreichen.

◆ COM-Interoperabilität verbessert wird. NET-Anwendungen auf bestehende COM-Objekt aufrufen hat die bessere Leistung und Zuverlässigkeit.

◆ Verbesserte I / O-Performance mit der Unterstützung der GZIP-Datenkompression

◆ 64-Bit-Application Compatibility

Deployment. NET Logik SQL Server

Die tatsächliche Nutzung der einzelnen Datenbank-Plattform. NET-Objekt hat eine ganz andere Art ist die. In SQL Server 2005, SQL Server eine neue Datenbank-Objekte Assembly (Versammlung) bereitgestellt wird. NET-Objekte (wie Trigger oder gespeicherte Prozeduren) die kleinste Einheit der Baugruppe ist. NET kleinste logische Einheit eingesetzt. Um CLR Datenbank-Objekte zu erstellen, müssen Sie zunächst mit dem Visual Studio 2005, um eine DLL zu erstellen. Dann ist diese DLL in SQL Server als Datenbank-Programm-Objekt. Diese Schritte können über die Befehlszeile-Compiler und der CREATE ASSEMBLY-Befehl manuell zu erreichen, oder als Teil der technischen Präsentation wie in gesehen, Visual Studio 2005 kann automatisch vervollständigen den gesamten Prozess.

SQL Server-Sicherheit in der Versammlung

SQL Server 2005 Datenbank-Administratoren, um eine neue Security-Einheit - die Montage. Die Montage kann als die drei Gefahrenstufen fest: SAFE, extern, und unsicher markiert werden. Diese Sicherheits-Etiketten für Datenbank-Administratoren zu verwalten und zu schützen, alle in der Datenbank auf die Assembly-Ebene ausführen. NET-Code. SAFE sagte dem Etikett der Montage nur mit verwaltetem Code und nicht den Zugriff auf Ressourcen außerhalb der Datenbank. Äußeren Aufkleber, sagte die Versammlung auf die verwalteten Code verwenden, um externe Ressourcen zugreifen, z. B. Netzwerk-Dateisystem oder in andere Nicht-Datenbank-Ressourcen. UNSAFE Label, das Hosting dieser Versammlung und beinhalten können (oder) nicht verwalteten Code, und können auf jeden beliebigen internen oder externen Ressourcen. UNSAFE Montage durch den Datenbank-Objekt erstellt hat System Administrator-Rechte können nur für Benutzer durchgeführt werden.

Deployment. NET-Logik auf DB2

Obwohl die. NET Managed Code in den Prozess der DB2 UDB 8.2 und SQL Server 2005 in den Prozess ist sehr ähnlich, aber in der Datenbank gespeichert Objekttypen und den Pfad, der Sicherheit und Datenbank-Management-Prozess Gebieten oder mit einigen Unterschieden. So erstellen Sie DB2 Datenbank-Objekte in CLR, müssen Sie sich zunächst mit Visual Studio und die Verwendung bestimmter. NET verwalteten Sprache zu einer DLL, die DLL-Dateien erstellen, müssen Sie die DB2-Installations-Pfad zu einem speziellen Verzeichnis, oder erstellen Sie eine gespeicherte Prozedur oder Funktion kopiert werden Zeit, um den vollständigen Pfad zu dieser DLL-Datei zur Verfügung. Diese DLL ist eigentlich keine Datenbank-Objekt und nicht in der Datenbank-Tabelle importiert worden, im Gegenteil, es ist nur ein Betriebssystem benötigt. Dann wird die DLL in die CREATE DATABASE-Objekte (wie z. B. gespeicherte Prozeduren oder Funktionen) in der CREATE-Befehl erscheinen. Teil der technischen Präsentation, sehen Sie den Einsatz von Visual Studio 2003 kann automatisch eine CLR DB2 Stored Procedures für den gesamten Prozess abzuschließen. Allerdings ist das Erstellen von benutzerdefinierten Funktion nicht das gleiche, nur durch manuelle Prozesse durchgeführt werden, um benutzerdefinierte Funktion erstellen.

Ein Datenbank-Administrator oder Anwendungsentwickler ist in der Regel notwendig, die externen Programm mit der DB2-DLL Versammlung, die durch eine Begrenzung der Zeit der Operation ausgeführt werden kann, verbunden, um diesen Schritt in den Entstehungsprozess des Werkes oder eine Funktion zu erreichen schützen, wenn die CREATE 语句 der Execution Control-Klausel in Anspruch nehmen. Effektive Umsetzung der Steuerung Modi beinhalten: SAFE, FILEREAD, FILEWRITE, NETWORK und unsicher. Ist dies nicht der Kontrolle der Ausführung Modus angegeben, ist der Standardmodus SAFE, was bedeutet, dass die CLR-Prozedur kann nur durch den Datenbank-Administrator die Kontrolle über Ressourcen zugreifen, diese Ressourcen umfassen alle von den Tischen und die Datenbankinstanz Management-Framework wird. FILEREAD, FILEWRITE und Ausführungsphase Netzwerk ermöglicht verwalteten Code auf dem lokalen Dateisystem oder das Netzwerk zugreifen. UNSAFE Ausführungsphase wird keine Beschränkungen des Zugangs zu Ressourcen, als unsicher markiert Ausführungsmodus können binäre Code für die Prozedur auszuführen. Da DB2 und. NET-Integration wird angenommen "-Prozess"-Modell, dann verwenden Sie die CREATE-Anweisung an die DB2 CLR Prozeduren und Funktionen erstellen müssen UMZÄUMTES Klausel verwendet werden, um. NET-Logik und Datenbank-Manager-Prozess in verschiedenen veranschaulichen Run und keine Erinnerung Kommunikation Mitbenutzung. Dies hat in der Programmlogik führte zur Übertragung von Daten zwischen der Datenbank selbst, wenn die "In-Prozess-Modell", eine Aufführung Barrieren gegenüber.