SQL Server 2005 og DB2 8.2 Komparativ analyse


Sammenligning av resultatene skissert

Denne databasen plattformen i sammenligning av to resultater i å bygge en database applikasjon, bruker SQL Server 2005 (kodenavn "Yukon") i kombinasjon med Visual Studio for utvikling enn bruk av DB2 UDB 8.2 (kodenavn "Stinger") i kombinasjon med Visual Studio har en betydelig fordel. I utvikling, feilsøking og distribusjon av databaseløsninger, vil disse fordelene slå ut i tid og penger i sparing. I denne artikkelen markere den SQL Server 2005 sammenliknet med DB2 UDB 8.2 på. NET støtte til databaseobjekter til et bredt spekter av mer. I tillegg vil du finne i bygge og administrere databaseobjekter, SQL Server 2005 og Visual Studio integrert nivå enn DB2 UDB 8.2 og Visual Studio integrasjon nærmere. I denne artikkelen vil du også se SQL Server 2005 utviklingsplattform som tilbys av relasjonsdatabaser i tillegg, det er mange andre funksjoner som mer enn DB2 UDB 8.2.

Forord

I det siste, IT-utvikling teknologier i et programmeringsspråk, produktkonfigurasjon og data manipulasjon miljø av disse tre uavhengig ekspertise. Den integrerte bruken av disse ferdighetene ofte krever relativt uavhengig av teknisk kompetanse og mye arbeidskraft. Nå, med SQL Server 2005 og Visual Studio 2005 har vi et enhetlig utviklingsmiljø, integrert programmering modell som gir en total løsning, inkl klient database applikasjoner, server management verktøy og server-side databaseobjekter Bygg. Så riktig verktøy og rammeverk for funksjonell forbedring vil tillate utviklere og kunder kan dra nytte av det, fordi det ville ha søknad tilgjengelighet, ytelse, sikkerhet og skalerbarhet å ta med en omfattende oppgradering.

SQL Server 2005 og DB2 8.2 på Visual Studio miljø og database dataleverandøren integrering vil forenkle og forbedre programmet utviklingsprosessen. De gir for å øke produktiviteten, bygge og distribuere applikasjoner verktøy, som vil være utvikling og anvendelse til programmet ledelsen fører til bedre ytelse. SQL Server 2005 og DB2 UDB 8.2 på. NET Framework integrasjon har ført en mer effektiv og mer fleksibel databaseprogrammet utviklingsmiljø, dette har vært mer effektiv enn den forrige versjonen av gjennomføringen av en mer robust database løsning, det har en bedre brukervennlighet og skalerbarhet. Gjennom bruk av integrerte. NET miljøet, database utviklere kan bruke SQL-koden umulig å oppnå, før resultatene som oppnås. Som bruker. NET Framework, utviklere skrive kode for å få mer kompleks logikk, mer egnet for å løse datamaskinell problemer, og å få tilgang til eksterne systemer og nettverksressurser, som. NET språk som Visual Basic, C # og C + +, er helt objektorientert programmeringsspråk, med som innkapsling, arv og polymorfisme slikt objekt-orientert programmering funksjoner. De har også mange som ikke finnes i SQL språket funksjoner, slik som arrays, strukturert unntak håndtering, innsamling og så videre.

I dag gir Microsoft. NET den mest avanserte og effektive til å bygge og integrere databaseapplikasjoner miljø. I denne artikkelen vil vi sammenligne SQL Server 2005 og DB2 UDB 8.2, henholdsvis forutsatt. NET integrasjon nivå. For å fullt illustrere forskjellen, vil vi gjøre en detaljert teknisk presentasjon som viser bruk av SQL Server 2005 henholdsvis, og DB2 UDB 8.2 for a. NET lagrede prosedyrer i bestemte trinn.

Sammenligning av kjerneteknologien

Selv om SQL Server 2005 og DB2 UDB 8.2 er integrert. NET Framework og Visual Studio, men omfanget av integrering deres har betydelige forskjeller. Tabellen nedenfor viser dette på. NET integrasjon grad av sammenligning.



Data leverandøren

SQL Server 2005 og DB2 UDB 8.2 er satt opp. NET dataleverandøren gjør. NET klient programmet kan få tilgang til databasen plattform. Disse "naturlige" dataleverandører og data-baserte OLE DB-leverandøren enn det tjeneren søknaden vil føre til bedre ytelse og skalerbarhet. Begge dataleverandører har veldig lignende funksjoner, kan utføre grunnleggende ADO.NET objekter, inkludert Connection, Kommando, DataReader, datasett, og DataAdapter. Men de har en nøkkel forskjell: SQL Server. NET Data Provider er tilgjengelig i to modeller, en for klienten søknad, en for server-side-programmer. Dette er for server-side applikasjonsutvikling er spesielt viktig, fordi SQL Server-server-side. NET dataleverandøren er bosatt i minnet på prosedyren, trenger det ikke å gi programmet data som klienten som å ta hensyn til restriksjonene i nettverkstrafikk, derfor tjenersiden. NET dataleverandøren kan fokusere på. NET databaseobjekter for bedre ytelse. I tillegg til server-side dataleverandøren også åpnet en gruppe på serveren siden koden er bare egnet for funksjoner, slik som server-side markøren. For klientprogram data for å gi en åpen prosedyre i System.Data.SqlClient navnerom funksjonen, mens den server-side dataleverandøren fungerer som en åpen plass i System.Data.Sqlserver navn. I DB2 UDB 8.2, kun én IBM.Data.DB2 navnerommet. DB2. NET dataleverandøren bruker DB2Context objekt for å opprette i minnet i databasen tilkoblingen.

På serversiden, de har også likheter. DB2 og SQL Server-støtte for bruk av. NET språk for å lage programmer og den påfølgende distribusjon av serversiden. Bortsett fra denne grunnleggende konseptet, de to database plattformene. NET integrasjon har en helt annen nivå. DB2 UDB 8.2 har støtte for oppretting. NET lagrede prosedyrer og. NET brukerdefinert funksjon. Men Visual Studio IDE støtter kun opprette DB2 UDB 8.2. NET lagrede prosedyrer, DB2 UDB 8.2. NET funksjonene må manuelt opprettet. I kontrast, SQL Server 2005 对. NET støtte til et bredt spekter av mer. Og, som DB2, SQL Server støtter etableringen. NET lagrede prosedyrer og. NET brukerdefinert funksjon. Fra hverandre, støtter SQL Server også. NET triggere,. NET brukerdefinert type (UDT), og. NET brukerdefinerte aggregat. Alle disse objektene er fullt integrert i å lage Visual Studio 2005 IDE i. Kan bruke. NET språket bygge lagrede prosedyrer og funksjoner av databasen utviklere er absolutt gode nyheter, som vil gjøre dem i stand til å oppnå en mer kompleks forretningslogikk og funksjon, men ikke begrenset til standard funksjoner SQL-funksjon. Dette er utvilsomt. NET og database integrasjon nøkkelen, selvfølgelig bruke. NET språk for å lage utløsere, brukerdefinerte typer og brukerdefinerte aggregat er også nyttig. Bruk. NET språk for å lage en trigger for å utløse koden for å gjøre mer fullstendig innkapslet forretningslogikk, og samtidig utføre noen ekstra operasjoner, som for eksempel tilgang til eksterne ressurser og poster drift logg. Bruk. NET språk for å lage brukerdefinerte typer å tillate database utviklere for å utvide systemet eventuelle originale datatyper, kan disse brukerdefinerte typer har sine egne attributter og operatør uavhengig, noe som gjør det mulig for utviklere å sømløst utvide eksisterende datatyper , når i bruk og de opprinnelige dataene typen, har sine egne operatører og aggregering. På samme måte til bruk av. NET lage brukerdefinerte aggregering mulig for utviklere å lage egendefinerte samlinger brukt i de opprinnelige dataene type eller brukerdefinerte datatyper.

I tillegg til disse grunnleggende. NET funksjoner i. NET Framework og deres database server integrering er også viktige forskjeller. Den neste seksjonen vil vi være mer inngående diskusjon. NET integrasjon detaljer.

. NET Framework integrering

Microsoft ®. NET brukes til informasjon, menneskelige ressurser, systemer og utstyr knyttet til et sett av Microsoft-programvare-teknologi. . NET Framework er bygget og drevet neste generasjons programvare og Web Service komponentene er nødvendig for Windows.

. NET Framework

◆ støtter mer enn 20 typer forskjellige programmeringsspråk.

◆ Administrasjon av et stort antall "rørledning" - bidra til å forbedre effektiviteten av programvare utvikling og tillater utviklere å fokusere mer energi på kjernevirksomheten logikken kode.

◆ foreta bygge, distribuere og administrere en sikker, robust og høy ytelse programmer enklere enn noensinne å oppnå.

. NET Framework av Common Language Runtime (CLR) og enhetlig hierarkiske klassebibliotek består av en samling. . NET CLR funksjoner inkluderer drift av en integrert språktjenester, obligatoriske sikkerhet og hukommelse, prosess og tråd ledelse. I språket til integrering, definerer CLR en vanlig type system (CTS), som beskriver kryssingen av alle. NET språk, de grunnleggende datatyper og operasjoner på disse datatypene. . NET Framework er et stort antall klasser som er angitt for programutviklere i sine søknader Cheng Xu, klassen er på mange aspekter av innhold, inkludert I / O, Wang Luo, tekstbehandling, datatilgang, kryptering, XML prosessering, Web Service og så videre. Dette gjør at utviklere skal kunne fokusere sin innsats på å bygge forretningslogikk stedet begravet i "røret" i koden, som de kan. NET Framework klasser fokus å finne. SQL Server 2005 og IBM DB2 UDB 8.2 på. NET CLR integrasjonen gjør det mulig å bruke. NET språk (inkludert C #, Visual Basic, C # + + og J) for å utvikle databaseobjekter.

Disse to forskjellige database plattform og. NET Framework integrert tilnærming er helt annerledes. SQL Server 2005 database motoren vil være steder på CLR i prosessen, noe som betyr kjører databasen motor og. NET runtime bare et eget operativsystem prosesser. I motsetning, er DB2 UDB 8.2 og. NET Framework integrert med "-prosess" modellen. Figur 1 på annen database implementeringer CLR har blitt beskrevet tydelig.



Integrert modell av mening

SQL Server 2005 Integration. NET runtime når du bruker "prosessen" modell "-prosess"-modellen i forhold til noen veldig klare fordeler. Først den interne aktivere CLR integrasjonen i SQL Server kan behandle på en annen måte å kontrollere driften av CLR. Minnehåndtering, søppelrydding, tråd støtte kjernen funksjoner vil bli kontrollert av SQL Server verten, i stedet for. NET standardinnstillinger og drift. Dette er viktig fordi SQL Server-databasemotoren for bedre å studere i lys av den overordnede systemkrav, noe som gjør det optimalisert basert på faktisk minne og tråd ledelse. Til slutt, det "in-prosess" modell av SQL Server 2005 CLR integrasjon for å skape et mer robust og få bedre skalerbar løsning.

For eksempel vurdere en tung byrde på databasen eksempel å svare på mange samtidige forespørsler, en situasjon som har pågått i svært lang tid. SQL Server kan automatisk og intelligent i datalagring og program logikk (for eksempel. NET lagrede prosedyrer) balanse mellom tildelingen av minne. Når systemet har noen av byrden av endringer i naturen - for eksempel, vil relativt mer av prosedyrer for å be om bruk av mer logiske - SQL Server automatisk justeres på nytt. På denne måten, til systemet ytelse møtes de faktiske behov basert på skalerbarhet og pålitelighet av kontinuerlig optimalisering. Fordi DB2 UDB v8.2 med "-prosess" modell for integrering. NET runtime, slik at DB2 ikke kan gi denne type automat ressurser og ytelse optimalisering av dynamisk likevekt.

SQL Server 2005 ved hjelp av CLR hosting API for å implementere dynamisk optimalisering, disse API-bare. NET Framework versjon 2.0 der, og i den. NET Framework tidligere versjoner ikke. Uunngåelig følge av SQL Server 2005 må integreres. NET Framework 2.0 og DB2 integrering er. NET Framework 1.1, integrert naturlig lavt nivå.

. NET 2.0 og. NET 1.1 forskjell

Bruk. NET Framework 2.0 og SQL Server 2005 kombinert med Visual Studio 2005 og bruk. NET Framework 1.1 i kombinasjon med DB2 UDB 8,2, sammenlignet med noen betydelige fordeler. . NET Framework 2.0 og tidligere versjoner, med betydelig forbedrede funksjoner:

◆ å forbedre ytelsen og lasting tid

◆ støtter generiske (i samme klasse og metode for verdien av ulike typer data, som kjører, og dermed øke kode gjenbruk)

◆ støtte "redigering fortsette å løpe" (Rediger-og-Fortsette), kan utviklere endre koden i implementeringsprosessen, uten å måtte stoppe og starte feilsøking økten.

◆ En ny Data Protection API (DPAPI), slik at programmer kan kryptere visse sensitive opplysninger, som tilkoblingsstreng eller blokkering av minne.

◆ autentisering strømmer gjennom nye NegotiateStream og SslStream klasse kan du bruke Kerberos eller SSL for å oppnå klient-og server-side sikre kanaler.

◆ COM interoperabilitet forbedringer vil gjøre. NET applikasjoner til å ringe eksisterende COM objektet har bedre ytelse og pålitelighet.

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

◆ 64-bit programkompatibilitet

Distribusjon. NET logikken til SQL Server

Faktiske bruken av hver database plattform. NET objekt har en helt annen måte er. I SQL Server 2005, en ny SQL Server-database objekter montering (forsamling) er deployert. NET objekter (for eksempel triggere eller lagrede prosedyrer) den minste enheten av forsamlingen gruppen er deployert. NET minste logisk enhet. For å skape CLR databaseobjekter, må du først bruke Visual Studio 2005 å opprette en DLL. Da er denne DLL i SQL Server som database program objekt. Disse trinnene kan bruke kommandolinjen kompilatoren og CREATE ASSEMBLY kommandoen manuelt for å oppnå, eller som en del av den tekniske presentasjonen som i se, Visual Studio 2005 kan automatisk fullføre hele prosessen.

SQL Server sikkerhet i Assembly

SQL Server 2005 database administratorer for å gi en ny garanti enhet - forsamlingen. Forsamling kan bli merket som de tre statene sikkerhet: SAFE, eksterne, og usikre. Disse sikkerhet etiketter for database administratorer å administrere og beskytte alle i databasen til å kjøre forsamlingen nivå. NET-kode. SAFE sier etiketten forsamlingen med bare forvaltet kode og ikke få tilgang til ressurser utenfor databasen. EKSTERN etikett, sier forsamlingen til å bruke forvaltet kode for å få tilgang til eksterne ressurser, slik som Network File System, eller i andre ikke-database ressurser. Usikre etikett som kan inneholde hosting av denne forsamlingen og (eller) som ikke er forvaltet kode, og kan få tilgang til interne eller eksterne ressurser. Usikre montasje laget av databasen objektet har system administrator rettigheter kan kun utføres for brukerne.

Distribusjon. NET logikken til DB2

Selv om. NET forvaltet kode inn i prosessen med DB2 UDB 8.2 og SQL Server 2005 inn i prosessen er svært lik, men lagres i databasen objekttyper og plassering, sikkerhet og database administrasjon prosessområder, eller med noen forskjeller. For å opprette DB2-database objekter i CLR, må du først bruke Visual Studio og bruke noen. NET klart språk for å lage en DLL, DLL-filer må kopieres til DB2 installasjon banen til en spesiell katalog, eller opprette en lagret prosedyre eller funksjon tid til å gi den fullstendige banen til denne DLL filen. Dette DLL er ikke egentlig en database objekt og har ikke blitt importert inn i databasen tabellen, tvert imot, er det bare et operativsystem fil. Deretter vil DLL vises i opprette databasen objekter (for eksempel lagrede prosedyrer eller funksjoner) i CREATE kommandoen. Del i den tekniske presentasjonen, vil du se bruken av Visual Studio 2003 kan automatisk opprette en DB2 CLR lagrede prosedyrer til å fullføre hele prosessen. Imidlertid skaper brukerdefinert funksjon ikke det samme, du bare gjøres ved manuell prosess for å lage brukerdefinerte funksjonen.

En database administrator eller programutvikleren er vanligvis et behov for å beskytte den eksterne programmet er knyttet til DB2 DLL forsamlingen, som kan begrense bruken av programmet kjører for å oppnå dette trinnet i prosessen arbeid eller funksjon i CREATE-setningen gjennomføring CONTROL leddet å fullføre. Effektiv gjennomføring av kontrollen, blant annet: SAFE, FILEREAD, FILEWRITE, nettverk, og usikre. Hvis ikke spesifisert kjøring kontroll modus, er standardmodus SAFE, som vil bety at CLR prosedyren kan kun tilgang ved databasen administrator kontroll over ressurser, disse ressursene inkluderer alle de tabeller og databasen forekomsten rammeverket for forvaltningen. FILEREAD, FILEWRITE og kjøringsmodus NETTVERK lar forvaltet kode for å få det lokale filsystemet eller nettverksressurser. Usikre kjøringsmodus vil ikke bli noen restriksjoner på tilgang til ressurser, merket som usikre kjøringsmodus kan utføre binær kode for prosedyren. Siden DB2 og. NET integrering er vedtatt "-prosess"-modell, deretter bruke CREATE-setningen til å opprette DB2 CLR prosedyrer og funksjoner må brukes inngjerdet klausulen, for å illustrere. NET logikk og database manager prosessen i ulike Løpe og ikke bruker delt minne kommunikasjon. Dette har resultert i programmet logikk for å overføre data mellom selve databasen, når "in-prosess"-modellen i forhold til en forestilling barrierer.