Vergelijking van de resultaten beschreven
Deze database platform in de vergelijking van de twee resultaten in het bouwen van een database-applicatie, met behulp van SQL Server 2005 (codenaam "Yukon") in combinatie met Visual Studio voor ontwikkeling dan het gebruik van DB2 UDB 8.2 (codenaam "Stinger") in combinatie met Visual Studio hebben een belangrijk voordeel. Bij de ontwikkeling, debugging en de inzet van database-oplossingen, zullen deze voordelen vertalen in tijd en geld worden bespaard. In dit artikel aandacht vestigen op de SQL Server 2005 in vergelijking met de DB2 UDB 8,2 op. NET ondersteuning voor database-objecten naar een breed scala van nog veel meer. Daarnaast vindt u in de bouw en het beheer van database-objecten, SQL Server 2005 en Visual Studio geïntegreerde niveau dan DB2 UDB 8.2 en Visual Studio-integratie beter. In dit artikel zult u ook de SQL Server 2005 te zien ontwikkelingsplatform verstrekt door de in de relationele database Daarnaast zijn er nog vele andere functies die meer dan DB2 UDB 8.2.
Voorrede
In het verleden, IT-ontwikkeling technologieën in een programmeertaal, product-configuratie en data manipulatie omgeving van deze drie onafhankelijke deskundigen. Om het geïntegreerd gebruik van deze vaardigheden vereisen vaak relatief onafhankelijk van technische expertise en veel mankracht. Nu, met SQL Server 2005 en Visual Studio 2005, hebben we een verenigd ontwikkelomgeving, geïntegreerde programmering model dat een totaaloplossing biedt, inclusief client-database applicaties, server management tools en server-side database-objecten Bouw. Op tools en frameworks zoals functionele verbetering zal kunnen ontwikkelaars en klanten ervan kunnen profiteren, want het zou de beschikbaarheid van applicaties, prestaties, veiligheid en schaalbaarheid zijn om een volledige vernieuwing te brengen.
SQL Server 2005 en DB2 8.2 van Visual Studio milieu en de database gegevens aanbieder integratie zal vereenvoudigen en verbeteren van de applicatie ontwikkeling proces. Zij bieden om de productiviteit te verbeteren, bouwen en implementeren toepassingen hulpprogramma's, die de ontwikkeling en toepassing van het programma management leiden tot betere prestaties. SQL Server 2005 en 8,2 op de DB2 UDB. NET Framework integratie heeft geleid tot een meer doelmatige en flexibele database applicatie ontwikkeling, dit is efficiënter dan de vorige versie van de uitvoering van een meer robuuste database oplossing, het gebruiksgemak en heeft een betere schaalbaarheid. Door het gebruik van geïntegreerde. NET omgeving, database-ontwikkelaars kunnen de SQL-code onmogelijk is te bereiken voordat de verkregen resultaten te gebruiken. Door gebruik te maken. NET Framework, ontwikkelaars code schrijven om meer complexe logica hebben, meer geschikt voor het oplossen van computationele problemen, en de toegang tot externe systemen en netwerkbronnen, zoals. NET-talen zoals Visual Basic, C # en C + +, zijn volledig object-georiënteerde programmeertaal, met als inkapseling, overerving en polymorfisme zo'n object-georiënteerd programmeren functies. Ze hebben ook velen die dit niet doen in de taal SQL functies bestaan, zoals arrays, gestructureerde foutafhandeling, de verzameling en ga zo maar door.
Vandaag, Microsoft. NET biedt de meest geavanceerde en efficiënte op te bouwen en integreren van database-applicaties omgeving. In dit artikel zullen we vergelijken met de SQL Server 2005 en DB2 UDB 8.2, respectievelijk bedoeld. NET-integratie niveau. Om volledig te illustreren het verschil, dan doen wij een gedetailleerde technische presentatie is aan het verschil met behulp van de SQL Server 2005 en 8,2 DB2 UDB voor a. NET show opgeslagen procedures in de specifieke stappen.
Vergelijking van de core-technologie
Hoewel SQL Server 2005 en DB2 UDB 8.2. NET Framework en Visual Studio, maar de mate van hun integratie geïntegreerde heeft significante verschillen. De volgende tabel geeft dit op hun. NET-integratie mate van vergelijking.
Gegevens aanbieder
SQL Server 2005 en DB2 UDB 8.2 zijn ingesteld. NET data provider maakt. NET client-programma kan toegang krijgen tot de database platform. Deze "natuurlijke" verstrekkers van gegevens en de gegevens op basis van OLE DB-provider dan de server applicatie zal resulteren in betere prestaties en schaalbaarheid. Beide data providers hebben een zeer vergelijkbare functies kunnen uitvoeren elementaire ADO.NET voorwerpen, met inbegrip van Connection, Command, DataReader, DataSet, en gegevensadapter. Maar ze hebben een belangrijk verschil: SQL Server. NET Data Provider is verkrijgbaar in twee modellen, een voor de client-toepassing, een voor de server-side applicaties. Dit is voor de server-side applicatie-ontwikkeling is bijzonder belangrijk omdat de SQL Server-server-side. NET data provider is een inwoner in het geheugen van het programma dat niet zoals de data provider als de klant aan de beperkingen van het netwerkverkeer, het dus de server kant. NET data provider kan concentreren. NET database-objecten voor betere prestaties. Bovendien, de server-side data provider opende ook een groep op de server side code is alleen geschikt voor functies, zoals server-side cursor. Voor de client applicatie data naar een open procedure in de naamruimte System.Data.SqlClient functie te bieden, terwijl de server-side data provider fungeert als een open ruimte in System.Data.Sqlserver naam. In DB2 UDB 8.2, alleen enkele IBM.Data.DB2 naamruimte. DB2. NET data provider gebruikt DB2Context object te creëren in het geheugen van de database connectie.
Op de server kant, ze hebben ook overeenkomsten. DB2 en SQL Server ondersteunen het gebruik van. NET-taal om applicaties te bouwen en de daaropvolgende inzet van de server. Afgezien van dit basisconcept, de twee database platforms. NET-integratie is een heel ander niveau. DB2 UDB 8.2 ondersteunt de schepping. NET stored procedures en. NET gebruiker gedefinieerde functie. Echter, Visual Studio IDE ondersteuning alleen maar leiden tot DB2 UDB 8.2. NET stored procedures, DB2 UDB 8.2. NET functies moeten handmatig worden gemaakt. In tegenstelling, SQL Server 2005 对. NET ondersteuning van een breed scala van nog veel meer. En, zoals DB2, SQL Server ondersteunt de schepping. NET stored procedures en. NET gebruiker gedefinieerde functie. Bovendien, SQL Server ondersteunt ook. NET triggers. NET gebruiker gedefinieerd type (UDT), en. NET gebruiker gedefinieerde aggregaat. Al deze objecten zijn volledig geïntegreerd in het maken van Visual Studio 2005 IDE in de. Kan gebruik maken. NET-taal op te bouwen stored procedures en functies van het database-ontwikkelaars is zeker goed nieuws, die hen zal toestaan om een meer complexe business logica en de functie functies bereiken zonder de standaard SQL-functionaliteit is beperkt. Dit is zonder twijfel. NET en database-integratie de sleutel, uiteraard, te gebruiken. NET taal triggers, user-defined typen en door de gebruiker gedefinieerde aggregaat is ook nuttig. Gebruik. NET-taal om een trigger te creëren om de code te activeren om meer volledig ingegoten business logica te maken, terwijl ook een aantal extra bewerkingen uitvoeren, zoals de toegang tot externe bronnen en records werking log. Gebruik. NET-taal door de gebruiker gedefinieerde soorten te scheppen database ontwikkelaars in staat om het systeem uit te breiden alle originele data types, kunnen deze door de gebruiker gedefinieerde soorten hebben hun eigen kenmerken en operator onafhankelijke, waarmee ontwikkelaars naadloos uitbreiden van de bestaande data types bij gebruik en de originele data type, hun eigen bedrijven en aggregatie. Ook het gebruik van. NET te creëren door de gebruiker gedefinieerde bundeling kunnen ontwikkelaars aangepaste aggregaties gebruikt in de originele data type of user-defined data types.
Naast deze Basic. NET functies inch NET Framework en hun database server integratie zijn ook grote verschillen. De volgende sectie zullen we een meer diepgaande discussie. NET-integratie details.
. NET Framework integratie
Microsoft ®. NET wordt gebruikt om informatie, human resources, systemen en apparatuur in verband met een reeks van Microsoft-software technologie. . NET framework voor het bouwen en uitvoeren van de volgende generatie van software-applicaties en Web Service componenten die nodig zijn voor Windows.
. NET Framework
◆ ondersteunen meer dan 20 soorten verschillende programmeertalen.
◆ Het beheer van een groot aantal van de "pipeline" - bijdragen tot een verbetering van de efficiëntie van software-ontwikkeling en het ontwikkelaars mogelijk om meer energie te richten op de core business logic code.
◆ te bouwen, implementeren en beheren van een veilige, robuuste en hoogwaardige toepassingen makkelijker dan ooit te bereiken.
. NET Framework door de Common Language Runtime (CLR) en unified hiërarchische class library bestaande uit een verzameling. . NET CLR functies omvatten de werking van een geïntegreerde taal dienst, verplicht de veiligheid en het geheugen, het proces en thread management. In de taal van de integratie, CLR definieert een Common Type System (CTS), die de kruising van alle beschreven. NET-taal, de basisgegevens types en operaties op die gegevens typen. . NET Framework biedt een aantal klassen voor ontwikkelaars om hun applicaties toe te passen, deze klasse van set omvat een groot aantal aspecten, waaronder de I / O, netwerk, tekstverwerking, toegang tot de gegevens, encryptie, XML-verwerking, Web Service en zo verder. Dit stelt ontwikkelaars in staat om hun inspanningen op het opbouwen van business logica in plaats van begraven in de "pipeline" in de code focus, als ze kunnen. NET Framework klassen focus te vinden. SQL Server 2005 en IBM DB2 UDB 8,2 op. NET CLR integratie maakt het mogelijk gebruiken om enig. NET-talen (waaronder C #, Visual Basic, C + + en J #) om database objecten te ontwikkelen.
Deze twee verschillende database platform en. NET Framework geïntegreerde aanpak is totaal verschillend. SQL Server 2005-database-engine zal plaatsen op de CLR binnen het proces, wat betekent dat het beheer van de database-engine en. NET runtime alleen een apart besturingssysteem processen. In tegenstelling, is DB2 UDB 8.2 en. NET Framework geïntegreerd met "-proces"-model. Figuur 1 op verschillende database-implementaties CLR is duidelijk beschreven.
Geïntegreerd model van betekenis
SQL Server 2005 Integration. NET runtime bij het gebruik van "het proces van" model "-proces"-model in vergelijking met een aantal zeer duidelijke voordelen. In de eerste plaats staat de interne CLR integratie in SQL Server kan verwerken op een andere manier de controle op de werking van de CLR. Memory management, garbage collection, draad ter ondersteuning van de kerntaken zal worden gecontroleerd door de SQL server, in plaats van. NET standaard instellingen en de werking. Dit is belangrijk omdat de SQL Server-database-engine om beter te bestuderen vanuit het perspectief van het gehele systeem eisen, waardoor het geoptimaliseerd op basis van de werkelijke geheugen en draad management. Ten slotte, de "in-process"-model van SQL Server 2005 CLR integratie tot een meer robuuste en ontvang het creëren van betere schaalbare oplossing.
Bijvoorbeeld, overweeg dan een zware last op de database bijvoorbeeld, om te reageren op een groot aantal gelijktijdige verzoeken, de situatie is al voor een zeer lange tijd. SQL Server kan automatisch en op intelligente wijze in de opslag van gegevens en programma-logica (bijvoorbeeld. NET stored procedures) evenwicht tussen de toewijzing van geheugen. Wanneer het systeem een deel van de last van de veranderingen in de natuur - bijvoorbeeld heeft relatief meer van de gevraagde procedures gebruik van de meer logische - SQL Server wordt automatisch opnieuw worden afgesteld. Op deze manier, om het systeem de prestaties voldoen aan de werkelijke behoeften gebaseerd op de schaalbaarheid en de betrouwbaarheid van continue optimalisatie. Omdat DB2 UDB V8.2 met "-proces"-model van integratie. NET runtime, dus DB2 kan niet in dit type van machine middelen en prestatie-optimalisatie van dynamisch evenwicht.
SQL Server 2005 met behulp van de CLR hosting API voor dynamische optimalisatie uit te voeren, deze API enkel. NET Framework versie 2.0 is er, en in de. NET Framework eerdere versies niet. Het onvermijdelijke gevolg, SQL Server 2005 moeten worden geïntegreerd. NET Framework 2.0 en DB2 integratie is. NET Framework 1.1, geïntegreerde natuurlijke laag niveau.
. NET 2.0 en. NET 1.1 verschil
Gebruik. NET Framework 2.0 en SQL Server 2005 in combinatie met Visual Studio 2005 en het gebruik. NET Framework 1.1 in combinatie met DB2 UDB 8.2, vergeleken met een aantal belangrijke voordelen. . NET Framework 2.0 en eerdere versies, met een aanzienlijk verbeterde functies:
◆ de prestaties en de laadtijden te verbeteren
◆ ondersteuning van de generieke (van dezelfde klasse en methode voor de waarde van verschillende soorten gegevens, zoals hardlopen, waardoor het hergebruik van code)
◆ support "editing blijven draaien" (Edit-en Vervolg), kunnen ontwikkelaars de code te wijzigen in het implementatieproces, zonder te stoppen en de debug sessie opnieuw op te starten.
◆ Een nieuwe Data Protection API (DPAPI), zodat applicaties kunnen bepaalde gevoelige informatie, zoals het versleutelen verbinding string of een blok van het geheugen.
◆ authenticatie stroom door de nieuwe NegotiateStream SslStream klasse en kunt u gebruikmaken van Kerberos of SSL-cliënt en server-side veilige kanalen te bereiken.
◆ COM interoperabiliteit verbeteringen zullen maken. NET applicaties op bestaande COM-object oproep heeft de betere prestaties en betrouwbaarheid.
◆ Verbeterde I / O-prestaties met de steun van de gegevens GZIP compressie
◆ 64-bit compatibiliteit van toepassingen
Deployment. NET logica naar SQL Server
Het feitelijke gebruik van elke database platform. NET-object heeft een heel andere manier is het. In SQL Server 2005, een nieuwe SQL Server-database objecten Vergadering (Assemblee) wordt ingezet. NET-objecten (zoals triggers of stored procedures) de kleinste eenheid van de bouwgroep is. NET kleinste logische eenheid ingezet. Met het oog op CLR database objecten te creëren, moet u eerst gebruik maken van de Visual Studio 2005 tot een DLL te maken. Dan is deze DLL in SQL Server als database programma object. Deze stappen kunnen gebruik maken van de command line compiler en de CREATE ASSEMBLY commando handmatig te bereiken, of als onderdeel van de technische presentatie als in zie, Visual Studio 2005 kan automatisch het geheel compleet proces.
SQL Server-beveiliging in de Algemene Vergadering
SQL Server 2005 database administrators om een nieuwe beveiliging eenheid - de montage te bieden. Vergadering kunnen worden gemarkeerd als de drie veiligheidsniveaus Staten: veilig, extern, en onveilig. Deze veiligheidsmaatregelen labels voor database administrators te beheren en beschermen van alle in de database naar de verzamelplaats niveau uit te voeren. NET-code. SAFE zei het etiket de montage met alleen beheerde code en heeft geen toegang tot bronnen buiten de database. EXTERNE label, zei de montage om de code te gebruiken in geslaagd om toegang tot externe middelen, zoals het Network File System of in andere, niet-database middelen. Onveilige label dat kan omvatten het hosten van deze vergadering en (of) niet-beheerde code, en kan toegang tot alle interne of externe bronnen. Onveilige montage gemaakt door de database-object heeft de systeembeheerder rechten kunnen alleen worden uitgevoerd voor de gebruikers.
Deployment. NET logica om DB2
Hoewel de. NET managed code in het proces van DB2 UDB 8.2 en SQL Server 2005 in het proces is zeer vergelijkbaar, maar opgeslagen in de database-object en de locatie, veiligheid en database management process areas, of met enkele verschillen. Voor het maken van DB2 database objecten in de CLR, moet u het eerste gebruik van Visual Studio en het gebruik een aantal. NET Managed taal om een DLL, de DLL-bestanden te maken moeten worden gekopieerd naar de DB2-installatie pad naar een speciale map, of maak een opgeslagen procedure of functie tijd om het volledige pad naar deze DLL-bestand. Deze DLL is eigenlijk geen database-object en niet zijn ingevoerd in de database tabel, integendeel, het is gewoon een besturingssysteem bestand. Dan zal het DLL-bestand verschijnt in het create database objecten (zoals stored procedures of functies) in het creëren commando. Deel in de technische presentatie, ziet u het gebruik van Visual Studio 2003 kan er automatisch een DB2 CLR Stored Procedures om het hele proces te voltooien. Echter, het creëren van de gebruiker gedefinieerde functie is niet hetzelfde, je alleen worden gedaan door handmatige processen om de gebruiker gedefinieerde functie te creëren.
Een database beheerder of ontwikkelaar van toepassingen is meestal een noodzaak om te beschermen en DB2 externe programma's met betrekking tot procedures DLL Ji, die kan worden uitgevoerd door een beperking van de realisatie van de operationele Lai, Gong Zuo Zhe stap in het proces of de functie gemaakt wanneer de CREATE Yu Ju UITVOERING control clausule in te vullen. Effectieve uitvoering van de controle modi zijn: SAFE, FILEREAD, FILEWRITE, NETWERK, en onveilig. Indien niet opgegeven uitvoering control mode, de standaard modus is veilig, dat zal betekenen dat de CLR procedure enkel kan de toegang van de database administrator beheer van de middelen, zoals middelen omvatten alle tabellen en de database bijvoorbeeld management framework. FILEREAD, FILEWRITE en uitvoering mode-netwerk biedt beheerde code voor de lokale bestandssysteem of netwerkbronnen. Onveilige uitvoering modus zal geen sprake zijn van beperkingen op de toegang tot middelen, gemarkeerd als onveilige modus kan de uitvoering binaire code uit te voeren voor de procedure. Sinds DB2 en. NET-integratie is vastgesteld "proces"-model, gebruik dan de CREATE statement naar de DB2 CLR procedures en functies te creëren moet worden gebruikt AFGESLOTEN clausule. NET logica en de database manager proces in verschillende illustreren Uitvoeren en geen gebruik van het gedeelde geheugen, communicatie. Dit heeft geresulteerd in het programma logica om de overdracht van gegevens tussen de database zelf, wanneer de "in-process"-model in vergelijking met een performance barrières.