La comparaison des résultats décrits
Cette plate-forme de base de données dans la comparaison des deux résultats dans la construction d'une application de base de données, en utilisant SQL Server 2005 (nom de code «Yukon») combiné avec Visual Studio pour le développement que l'utilisation de DB2 UDB 8.2 (nom de code "Stinger") combinée avec Visual Studio ont un avantage significatif. Dans le développement, le débogage et le déploiement de solutions de bases de données, ces avantages se traduira dans le temps et l'argent de l'épargne. Dans cet article, mettre en évidence le serveur SQL Server 2005 par rapport à la DB2 UDB 8.2 sur. NET de soutien pour les objets de base de données à un large éventail de plus. En outre, vous trouverez dans la construction et la gestion des objets de base de données, SQL Server 2005 et Visual Studio intégrée au niveau de DB2 UDB 8.2 et Visual Studio intégration plus étroite. Dans cet article, vous verrez aussi la plate-forme SQL Server 2005 au développement fournie par la base de données relationnelle, en plus, il existe de nombreuses autres fonctionnalités que plus de DB2 UDB 8.2.
Préface
Dans le passé, les technologies de développement informatique dans un langage de programmation, configuration de produits et de l'environnement de manipulation de données de ces trois expertise indépendante. Pour l'utilisation intégrée de ces compétences nécessitent souvent relativement indépendante de l'expertise technique et beaucoup de main-d'œuvre. Maintenant, avec SQL Server 2005 et Visual Studio 2005, nous avons un environnement de développement unifié, intégré le modèle de programmation qui fournit une solution totale, y compris les applications de base de données client, des outils de gestion de serveur et des objets de base de données côté serveur Construction. Les outils et les cadres tels amélioration fonctionnelle permettra aux développeurs et aux clients peuvent en bénéficier, car il aurait la disponibilité des applications, la performance, la sécurité et l'évolutivité d'apporter une mise à jour complète.
SQL Server 2005 et DB2 8.2 sur l'environnement Visual Studio et l'intégration fournisseur de base de données permettra de simplifier et d'améliorer le processus de développement d'applications. Ils fournissent à améliorer la productivité, créer et déployer des applications d'outils, qui sera le développement et l'application à la gestion du programme conduisent à une meilleure performance. SQL Server 2005 et DB2 UDB 8.2 sur. NET Framework d'intégration a apporté un plus efficace et plus flexible l'environnement de développement de base de données d'application, ce qui a été plus efficace que la version précédente de la mise en œuvre d'une solution de base de données plus robuste, il avoir une meilleure facilité d'utilisation et d'évolutivité. Grâce à l'utilisation de circuits intégrés. NET, les développeurs de base de données peut utiliser le code SQL impossible à réaliser avant que les résultats obtenus. En utilisant le. NET Framework, les développeurs écrire du code pour avoir une logique plus complexe, plus approprié pour résoudre les problèmes de calcul, et à l'accès à des systèmes externes et des ressources réseau, telles que. NET tels que Visual Basic, C # et C + +, sont totalement orienté objet langage de programmation, avec comme encapsulation, héritage et le polymorphisme ces fonctions de programmation orientée objet. Ils ont aussi beaucoup qui n'existent pas dans les caractéristiques du langage SQL, comme des tableaux, gestion structurée des exceptions, la collecte et ainsi de suite.
Aujourd'hui, Microsoft. NET fournit le plus avancé et efficace pour construire et intégrer des applications de base de données environnement. Dans cet article, nous allons comparer le serveur SQL Server 2005 et DB2 UDB 8.2, respectivement prévues. NET niveau d'intégration. Pour bien illustrer la différence, nous ferons une présentation technique détaillée pour montrer la différence à l'aide de SQL Server 2005 et DB2 UDB 8.2 pour NET a. des procédures stockées dans les mesures spécifiques.
Comparaison des technologies de base
Bien que SQL Server 2005 et DB2 UDB 8.2 sont intégrés. NET Framework et Visual Studio, mais l'étendue de leur intégration a des différences importantes. Le tableau suivant répertorie ce sur leur site. NET degré d'intégration de comparaison.
Fournisseur de données
SQL Server 2005 et DB2 UDB 8.2 sont mis en place. NET Data Provider fait. NET programme client peut accéder à la plate-forme de base de données. Ces «naturel fournisseurs de données» et fondée sur des données du fournisseur OLE DB que l'application serveur conduira à de meilleures performances et d'évolutivité. Les deux fournisseurs de données ont des fonctions très similaires, peut réaliser les objets ADO.NET de base, y compris le raccordement, de commande, DataReader, DataSet et DataAdapter. Mais ils ont une différence essentielle: SQL Server. NET Data Provider est disponible en deux modèles, l'un pour l'application cliente, un pour les applications côté serveur. Ceci est pour le développement d'applications côté serveur est particulièrement important parce que le serveur SQL Server-side. Fournisseur de données NET est un résident dans la mémoire du programme qui n'aiment pas le fournisseur de données que le client d'examiner les restrictions du trafic réseau, donc, du côté serveur. NET Data Provider peuvent se concentrer sur. NET objets de la base pour de meilleures performances. En outre, le fournisseur de données côté serveur a également ouvert un groupe sur le code côté serveur est conçu uniquement pour les fonctions, telles que le curseur côté serveur. Pour les données d'application client pour fournir une procédure ouverte dans la fonction espace de noms System.Data.SqlClient, tandis que les fonctions côté serveur fournisseur de données comme un espace ouvert au nom de System.Data.Sqlserver. Dans DB2 UDB 8.2, que l'espace de noms IBM.Data.DB2 unique. DB2. NET Data Provider utilise DB2Context objet à créer dans la mémoire de la connexion de base de données.
Du côté du serveur, ils ont aussi des similitudes. DB2 et SQL Server prennent en charge l'utilisation de langage. NET pour créer des applications et le déploiement ultérieur de la partie serveur. En dehors de ce concept de base, les deux plates-formes de base de données. Net Integration a un niveau très différent. DB2 UDB 8.2 prend en charge la création. NET et des procédures stockées. NET fonction définie par l'utilisateur. Toutefois, Visual Studio IDE ne supportent que de créer DB2 UDB 8.2. NET procédures stockées, DB2 UDB 8.2. NET fonctions doivent être créés manuellement. En revanche, SQL Server 2005 对. NET de soutien à une vaste gamme de plus. Et, comme DB2, SQL Server prend en charge la création. NET et des procédures stockées. NET fonction définie par l'utilisateur. En outre, SQL Server prend également en charge. NET déclencheurs. NET type défini par l'utilisateur (UDT), et. Net global défini par l'utilisateur. La création de tous ces objets sont pleinement intégrés dans Visual Studio 2005 IDE dans le. Peut utiliser. NET construire des procédures stockées et les fonctions des développeurs de bases de données est certainement de bonnes nouvelles, qui leur permettra de parvenir à une logique d'affaires plus complexes et les fonctions fonctionnent sans avoir à les fonctionnalités standard SQL est limitée. C'est sans aucun doute. NET et l'intégration de bases de données sur la touche, bien sûr, utiliser le langage. NET pour créer des déclencheurs, des types définis par l'utilisateur et des agrégats définis par l'utilisateur est également utile. Utiliser le langage. NET pour créer un déclencheur pour déclencher le code pour le rendre plus logique métier totalement encapsulé, tout en effectuer quelques opérations supplémentaires, comme l'accès à des ressources externes et journal des opérations records. Utiliser le langage. NET pour créer des types définis par l'utilisateur pour permettre aux développeurs de bases de données d'étendre le système tout type de données d'origine, ces types définis par l'utilisateur peuvent avoir leurs propres attributs et exploitant indépendant, qui permet aux développeurs de façon transparente étendre les types de données , lors de l'utilisation et le type de données d'origine, ont leurs propres opérateurs et d'agrégation. De même, l'utilisation de. NET pour créer d'agrégation définie par l'utilisateur permet aux développeurs de créer des regroupements personnalisés utilisés dans le type de données d'origine ou définis par l'utilisateur des types de données.
En plus de ces fondamentaux. NET fonctions po NET Framework et de leur intégration du serveur de base de données sont également d'importantes différences. La section suivante, nous allons avoir plus de discussions en profondeur. Détails intégration NET.
. NET Framework d'intégration
Microsoft ®. NET est utilisé à l'information, ressources humaines, systèmes et équipements associés à un ensemble de technologies logicielles Microsoft. . NET Framework est de construire et d'exécuter la prochaine génération d'applications logicielles et Web Service composants nécessaires pour Windows.
. NET Framework
◆ le soutien de plus de 20 sortes de langages de programmation différents.
◆ la gestion d'un grand nombre de «pipeline» - d'améliorer l'efficacité du développement logiciel et permettant aux développeurs de se concentrer plus d'énergie sur le code de base de logique métier.
◆ faire construire, déployer et gérer un réseau sûr, la performance des applications robustes et de haute plus facile que jamais à atteindre.
. NET Framework par le Common Language Runtime (CLR) et unifiée bibliothèque de classes hiérarchiques qui consistent d'une collection. . NET CLR fonctions comprennent l'exploitation d'un service intégré à une langue, obligatoire à la sécurité et de la mémoire, des processus et la gestion des threads. Dans la langue de l'intégration, CLR définit un système de type commun (CTS), qui décrit le passage à niveau de tous. NET, les types de données de base et des opérations sur ces types de données. . NET Framework fournit un certain nombre de classes définies pour les développeurs d'appliquer à leur application, ces classes série couvre de nombreux aspects, y compris les I / O, réseaux, traitement de texte, d'accès aux données, le cryptage, la transformation XML, Web Service et ainsi de suite. Ceci permet aux développeurs d'être en mesure de concentrer leurs efforts sur le renforcement de logique métier, plutôt que enterré dans le «pipeline» dans le code, comme ils peuvent. NET Framework se concentrer à trouver. SQL Server 2005 et IBM DB2 UDB 8.2 sur. NET CLR intégration permet d'utiliser n'importe quel. NET (y compris C #, Visual Basic, C + + et J #) pour développer des objets de base de données.
Ces plate-forme de deux bases différentes et. NET Framework approche intégrée est complètement différent. SQL Server 2005 Moteur de base seront des lieux sur la CLR dans le processus, ce qui signifie faire tourner le moteur de base de données et. NET seulement un processus distinct du système d'exploitation. En revanche, DB2 UDB 8.2 et. NET Framework est intégré au «processus» du modèle. Figure 1 sur les implémentations de bases de données différentes CLR a été décrite clairement.
Modèle intégré de sens
SQL Server 2005 Integration. NET en utilisant le «processus de" modèle "processus" modèle par rapport à certains avantages très clairs. Tout d'abord, l'intégration interne de validation CLR dans SQL Server peut traiter d'une manière différente de contrôler le fonctionnement du CLR. Gestion de la mémoire, la collecte des ordures, le support des threads les fonctions de base sera contrôlée par l'hôte SQL Server, plutôt que. NET paramètres par défaut et de fonctionnement. Ceci est important parce que le moteur de base de données SQL Server pour mieux étudier du point de vue des exigences du système global, ce qui en fait optimisé basé sur la mémoire réelle et la gestion des threads. Enfin, le "in-process" modèle de SQL Server 2005 l'intégration du CLR de créer une plus robuste et meilleur solution évolutive.
Par exemple, considérons un lourd fardeau sur l'instance de base de données, pour répondre à de nombreuses demandes simultanées, la situation a cours depuis très longtemps. SQL Server peut automatiquement et intelligemment en stockage de données et la logique du programme (par exemple,. NET procédures stockées) équilibre entre l'allocation de mémoire. Lorsque le système a une partie du fardeau des changements dans la nature - par exemple, les demandes d'utilisation de la logique du programme relativement importante plus - SQL Server sera automatiquement ajustée à nouveau. De cette façon, les performances du système pour répondre aux besoins réels basés sur l'évolutivité et la fiabilité de l'optimisation continue. Parce que DB2 UDB v8.2 de "processus" modèle d'intégration. NET, si DB2 ne peut pas fournir ce type de ressources de la machine et l'optimisation des performances de l'équilibre dynamique.
SQL Server 2005 en utilisant le CLR hébergement API pour mettre en œuvre l'optimisation dynamique, ces API uniquement. NET Framework version 2.0, il, et dans les versions. NET Framework avant ne sont pas. résultat inévitable, SQL Server 2005 doivent être intégrés. NET Framework 2.0 et DB2 intégration. NET Framework 1.1, intégrée naturelle de bas niveau.
. NET 2.0 et. NET 1.1 différence
Utiliser. NET Framework 2.0 et SQL Server 2005 combiné à Visual Studio 2005 et de l'utilisation. NET Framework 1.1 combiné avec DB2 UDB 8.2, par rapport à certains avantages non négligeables. . NET Framework 2.0 et versions antérieures, avec des caractéristiques sensiblement amélioré:
◆ Pour améliorer les performances et le temps de chargement
◆ appuyer les génériques (de la même classe et la méthode de la valeur des différents types de données, comme la course, augmentant ainsi la réutilisation du code)
◆ soutien "édition continuer à fonctionner" (Edit-et-Continue), les développeurs peuvent modifier le code dans le processus de mise en œuvre, sans avoir à arrêter et redémarrer la session de débogage.
◆ Un nouveau Data Protection API (DPAPI), les applications peuvent donc crypter certaines informations sensibles, telles que la chaîne de connexion ou un bloc de mémoire.
débit d'authentification ◆ grâce à la nouvelle classe et NegotiateStream SslStream vous permet d'utiliser Kerberos ou SSL pour atteindre le client et côté serveur des canaux sécurisés.
◆ améliorations d'interopérabilité COM fera applications. NET pour appeler des objets COM existants a la meilleure performance et de fiabilité.
◆ Je Amélioration performance E / S avec l'appui des données GZIP compression
◆ compatibilité d'application 64-bit
Déploiement. Logique NET pour SQL Server
L'utilisation réelle de chaque plate-forme de base de données. NET objet a une façon très différente est la. Dans SQL Server 2005, une nouvelle base de données SQL Server objets Assemblée (Assemblée) est déployé. NET objets (tels que des déclencheurs ou des procédures stockées) la plus petite unité du groupe de construction est déployée. NET plus petite unité logique. Afin de créer des objets de base de données CLR, vous devez d'abord utiliser Visual Studio 2005 pour créer une DLL. Ensuite, cette DLL dans SQL Server comme un objet de programme de base de données. Ces étapes peuvent utiliser le compilateur de ligne de commande et la commande CREATE ASSEMBLY manuellement pour obtenir, ou dans le cadre de la présentation technique en voir, Visual Studio 2005 peut effectuer automatiquement l'ensemble du processus.
SQL Server de sécurité à l'Assemblée
SQL Server 2005 administrateurs de bases de données pour fournir une nouvelle unité de sécurité - l'Assemblée. Assemblée peuvent être marqués comme les trois états de sécurité: SAFE, EXTERNAL, et dangereux. Ces étiquettes de sécurité pour les administrateurs de base de données pour gérer et protéger tous dans la base de données pour exécuter le niveau de l'assemblage. NET. SAFE a dit l'Assemblée étiquette en utilisant seulement du code managé et n'accède pas à la base de données des ressources externes. étiquette extérieure, a déclaré à l'Assemblée de l'utilisation de code managé pour accéder à des ressources externes, telles que le système de fichiers ou des ressources réseau dans le non-base de données. label dangereuses qui peuvent inclure la tenue de cette Assemblée et (ou) du code non géré, et peut accéder aux ressources internes ou externes. Assemblée UNSAFE créé par l'objet base de données a des droits administrateur système ne peut être effectuée pour les utilisateurs.
Déploiement. Logique NET pour DB2
Bien que le NET. Code managé dans le processus de DB2 UDB 8.2 et SQL Server 2005 dans le processus est très similaire, mais stockées dans les types d'objet de base de données et la localisation, la sécurité et les zones de base de données de gestion des processus, ou avec quelques différences. Pour créer des objets de base de données DB2 dans le CLR, vous devez d'abord utiliser Visual Studio et d'utiliser certaines. NET géré langage pour créer une DLL, les fichiers DLL doivent être copiés dans le chemin d'installation DB2 dans un répertoire spécial, ou de créer une procédure stockée ou une fonction le temps de fournir le chemin complet vers le fichier DLL. Cette DLL n'est pas réellement un objet de base, ne peut être importé dans une table de base de données, au contraire, il est juste un système d'exploitation dans le 文件. Ensuite, la DLL apparaît dans la base de données de créer des objets (comme les procédures stockées ou des fonctions) dans la commande CREATE. Partie dans la présentation technique, vous pourrez voir l'utilisation de Visual Studio 2003 peut créer automatiquement une DB2 procédures stockées CLR pour terminer l'ensemble du processus. Toutefois, la création fonction définie par l'utilisateur n'est pas le même, vous être fait que par procédé manuel afin de créer des fonctions définies par l'utilisateur.
Un administrateur de base de données ou développeur d'application est généralement nécessaire de protéger le programme externe associé à l'assembly DB2 DLL, ce qui peut limiter l'exploitation de l'exécution du programme pour atteindre cette étape dans le processus de création de travail ou une fonction dans l'instruction CREATE clause EXECUTION CONTROL pour terminer. mise en œuvre effective des modes de contrôle: SAFE, FILEREAD, FILEWRITE, RESEAU, et dangereux. S'il n'est pas spécifié le mode de contrôle d'exécution, le mode par défaut est sûre, ce qui signifie que la procédure CLR ne peut accéder par le contrôle de l'administrateur de base de données des ressources, ces ressources comprennent l'ensemble des tables et du cadre de gestion de base de données par exemple. FILEREAD, FILEWRITE et mode d'exécution du code managé réseau permet d'accéder au système de fichiers local ou des ressources réseau. mode d'exécution UNSAFE aura pas de restrictions sur l'accès aux ressources, marqué comme mode d'exécution UNSAFE peuvent exécuter du code binaire pour la procédure. Depuis DB2 et. Net Integration est adopté "processus" du modèle, puis utilisez l'instruction CREATE pour créer les procédures CLR DB2 et des fonctions doit être clôturé clause, pour illustrer. NET logique et le processus gestionnaire de base de données dans différents Exécuter et ne pas utiliser les communications partagées mémoire. Cela s'est traduit par la logique du programme de transfert de données entre la base de données elle-même, quand le "in-process" modèle par rapport à un les obstacles au rendement.