SQL Server 2005 och DB2 8,2 komparativ analys


Jämförelse av resultaten beskrivs

Denna databas plattform vid en jämförelse av två resultat i att bygga en databas program med hjälp av SQL Server 2005 (med kodnamnet "Yukon") i kombination med Visual Studio för utveckling än användningen av DB2 UDB 8,2 (med kodnamnet "Stinger") i kombination med Visual Studio har en betydande fördel. I utveckling, felsökning och installation av databaslösningar kommer dessa vinster att omsättas i tid och pengar i besparingar. I den här artikeln lyfta fram SQL Server 2005 jämfört med DB2 UDB 8,2 på. NET stöd för databasobjekt till en lång rad mer. Dessutom kommer du att bygga och hantera databasobjekt, SQL Server 2005 och Visual Studio integrerade nivå än DB2 UDB 8,2 och Visual Studio integration närmare. I den här artikeln kommer du också att se SQL Server 2005 utvecklingsplattform från relationsdatabasen dessutom finns det många andra funktioner som mer än DB2 UDB 8,2.

Förord

Tidigare, IT-utveckling teknik i ett programspråk, produktkonfiguration och datamanipulation miljö för dessa tre oberoende expertis. Till den integrerade användningen av dessa kunskaper ofta kräver relativt oberoende av teknisk expertis och en massa arbetskraft. Nu, med SQL Server 2005 och Visual Studio 2005 har vi en gemensam utvecklingsmiljö, integrerad programplanering modell som erbjuder en heltäckande lösning, inklusive klientapplikationer databas, verktyg för serverhantering och serversidan databasobjekt Byggande. På verktyg och ramverk såsom funktionell förbättring gör det möjligt för utvecklare och kunder kan dra nytta av det, eftersom det skulle få ansökan tillgänglighet, prestanda, säkerhet och skalbarhet för att få en omfattande uppgradering.

SQL Server 2005 och DB2 8,2 på Visual Studio miljön och data databas leverantören integration kommer att förenkla och förbättra processen för applikationsutveckling. De ger att öka produktiviteten, bygga och driftsätta applikationer verktyg, som kommer att vara utveckling och ansökan till programmet förvaltning leder till bättre resultat. SQL Server 2005 och DB2 UDB 8,2 på. NET Framework integrationen har inneburit en effektivare och mer flexibel databas miljö för utveckling, detta har varit mer effektiv än den tidigare versionen av genomförandet av en mer robust databas lösning, det har en bättre användarvänlighet och skalbarhet. Genom att använda integrerade. NET miljö, utvecklare databas kan använda SQL-koden omöjligt att uppnå innan de erhållna resultaten. Genom att använda. NET Framework, utvecklare skriver kod för att få mer komplexa logiska, mer lämpade för att lösa beräkningsproblem och tillgång till externa system och nätverksresurser, som. NET språk som Visual Basic, C # och C + +, är helt objektorienterat programmeringsspråk, med som inkapsling, arv och polymorfism sådan objektorienterad programmering funktioner. De har också många som inte finns i SQL-språket funktioner, till exempel arrayer, strukturerad undantagshantering, insamling och så vidare.

Idag erbjuder Microsoft. NET de mest avancerade och effektiva för att bygga och integrera databasapplikationer miljö. I denna artikel kommer vi att jämföra de SQL Server 2005 och DB2 UDB 8,2 respektive förutsättning. NET integration nivå. För att till fullo beskriva skillnaden, kommer vi att göra en detaljerad teknisk presentation att visa skillnaden med hjälp av SQL Server 2005 och DB2 UDB 8,2 för a. NET lagrade procedurer i konkreta åtgärder.

Jämförelse av kärnteknologi

Även om SQL Server 2005 och DB2 UDB 8,2 är integrerade. NET Framework och Visual Studio, men omfattningen av deras integration har betydande skillnader. Följande tabell visar detta på. NET integration grad av jämförelse.



Uppgiftslämnaren

SQL Server 2005 och DB2 UDB 8,2 levereras med både. NET uppgiftslämnare gör. NET klient programmet kan komma åt databasen plattformen. Dessa "naturliga" uppgifter leverantör av data-baserade OLE DB-providern jämfört med servern ansökan kommer att leda till bättre prestanda och skalbarhet. Båda uppgiftslämnarna har mycket liknande funktioner kan utföra grundläggande ADO.NET föremål, inklusive Connection, Command, DataReader, DataSet och DataAdapter. Men de har en väsentlig skillnad: SQL Server. NET Data Provider finns i två modeller, en för kunden ansökan, en för server-side-applikationer. Detta är för server-side applikationsutveckling är särskilt viktigt eftersom SQL Server-server-side. NET uppgiftsleverantör är bosatt i minnet av programmet som inte gillar de uppgifter som leverantören som kunden att överväga begränsningar av nätverkstrafik därför serversidan. NET Uppgiftslämnaren kan fokusera på. NET databasobjekt för bättre prestanda. Dessutom serversidan uppgiftslämnare också öppnat en grupp på serversidan koden endast är lämpliga för funktioner, t.ex. server-side markören. För uppgifterna klientprogrammet för att ge ett öppet förfarande i System.Data.SqlClient namnrymden funktion medan serversidan uppgiftslämnare fungerar som en öppen plats i System.Data.Sqlserver namn. I DB2 UDB 8,2, bara enstaka IBM.Data.DB2 namnrymden. DB2. NET data leverantör använder DB2Context syfte att skapa i minnet i databasen anslutning.

På serversidan, de har också likheter. DB2 och SQL Server stöder användning av. NET språk för att bygga applikationer och den efterföljande användningen av serversidan. Bortsett från detta grundläggande koncept, två databasen plattformarna. NET integrationen har en helt annan nivå. DB2 UDB 8,2 stöder skapandet. NET lagrade procedurer och. NET användardefinierade funktionen. Men Visual Studio IDE stöd bara skapa DB2 UDB 8,2. NET lagrade procedurer, DB2 UDB 8,2. NET funktioner måste manuellt skapas. Däremot SQL Server 2005 对. NET: s stöd till en lång rad mer. Och liksom DB2 stödjer SQL Server skapande. NET lagrade procedurer och. NET användardefinierade funktionen. Dessutom stöder SQL Server också. NET triggers,. NET användardefinierad typ (UDT), och. NET användardefinierade samlade. Samtliga av dessa objekt är fullt integrerade i skapandet av Visual Studio 2005 IDE i. Kan använda. NET språk bygga lagrade procedurer och funktioner av databasen utvecklare är verkligen goda nyheter, som gör det möjligt för dem att uppnå en mer komplex affärslogik och-funktioner utan att behöva standard SQL-funktioner är begränsad. Detta utan tvekan är. NET och databas integration nyckeln, naturligtvis använda. NET språk för att skapa triggers, användardefinierade typer och användardefinierade aggregat är också användbart. Använd. NET språk för att skapa en avtryckare för att visa koden för att göra mer helt inkapslat affärslogik och samtidigt utföra några ytterligare åtgärder, såsom tillgång till externa resurser och register drift logg. Använd. NET språk för att skapa användardefinierade typer så att databas utvecklare att utvidga systemet några ursprungliga datatyper kan dessa användardefinierade typer har sina egna attribut och operatörsoberoende, vilket gör det möjligt för utvecklare att sömlöst förlänga befintliga datatyper under användning och den ursprungliga datatypen, har sina egna aktörer och sammanläggning. Likaså att använda. NET skapa egendefinierade aggregering kan utvecklare skapa en anpassad sammanställning tillämpas till befintliga datatyper eller användardefinierade datatyper.

Utöver dessa grundläggande. NET funktioner i. NET Framework och deras databasserver integration är också viktiga skillnader. I nästa avsnitt kommer vi att mer djupgående diskussion. NET integration detaljer.

. NET Framework integration

Microsoft ®. NET används för att information, personal, system och utrustning i samband med en uppsättning av Microsoft-programvara teknik. . NET Framework är att bygga och driva nästa generation av program och Web Service komponenter som krävs för Windows.

. NET Framework

◆ stöd mer än 20 typer av olika programmeringsspråk.

◆ Förvaltning av ett stort antal "pipeline" - bidra till att förbättra effektiviteten i programvaruutveckling och tillåter utvecklarna att fokusera mer energi på kärnverksamheten logik kod.

◆ att bygga, driftsätta och administrera en säker, robust och högpresterande applikationer enklare än någonsin att uppnå.

. NET Framework av Common Language Runtime (CLR) och enhetligt hierarkiskt klassbibliotek som består av en samling. . NET CLR funktioner inkluderar drift av ett integrerat språk service, obligatorisk säkerhetsutbildning och minne, process och tråd förvaltning. På det språk som integration, definierar CLR ett gemensamt typsystem (CTS), som beskriver passage av alla. NET språk, grundläggande datatyper och operationer på dessa datatyper. . NET Framework innehåller ett antal klasser som för utvecklare att gälla för deras tillämpning omfattar de som klasser många aspekter, inklusive I / O, nätverk, textbehandling, tillgång till data, kryptering, XML-bearbetning, Web Service och så vidare. Detta gör det möjligt för utvecklare att kunna koncentrera sina ansträngningar på att bygga affärslogik istället begravd i "pipeline" i koden, eftersom de kan. NET Framework klasser fokus att hitta. SQL Server 2005 och IBM DB2 UDB 8,2 på. NET CLR integration gör det möjligt att använda alla. NET språk (bland annat C #, Visual Basic, # C + + och J) för att utveckla databasobjekt.

Dessa två olika databas-plattform och. NET Framework integrerad strategi är helt annorlunda. SQL Server 2005 databas motorn kommer att ställen på CLR i processen, vilket innebär att köra databasmotorn och. NET runtime endast ett separat operativsystem processer. Däremot DB2 UDB 8,2 och. NET Framework integration med "processen" modell. Figur 1 på annan databas implementationer CLR har beskrivits tydligt.



Integrerad modell av mening

SQL Server 2005 Integration. NET runtime när du använder den "processen" modell "-process"-modell jämfört med en del mycket tydliga fördelar. Först den inre möjliggöra CLR integrationen i SQL Server kan behandla på ett annat sätt att kontrollera driften av CLR. Minneshantering, sophämtning, tråd stöd huvudfunktionerna kommer att kontrolleras av SQL Server-värd, i stället. NET: s standardinställningar och drift. Detta är viktigt eftersom SQL Server-databasmotorn för att bättre studera utifrån det övergripande systemkrav, vilket gör det optimeras utifrån faktiska minne och tråd förvaltning. Slutligen "in-process" modell av SQL Server 2005 CLR integration för att skapa ett mer robust och få bättre skalbar lösning.

Till exempel anser en tung börda för databasen exempelvis att svara på många samtidiga förfrågningar har situationen pågått under en mycket lång tid. SQL Server kan automatiskt och intelligent datalagring och programlogik (till exempel. NET lagrade procedurer) balans mellan tilldelning av minne. När systemet har en del av bördan av förändringar i naturen - till exempel, kommer relativt mer av förfarandena för att begära användning av det mer logiskt - SQL Server automatiskt justeras igen. På detta sätt att systemets prestanda uppfyller de faktiska behoven bygger på skalbarhet och tillförlitlighet för kontinuerlig optimering. Eftersom DB2 UDB v8.2 med "processen" modell för integration. NET runtime, så DB2 inte kan tillhandahålla denna typ av maskin resurser och prestanda optimering av dynamisk jämvikt.

SQL Server 2005 med hjälp av CLR värd API för att genomföra dynamisk optimering, dessa API bara. NET Framework version 2.0 där och i. NET Framework tidigare versioner inte. Följd, SQL Server 2005 måste integreras. NET 2.0 Framework som DB2 integration. NET Framework 1.1, integrerad naturliga låg nivå.

. NET 2.0 och. NET 1,1 skillnad

Använd. NET Framework 2.0 och SQL Server 2005 i kombination med Visual Studio 2005 och använda. NET Framework 1.1 tillsammans med DB2 UDB 8,2, jämfört med några betydande fördelar. . NET Framework 2.0 och tidigare versioner, med avsevärt förbättrade funktioner:

◆ att förbättra resultaten och laddningstid

◆ stöd för generiska (samma klass och metod för värdet av olika datatyper, som att springa och därigenom öka återanvändning av kod)

◆ stöd "redigering fortsätta att köra" (Redigera-och fortsätt), kan utvecklare modifiera koden i genomförandet, utan att behöva stanna och starta om felsökning session.

◆ En ny dataskydd API (DPAPI), så applikationer kan kryptera vissa känsliga uppgifter, såsom anslutning sträng eller block av minne.

◆ autentisering flödet genom nya NegotiateStream och SslStream klass gör att du kan använda Kerberos eller SSL för att uppnå klient-och serversidan säkra kanaler.

◆ KOM interoperabilitet förbättringar kommer att göra. NET-applikationer att ringa befintliga COM-objekt har bättre prestanda och tillförlitlighet.

◆ Förbättrad I / O-prestanda med stöd av GZIP datakomprimering

◆ 64-bitars kompatibilitetsproblem

Deployment. NET logik till SQL Server

Faktisk användning av varje databas plattform. NET objekt har ett helt annat sätt är. I SQL Server 2005, en ny SQL Server-databas objekt församling (församlingen) är aktiva. NET (såsom triggers eller lagrade procedurer) den minsta enheten av utrustningen gruppen är aktiva. NET minsta logisk enhet. För att skapa CLR databasobjekt, måste du först använda Visual Studio 2005 för att skapa en DLL. Då denna DLL i SQL Server som databas program objekt. Dessa steg kan använda kompilatorn kommandoraden och CREATE MONTERING kommando manuellt för att uppnå, eller som en del av den tekniska presentationen som i se, Visual Studio 2005 kan automatiskt fylla i hela processen.

SQL Server-säkerhet i församlingen

SQL Server 2005 databas administratörer att skapa en ny säkerhet enhet - monteringen. Församlingen kan markeras som de tre skyddsnivåerna lydelse: SAFE, externa, och osäker. Dessa säkerhet etiketter för databas administratörer att hantera och skydda alla i databasen för att köra monteringen nivå. NET-kod. SAFE sade etiketten montering med endast hanterad kod och inte resurser tillgång utanför databasen. EXTERN etikett, sade församlingen att använda hanterad kod att få tillgång till externa resurser, till exempel nätverks filsystem eller inom andra icke-databas resurser. OSÄKER etikett som kan inkludera värd för denna församling och (eller) icke-förvaltad kod, och kan få tillgång alla interna och externa resurser. Osäker montering skapats av databasobjekt har rättigheter systemadministratören kan endast utföras för användarna.

Deployment. NET logik till DB2

Även om den. NET hanterad kod i processen av DB2 UDB 8,2 och SQL Server 2005 i processen är mycket likt, men lagras i olika databasobjekt och plats, säkerhet och databashantering områden process, eller med vissa skillnader. För att skapa DB2 databas objekt i CLR, måste du först använda Visual Studio och använda några. NET lyckades språket för att skapa en DLL, DLL-filer måste kopieras till DB2 installationen stig till en speciell katalog, eller skapa en lagrad procedur eller funktion tid att ge den fullständiga sökvägen till denna DLL-fil. Denna DLL är egentligen inte ett databasobjekt och har inte importerats till databasen tabellen, tvärtom, det är bara ett operativsystem fil. Då kommer DLL visas i skapa databasen (såsom lagrade procedurer eller funktioner) i CREATE kommandot. Del i den tekniska presentationen kommer du att se användningen av Visual Studio 2003 kan automatiskt skapa en DB2 CLR Stored Procedures för att slutföra hela processen. Men skapar användardefinierade funktionen inte samma sak, du bara ske genom manuell process för att skapa användardefinierade funktionen.

En databas administratör eller programutvecklare är vanligtvis en need att skydda den externa program som är associerat med DB2-DLL församling, vilket kan begränsa driften av programmet körs för att uppnå detta steg i skapandeprocessen av arbete eller funktion i CREATE statement behörighetslistan klausul att slutföra. Ett effektivt genomförande av kontroll lägen är: SAFE, FILEREAD, FILEWRITE, nätverk och osäkra. Om den inte anges läge utförande kontroll, är standardläget SAFE, vilket kommer att innebära att CLR förfarandet endast kan få tillgång till databasen administratören kontroll över resurser, resurser är alla tabeller och databasen exempel förvaltning. FILEREAD, FILEWRITE och körningsläget nätverk kan hanterad kod att komma åt det lokala filsystemet eller nätverksresurser. OSÄKER körningsläget kommer inte att eventuella inskränkningar i tillgången till resurser, märkt som osäkert körningsläget kan utföra binär kod för förfarandet. Eftersom DB2 och. NET integration antas "-process"-modell, använd sedan CREATE uttalande att skapa DB2 CLR procedurer och funktioner måste användas inhägnat klausul, för att illustrera. NET logik och databashanterare process i olika Kör och inte använder delat minne kommunikation. Detta har resulterat i programmets logik att överföra data mellan själva databasen, när "in-process"-modellen jämfört med en prestanda hinder.