SQL Server 2005 og DB2 8,2 komparativ analyse


Sammenligning af resultaterne, der er skitseret

Denne database platform i sammenligningen af to resultater i opbygningen af en database ansøgningen med SQL Server 2005 (med kodenavnet "Yukon") kombineret med Visual Studio for udvikling end brug af DB2 UDB 8.2 (med kodenavnet "Stinger") kombineret med Visual Studio har en betydelig fordel. I udviklingen, fejlsøgning og implementering af database løsninger vil disse fordele omsættes i tid og penge i besparelser. I denne artikel fremhæve SQL Server 2005 i forhold til DB2 UDB 8,2 på. NET støtte til database objekter til en bred vifte af mere. Derudover vil du finde i opbygning og styring af database objekter, SQL Server 2005 og Visual Studio integreret niveau end DB2 UDB 8,2 og Visual Studio integration nærmere. I denne artikel vil du også se SQL Server 2005 udviklingsplatform, som relationel database desuden er der mange andre funktioner, der mere end DB2 UDB 8,2.

Forord

I fortiden, udvikling IT teknologi i et programmeringssprog, miljø konfiguration og dataprodukter drive tre uafhængige eksperter. Til integreret brug af disse færdigheder kræver ofte relativt uafhængig af teknisk ekspertise og en masse arbejdskraft. Nu med SQL Server 2005 og Visual Studio 2005, har vi en fælles udviklingsmiljø, integreret programmering model, som indebærer en samlet løsning, inklusive klient database applikationer, server ledelsesværktøjer og server-side database objekter Byggeri. På værktøjer og rammer sådanne funktionelle forbedringer vil gøre det muligt udviklere og kunder kan nyde godt af det, fordi det ville have ansøgningen tilgængelighed, ydelse, sikkerhed og skalerbarhed til at bringe en omfattende opgradering.

SQL Server 2005 og DB2 8,2 på Visual Studio miljø og database dataleverandøren integration vil forenkle og forbedre anvendelsen udviklingsprocessen. De giver for at øge produktiviteten, bygge og installere applikationer værktøjer, som vil være udvikling og anvendelse på forvaltningen af programmet fører til bedre resultater. SQL Server 2005 og DB2 UDB 8,2 på. NET Framework integration har medført en mere effektiv og fleksibel database applikationsudvikling miljø, det har været mere effektiv end den tidligere version af gennemførelsen af en mere robust database løsning, er det har en bedre brugervenlighed og skalerbarhed. Gennem brug af integrerede. NET miljø, database udviklere kan bruge SQL-kode umuligt at nå, før de opnåede resultater. Ved hjælp af. NET Framework, udviklere skrive kode til at have mere komplekse logiske, bedre egnet til at løse beregningsproblemer, og adgang til eksterne systemer og netværk ressourcer, som. NET sprog som Visual Basic, C # og C + +, er fuldt objektorienteret programmeringssprog, med så indkapsling, arv og polymorfi sådan objektorienteret programmering funktioner. De har også mange, som ikke findes i SQL sprog features, såsom arrays, struktureret undtagelse håndtering, indsamling og så videre.

I dag Microsoft. NET giver den mest avancerede og effektive til at opbygge og integrere database applikationer miljø. I denne artikel vil vi sammenligner SQL Server 2005 og DB2 UDB 8,2 henholdsvis forudsat. NET integration niveau. For fuldt ud at illustrere forskellen, vil vi gøre en detaljeret teknisk redegørelse for at vise forskellen ved hjælp af SQL Server 2005 og DB2 UDB 8,2 til a. NET lagrede procedurer i den specifikke trin.

Sammenligning af kerneteknologi

Selv om SQL Server 2005 og DB2 UDB 8,2 er integreret. NET Framework og Visual Studio, men omfanget af deres integration har betydelige forskelle. Nedenstående tabel viser dette på deres. NET integration grad af sammenligning.



Data udbyder

SQL Server 2005 og DB2 UDB 8,2 er sat op. NET data udbyderen gør. NET klient program kan få adgang til databasen platform. Disse "naturlige" dataleverandører og data-baseret OLE DB-provideren end serveren ansøgningen vil resultere i bedre ydelse og skalerbarhed. Begge dataleverandører har meget lignende funktioner, der kan udføre grundlæggende ADO.NET genstande, herunder Connection, Command, DataReader, datasæt, og DataAdapter. Men de har en afgørende forskel: SQL Server. NET Data Provider kan fås i to modeller, en for kunden ansøgning, en for server-side applikationer. Dette er for server-side applikationsudvikling, særligt vigtige, fordi de SQL Server-server-side. NET Data Provider er hjemmehørende i hukommelsen af proceduren, at Ta ikke en af kundeoplysninger give Programmer app til at overveje netværkstrafik Xian Zhi derfor serveren side. NET dataleverandøren kan fokusere på. NET database objekter for bedre ydeevne. Desuden server-side dataleverandøren åbnet en gruppe på serveren side kode er kun egnet til funktioner, såsom server-side markøren. For klientprogram data til at give en åben procedure i System.Data.SqlClient navnerummet funktion, mens server-side data udbyder fungerer som en åben plads i System.Data.Sqlserver navn. I DB2 UDB 8,2, kun én IBM.Data.DB2 namespace. DB2. NET dataleverandøren bruger DB2Context objekt for at oprette i hukommelsen af databasen forbindelsen.

På serversiden har de også ligheder. DB2 og SQL Server understøtter brugen af. NET sprog til at bygge applikationer og den efterfølgende indsættelse af server side. Bortset fra dette grundlæggende begreb. De to database platforme NET integration har en helt anden plan. DB2 UDB 8,2 støtter oprettelsen. NET lagrede procedurer og. NET bruger-defineret funktion. Men Visual Studio IDE støtte kun oprette DB2 UDB 8,2. NET lagrede procedurer, DB2 UDB 8,2. NET funktioner skal manuelt skabt. I modsætning hertil SQL Server 2005 对. NET's støtte til en bred vifte af mere. Og ligesom DB2 understøtter SQL Server oprettelsen. NET lagrede procedurer og. NET bruger-defineret funktion. Desuden SQL Server understøtter. NET udløser. NET bruger-defineret type (U dt), og. NET brugerdefinerede aggregat. Alle disse genstande er fuldt integreret i skabe Visual Studio 2005 IDE i. Kan bruge. NET sprog bygge lagrede procedurer og funktioner af databasen udviklere er helt sikkert en god nyhed, som vil give dem mulighed for at opnå en mere kompleks forretningslogik og funktion funktioner uden at skulle standard SQL funktionalitet er begrænset. Denne utvivlsomt er. NET og database integration nøglen, naturligvis, bruge. NET sprog for at skabe udløser, bruger-definerede typer og brugerdefinerede samlede er også nyttigt. Brug. NET sprog for at skabe en udløser for at gøre udløse kode kan være mere fuldt ud indkapslet forretningslogik, og samtidig udføre nogle ekstra operationer, såsom adgang til eksterne ressourcer, registrere drift log. Brug. NET sprog for at skabe brugerdefinerede typer, så database udviklere til at udvide systemet alle originale data typer, kan disse brugerdefinerede typer har deres egne attributter og operatør uafhængigt, som gør det muligt for udviklere at problemfrit at udvide eksisterende datatyper , når i brug, og de oprindelige data type, har deres egne operatører og sammenlægning. Tilsvarende vil brugen af. NET oprette brugerdefinerede sammenlægning giver udviklere mulighed for at oprette brugerdefinerede aggregater, der anvendes i den oprindelige datatype eller bruger-definerede data typer.

Ud over disse grundlæggende. NET funktioner i. NET Framework og deres database server integration er også store forskelle. I næste afsnit diskuterer vi mere i dybden. NET integration detaljer.

. NET Framework integration

Microsoft ®. NET bruges til information, menneskelige ressourcer, systemer og udstyr i forbindelse med en række Microsoft-software teknologi. . NET Framework er at opbygge og drive den næste generation af software-applikationer og web Service komponenter til Windows.

. NET framework

◆ støtte mere end 20 slags forskellige programmeringssprog.

◆ Forvaltning af et stort antal "pipeline" - bidrage til at forbedre effektiviteten af software udvikling og gør det muligt for udviklere at fokusere mere energi på de centrale forretningslogik kode.

◆ gøre opbygge, implementere og administrere et sikkert, robust og højtydende applikationer nemmere end nogensinde at opnå.

. NET Framework, som Common Language Runtime (CLR) og samlet hierarkisk klasse bibliotek bestående af en samling. . NET CLR funktioner omfatter drift af en integreret sprogtjenesten, obligatoriske sikkerhedskurser og hukommelse, proces og tråd forvaltning. På det sprog, integration, definerer CLR en fælles type system (CTS), som beskriver passage af alle. NET sprog de grundlæggende data typer og operationer på disse datatyper. . NET Framework indeholder en række klasser, der er for udviklere at anvende deres ansøgningsprocessen, det sæt af disse klasser dækker mange aspekter af indhold, herunder I / O, netværk, tekstbehandling, dataadgang, kryptering, XML behandling, Web Service og så videre. Dette gør det muligt for udviklere at kunne koncentrere deres indsats om opbygning af forretningslogik i stedet begravet i "pipeline" i koden, som de kan. NET Framework klasser fokus på at finde. SQL Server 2005 og IBM DB2 UDB 8,2 på. NET CLR integration gør det muligt at bruge alle. NET sprog (herunder C #, Visual Basic, # C + + og J) at udvikle database objekter.

Disse to forskellige database platform og. NET Framework integreret tilgang er helt anderledes. SQL Server 2005 database motor vil være steder på CLR i processen, hvilket betyder, kører database motor og. NET runtime kun et separat operativsystemmiljø processer. I modsætning hertil er DB2 UDB 8,2 og. NET Framework integreret med "-proces" model. Figur 1 på forskellige database implementeringer CLR er blevet beskrevet tydeligt.



Integreret model af betydning

SQL Server 2005 Integration. NET runtime ved brug af "processen" model "-proces"-modellen i forhold til nogle meget klare fordele. For det første den interne sætte CLR integration i SQL Server kan behandle på en anden måde at kontrollere driften af CLR. Memory management, garbage collection, tråd støtte de kerneopgaver, vil blive kontrolleret af SQL Server vært, i stedet for. NET standardindstillinger og drift. Dette er vigtigt, fordi SQL Server database motor for bedre at studere ud fra perspektivet om det samlede system krav, der gør det optimeres baseret på faktiske hukommelse og tråd forvaltning. Endelig "in-proces" model af SQL Server 2005 CLR integration for at skabe en mere robust og få bedre skalerbar løsning.

For eksempel overveje en tung byrde på den database instans, til at reagere på mange samtidige forespørgsler, har situationen været i gang i meget lang tid. SQL Server kan automatisk og intelligent i datalagring og program logik (f.eks. NET lagrede procedurer) balance mellem tildeling af hukommelse. Når systemet har nogle af byrden af ændringer i naturen - for eksempel relativt flere af procedurerne ønskede anvendelse af det mere logisk - SQL Server vil automatisk blive justeret igen. På denne måde, at systemet ydeevne mødes faktiske behov baseret på skalerbarhed og pålidelighed kontinuerlig optimering. Fordi DB2 UDB v8.2 med "-proces" model for integration. NET runtime, så DB2 kan ikke levere denne type maskine midler og optimering af dynamisk balance.

SQL Server 2005 ved hjælp af CLR hosting API til at gennemføre en dynamisk optimering, disse API kun. NET Framework version 2,0 dér, og i. NET Framework tidligere versioner ikke gør. Uundgåeligt resultat, SQL Server 2005 skal integreres. NET Framework 2,0 og DB2 integration er. NET Framework 1,1, integreret naturligt lavt niveau.

. NET 2,0 og. NET 1,1 forskel

Brug. NET Framework 2,0 og SQL Server 2005 kombineret med Visual Studio 2005 og bruge. NET Framework 1,1 kombineret med DB2 UDB 8,2, sammenlignet med nogle væsentlige fordele. . NET Framework 2,0 og tidligere versioner, med betydeligt forbedrede funktioner:

◆ at forbedre ydeevnen og lastning tid

◆ støtte de generiske (samme klasse og metoden for værdien af forskellige datatyper, som at løbe, og derved øge genbrug af kode)

◆ støtte "redigering fortsætte med at køre" (Edit-og-Fortsæt), kan udviklere ændre koden i gennemførelsesprocessen, uden at stoppe og genstarte debugging session.

◆ En ny Databeskyttelse API (DPAPI), så applikationer kan kryptere bestemte følsomme oplysninger, såsom tilslutning streng eller en blok af hukommelse.

◆ godkendelse flow gennem nye NegotiateStream og SslStream klasse giver dig mulighed for at bruge Kerberos eller SSL for at opnå klient og server-side sikre kanaler.

◆ KOM interoperabilitet forbedringer vil gøre. NET applikationer til at ringe eksisterende COM-objekter har bedre ydeevne og pålidelighed.

◆ Bedre I / O-ydeevne med støtte fra GZIP-datakomprimering

◆ 64-bit program kompatibilitet

Deployment. NET logik til SQL Server

Faktiske brug af hver database platform. NET objekt har en meget anderledes måde er. I SQL Server 2005, en ny SQL Server-database objekter samling (Assembly) er indsat. NET objekter (såsom udløsende eller lagrede procedurer) den mindste enhed af forsamlingen gruppe er indsat. NET mindste logiske enhed. For at skabe CLR database objekter, skal du først bruge Visual Studio 2005 til at oprette en DLL. Så er dette DLL i SQL Server som database program objekt. Disse skridt kan bruge kommandolinjen compiler og CREATE ASSEMBLY kommandoen manuelt for at opnå, eller som en del af den tekniske præsentation som i se, Visual Studio 2005 automatisk kan fuldføre hele processen.

SQL Server-sikkerhed i forsamlingen

SQL Server 2005 database administratorer at skabe en ny sikkerhed enhed - forsamlingen. Forsamlingen kan markeres som de tre sikkerhed hedder det: SAFE, EKSTERNE og usikre. Disse sikkerhedsforanstaltninger etiketter til database administratorer at administrere og beskytte alle i databasen til at køre forsamlingen niveau. NET kode. SAFE sagde etiketten forsamling kun bruger administreret kode og ikke få adgang til ressourcer uden for databasen. EKSTERNE etiket, sagde forsamlingen til at bruge administreret kode til at få adgang eksterne ressourcer såsom netværk filsystem eller inden for andre ikke-database ressourcer. Usikre label, som kan omfatte hosting af denne forsamling og (eller) ikke-administreret kode, og kan få adgang til alle interne eller eksterne ressourcer. Usikre samling skabt af databasen objekt er systemadministrator rettigheder kan kun udføres for brugerne.

Deployment. NET logik til DB2

Selv om. NET administreret kode i processen med DB2 UDB 8,2 og SQL Server 2005 i processen er meget lignende, men gemt i databasen objekt typer og beliggenhed, sikkerhed og database styring proces områder eller med visse forskelle. Hvis du vil oprette DB2 database objekter i CLR, skal du først bruge Visual Studio og bruge nogle. NET lykkedes sprog for at skabe en DLL, den DLL filer skal kopieres til DB2 installation stien til en særlig mappe, eller opret en lagret procedure eller funktion tid til at give den fulde sti til denne DLL-fil. Denne DLL er faktisk ikke en database objekt og er ikke blevet indført i databasen bordet, tværtimod, det er bare et operativsystem fil. Derefter vil DLL vises i oprette databaseobjekter (såsom lagrede procedurer eller funktioner) i CREATE kommandoen. Deltager i de tekniske præsentation, vil du se brugen af Visual Studio 2003 kan automatisk oprette en DB2 CLR Stored Procedures for at fuldføre hele processen. Men at skabe bruger-defineret funktion er ikke det samme, du kun ske ved manuel proces til at skabe bruger-defineret funktion.

En database administrator eller en ansøgning program udviklere har behov for beskyttelse er normalt forbundet med DB2 eksternt program DLL procedurer Ji, som kan køre ved at begrænse programmets funktion til den erkendelse, at trin arbejder Zai skabelse proces eller funktion i det CREATE oversigten over UDØVENDE CONTROL klausul at fuldføre. En effektiv gennemførelse af kontrollen tilstande omfatter: SAFE, FILEREAD, FILEWRITE, netværk, og usikre. Hvis ikke specificeret udførelse betjening standardtilstanden er SAFE, hvilket vil betyde, at CLR procedure kun kan få adgang ved at databasen administrator kontrol af ressourcer, disse ressourcer indeholder alle de tabeller og databasen eksempel forvaltning. FILEREAD, FILEWRITE og udførelse mode NETVÆRK tillader administreret kode at få adgang til lokale filsystem eller netværksressourcer. Usikre udførelse mode vil ikke være nogen begrænsninger i adgangen til ressourcer, er markeret som usikre udførelse tilstanden kan udføre binær kode for proceduren. Da DB2 og. NET integration er vedtaget "-proces" model og derefter bruge CREATE erklæring for at oprette DB2 CLR procedurer og funktioner skal anvendes indhegnet klausul, for at illustrere. NET logik og database manager proces i forskellige Kør og ikke bruger delt hukommelse kommunikation. Dette har resulteret i programmet logik at overføre data mellem selve databasen, når "in-proces"-modellen i forhold til en performance barrierer.