DB2 8.2 y SQL Server 2005, en comparación


Comparación de los resultados previstos

Esta plataforma de base de datos en la comparación de los dos resultados en la construcción de una aplicación de base de datos, utilizando SQL Server 2005 (con nombre en código "Yukon") combinado con Visual Studio para el desarrollo que el uso de DB2 UDB 8.2 (nombre en código "Stinger") combinado con Visual Studio tienen una ventaja significativa. En el desarrollo, depuración y despliegue de soluciones de bases de datos, estas ventajas se traducen en tiempo y dinero en ahorros. En este artículo destaque la de SQL Server 2005 en comparación con el 8.2 en DB2 UDB. NET de apoyo para los objetos de base de datos para una amplia gama de más. Además, se encuentra en construcción y gestión de objetos de base de datos, SQL Server 2005 y Visual Studio integrado que el nivel de DB2 UDB 8.2 y la integración de Visual Studio más de cerca. En este artículo, también verá la plataforma de SQL Server 2005 para el desarrollo proporcionada por la base de datos relacional, además, hay muchas otras características que más de DB2 UDB 8.2.

Prólogo

En el pasado, tecnologías de desarrollo en un lenguaje de programación, configuración de producto y el medio ambiente de manipulación de datos de estos tres expertos independientes. Para el uso integrado de estas habilidades a menudo requieren relativamente independiente de la experiencia técnica y una gran cantidad de mano de obra. Ahora, con SQL Server 2005 y Visual Studio 2005, tenemos un entorno de desarrollo unificado, integrado en el modelo de programación de Qi Zhong proporcionar soluciones completas que incluye las aplicaciones de cliente de base de datos, herramientas de gestión de servidor y base de datos del lado del servidor Duixiang Construcción. Para las herramientas y los marcos de la mejora funcional, permitirá a los desarrolladores y los clientes pueden beneficiarse de ella, porque hubiera disponibilidad de las aplicaciones, rendimiento, seguridad y escalabilidad para lograr una mejora integral.

SQL Server 2005 y DB2 8.2 en el entorno de Visual Studio y base de datos del proveedor de datos de integración va a simplificar y mejorar el proceso de desarrollo de aplicaciones. Que ofrecen para mejorar la productividad, generar e implementar herramientas solicitudes, que será el desarrollo y aplicación a la gestión de los programas conducen a un mejor rendimiento. SQL Server 2005 y DB2 UDB 8.2 en. NET Framework de integración ha traído una más eficiente y más flexible la aplicación de base de datos entorno de desarrollo, esto ha sido más eficiente que la versión anterior de la aplicación de una solución de base de datos más robusto, tener una mejor facilidad de uso y escalabilidad. Mediante el uso de integrados. NET, los desarrolladores de bases de datos puede utilizar el código SQL imposible de lograr antes de los resultados obtenidos. Al utilizar el. NET Framework, los desarrolladores escribir código para tener una lógica más compleja, más apropiadas para resolver problemas de cálculo, y acceder al sistema externo y recursos de red, como. NET, como Visual Basic, C # y C + +, son lenguajes de programación completamente orientado a objetos, con como encapsulación, herencia y polimorfismo tales características de programación orientada a objetos. También tienen muchos que no existen en las características del lenguaje SQL, como tablas, manejo de excepciones estructurado, recolección y así sucesivamente.

Hoy en día, Microsoft. NET ofrece los más avanzados y eficientes para construir e integrar base de datos de entorno de aplicaciones. En este artículo vamos a comparar el SQL Server 2005 y DB2 UDB 8.2, respectivamente, siempre. NET nivel de integración. A fin de ilustrar completamente la diferencia, vamos a hacer una presentación técnica detallada para mostrar la diferencia con el SQL Server 2005 y DB2 UDB 8.2 para NET a. procedimientos almacenados en las medidas concretas.

Comparación de la tecnología de la base

Aunque SQL Server 2005 y DB2 UDB 8.2 se integran. NET Framework y Visual Studio, pero el grado de su integración tiene diferencias significativas. La tabla siguiente muestra esto en su. NET grado de integración de comparación.



Proveedor de datos

SQL Server 2005 y DB2 UDB 8.2 se establezcan. Proveedor de datos hace NET. NET programa cliente puede acceder a la plataforma de base de datos. Estos "naturales" y los datos de los proveedores de datos basado en el proveedor OLE DB que la aplicación de servidor se traducirá en un mejor rendimiento y escalabilidad. Tanto los proveedores de datos tienen funciones muy similares, pueden realizar objetos básicos ADO.NET, incluida la conexión, comando, DataReader, DataSet y DataAdapter. Pero tienen una diferencia clave: SQL Server. NET está disponible en dos modelos, uno para la aplicación de cliente, una para las aplicaciones del lado del servidor. Esto es para el desarrollo del lado del servidor programa de aplicación especialmente 重要, porque SQL Server del lado del servidor. NET es un residente en la memoria del procedimiento, Ta no me gusta que el cliente considere el proveedor de datos de Na Yang Xian Zhi tráfico de la red, por lo tanto, el lado del servidor. NET proveedor de datos puede centrarse en. NET objetos de base para un mejor rendimiento. Además, el proveedor de servidor de datos también ha abierto un grupo en el código del lado del servidor sólo es adecuado para las funciones, tales como cursor del lado del servidor. Por datos de la aplicación cliente para proporcionar un procedimiento abierto en la función de espacio de nombres System.Data.SqlClient, mientras que los datos del lado del servidor proveedor de funciones como un espacio abierto en el nombre de System.Data.Sqlserver. En DB2 UDB 8.2, sólo espacio de nombres IBM.Data.DB2 único. DB2. NET utiliza el proveedor de datos DB2Context objeto para crear en la memoria de la conexión de base de datos.

Por el lado del servidor, que tienen similitudes. DB2 y SQL Server admite el uso de. NET para crear aplicaciones y el despliegue posterior del lado del servidor. Aparte de este concepto básico, las dos plataformas de base de datos. NET de integración tiene un nivel muy diferente. DB2 UDB 8.2 apoya la creación. NET procedimientos almacenados y. NET función definida por el usuario. Sin embargo, Visual Studio IDE soportan sólo crean DB2 UDB 8.2. NET procedimientos almacenados DB2 UDB 8.2. NET funciones se deben crear manualmente. Por el contrario, SQL Server 2005 对. NET de apoyo a una amplia gama de más. Y, como DB2, SQL Server es compatible con la creación. NET procedimientos almacenados y. NET función definida por el usuario. Además, SQL Server también admite. NET desencadenantes. NET tipo definido por el usuario (UDT), y. NET agregado definido por el usuario. Todos estos objetos han sido creados totalmente integrado en Visual Studio 2005 IDE en el archivo. Puede usar. NET crear procedimientos almacenados y funciones del desarrollador de bases de datos tiene una buena noticia, que les permita alcanzar la lógica 更加 negocio complejo y función, pero que no funcionan en el estándar SQL Di Shouxian función. Esto sin duda es. NET y la integración de bases de datos de la clave, por supuesto, el uso. NET para crear desencadenadores, tipos definidos por el usuario y agregados definidos por el usuario también es útil. Uso. NET para crear un disparador para activar el código para hacerlo más lógica totalmente encapsulado de negocios, al mismo tiempo que realizar algunas operaciones adicionales, tales como el acceso a recursos externos y el registro de registros de operación. Uso. NET para crear tipos definidos por el usuario para permitir a los desarrolladores de bases de datos para extender el sistema cualquier tipo de datos original, estos tipos definidos por el usuario puede tener sus propios atributos y el operador independiente, que permite a los desarrolladores extender sin problemas existentes tipos de datos , cuando en uso y el tipo de datos original, tienen sus propios operadores y agregación. Del mismo modo, el uso de. NET para crear la agregación definida por el usuario permite a los desarrolladores para crear agregaciones personalizados utilizados en el tipo de datos original o tipos de datos definidos por el usuario.

Además de estos básicos. Pulg funciones NET Framework y su integración de bases de datos de servidor también diferencias importantes. La siguiente sección, vamos a examinar más a fondo. NET detalles de integración.

. NET Framework de integración

Microsoft ®. NET se utiliza para la información, recursos humanos, sistemas y equipos asociados con un conjunto de tecnología de software de Microsoft. . NET Framework es para generar y ejecutar la próxima generación de aplicaciones de software y componentes de servicios Web necesarios para Windows.

. NET Framework

◆ apoyar a más de 20 tipos de lenguajes de programación diferentes.

◆ Gestión de un gran número de "canalización" - contribuir a mejorar la eficiencia del desarrollo de software y permite a los desarrolladores centrarse más energía en el código de lógica de núcleo de negocio.

◆ hacer construir, implementar y administrar un seguro, las aplicaciones de alto rendimiento y alta más fácil que nunca conseguir.

. NET Framework Common Language Runtime (CLR) y unificado de bibliotecas de clase jerárquica que consiste en una colección. . NET CLR funciones incluyen la operación de un servicio de lenguaje integrado, la seguridad obligatorias y la memoria, procesos y administración de hilo. En el lenguaje de la integración, CLR define un sistema de tipos común (CTS), que describe la travesía de todos. NET, los tipos de datos básicos y las operaciones sobre esos tipos de datos. . NET Framework proporciona un número de clases establecido para los desarrolladores aplicar a su aplicación, estas clases conjunto abarca una gran cantidad de aspectos, incluyendo la tarjeta I / O, red, procesamiento de textos, acceso a datos, la codificación, procesamiento de XML, servicios Web así. Esto permite a los desarrolladores para poder concentrar sus esfuerzos en la construcción de la lógica empresarial en lugar de enterrados en el gasoducto "en el código, lo que pueden. NET Framework enfoque de encontrar. SQL Server 2005 e IBM DB2 UDB 8.2 en. NET CLR integración hace que sea posible utilizar ninguna. NET (incluyendo C #, Visual Basic, C + + y J #) para desarrollar objetos de base de datos.

Estas dos plataformas de bases de datos diferentes y. NET Framework enfoque integrado es completamente diferente. SQL Server 2005 motor de base de datos se ponga en el CLR en el proceso, lo que significa el funcionamiento del motor de base de datos y. NET que sólo un proceso de sistema operativo independiente. Por el contrario, DB2 UDB 8.2 y. NET Framework se integra con "el proceso" modelo. Figura 1 en implementaciones de bases de datos diferentes CLR ha sido aún definida.



Modelo integrado de significado

SQL Server 2005 Integration. NET utilizando el proceso "de" modelo "proceso" modelo en comparación con algunas ventajas muy claras. En primer lugar, permitir a los internos la integración de CLR en SQL Server puede procesar en una forma distinta de controlar el funcionamiento del CLR. Gestión de la memoria, la recolección de basura, soporte para hilos de las funciones básicas serán controlados por el anfitrión de SQL Server, en lugar de. NET es la configuración predeterminada y operación. Esto es importante porque el motor de SQL Server base de datos para un mejor estudio desde la perspectiva de los requisitos del sistema global, lo que optimiza en función de la memoria real y la gestión de hilo. Por último, el "en proceso" modelo de SQL Server 2005 la integración de CLR para crear una más sólida y mejoran solución escalable.

Por ejemplo, considere una pesada carga en la instancia de base de datos, para responder a las muchas solicitudes simultáneas, la situación ha estado ocurriendo durante mucho tiempo. SQL Server puede de forma automática e inteligente de almacenamiento de datos y la lógica del programa (por ejemplo,. NET procedimientos almacenados) el equilibrio entre la asignación de memoria. Cuando el sistema parte de la carga de los cambios en la naturaleza - por ejemplo, relativamente más de las actuaciones solicitadas uso de la lógica más - SQL Server se ajustará automáticamente de nuevo. De esta manera, el rendimiento del sistema para satisfacer las necesidades reales basadas en la escalabilidad y la fiabilidad de la optimización continua. Debido a que DB2 UDB v8.2 con "proceso" modelo de integración. NET, para DB2 no puede proporcionar este tipo de recursos de la máquina y la optimización del rendimiento de equilibrio dinámico.

SQL Server 2005 mediante el CLR de alojamiento API para implementar la optimización dinámica, estas API sólo. NET Framework versión 2.0 existe, y en las versiones. NET Framework antes no lo hacen. resultado inevitable, SQL Server 2005 es necesario integrar. NET Framework 2.0 y DB2 es la integración. NET Framework 1.1, integradas bajo nivel natural.

. NET 2.0 y. NET 1.1 diferencia

El uso de. NET Framework 2.0 y SQL Server 2005 junto con Visual Studio 2005 y el uso. NET Framework 1.1 junto con DB2 UDB 8.2, en comparación con algunas ventajas significativas. . NET Framework 2.0 y versiones anteriores, con características significativamente mejoradas:

◆ mejorar el rendimiento y tiempo de carga

◆ apoyar el genérico (la misma clase y el método por el valor de diferentes tipos de datos, como correr, lo que aumenta la reutilización del código)

◆ apoyo "edición de seguir circulando" (Edit-y-Continuar), los desarrolladores pueden modificar el código en el proceso de aplicación, sin tener que detener y reiniciar la sesión de depuración.

◆ Un nuevo API de Protección de Datos (DPAPI), que las aplicaciones puedan cifrar ciertos datos sensibles, como la cadena de conexión o un bloque de memoria.

◆ flujo de autenticación a través de la nueva clase SslStream NegotiateStream y le permite utilizar Kerberos o SSL para conseguir clientes y canales seguros del lado del servidor.

◆ Los progresos en interoperabilidad COM tendrá que realizar. NET para llamar a objetos COM existentes tiene el mejor rendimiento y fiabilidad.

◆ Creo que he mejorado rendimiento E / S con el apoyo de los datos de compresión GZIP

◆ aplicación de 64 bits de compatibilidad

Implementación. NET lógica para SQL Server

El uso real de cada plataforma de base de datos. NET objeto tiene una forma muy diferente es el. En SQL Server 2005, una nueva base de datos SQL Servidor de objetos de montaje (Asamblea) se implementa. NET objetos (como disparadores o procedimientos almacenados) la unidad más pequeña del grupo de construcción se despliega. NET menor unidad lógica. Con el fin de crear el objeto base de datos de CLR, debe utilizar primero el Visual Studio 2005 para crear un archivo DLL. A continuación, este archivo DLL en SQL Server como un objeto de programa de base de datos. Estos pasos se pueden utilizar el compilador de línea de comandos y el comando CREATE ASAMBLEA manualmente para conseguir, o como parte de la presentación técnica como en ver, Visual Studio 2005 de forma automática puede completar todo el proceso.

Seguridad de SQL Server en la Asamblea

SQL Server 2005 los administradores de base de datos para proporcionar una unidad nueva de la seguridad - la asamblea. Asamblea se pueden marcar como los tres estados de seguridad: SAFE, EXTERNAL, e inseguros. Estas etiquetas de seguridad para los administradores de bases de datos para gestionar y proteger todos en la base de datos para ejecutar el nivel de ensamblado. NET. SEGURA, dijo la asamblea etiqueta usando solamente el código administrado y no tener acceso a recursos fuera de la base de datos. etiqueta externa, dijo a la asamblea a utilizar código administrado para acceder a recursos externos, como el sistema de archivos de red o dentro de otros recursos no base de datos. PELIGROSA etiqueta que puede incluir alojamiento de esta asamblea y (o) de código no administrado, y se puede acceder a los recursos internos o externos. montaje inseguro creado por el objeto de base de datos tiene derechos de administrador del sistema puede realizarse únicamente para los usuarios.

Implementación. NET lógica para DB2

A pesar de la NET. Código administrado en el proceso de DB2 UDB 8.2 y SQL Server 2005 en el proceso es muy similar, sino que se almacenan en la base de datos de tipos de objetos y la ubicación, la seguridad y las áreas de base de datos de gestión de procesos, o con algunas diferencias. Para crear objetos de base de datos DB2 en el CLR, usted tiene que utilizar por primera vez Visual Studio y utilizar algunos. NET lenguaje para crear un archivo DLL, los archivos DLL se deben copiar al directorio de instalación de DB2 ruta específica, o crear un procedimiento almacenado o la función tiempo para proporcionar la ruta completa de este archivo DLL. Esta DLL no es realmente un objeto de base y no han sido importados en la tabla de base de datos, por el contrario, es sólo un archivo del sistema operativo. A continuación, el DLL se publicará en el crear objetos de base de datos (por ejemplo, procedimientos almacenados o funciones) en el comando CREATE. Parte de la presentación técnica, podrás ver el uso de Visual Studio 2003 puede crear automáticamente un CLR procedimientos almacenados DB2 para completar todo el proceso. Sin embargo, para no crear funciones definidas por el usuario, sólo cree manualmente la función definida por el usuario para completar el proceso.

Un administrador de base de datos o desarrollador de aplicaciones suele ser una necesidad de proteger el programa externo asociado con el ensamblado DLL de DB2, que pueden limitar el funcionamiento del programa se está ejecutando para dar este paso en el proceso de creación de trabajo o función en la instrucción CREATE EJECUCIÓN cláusula de control para completar. La aplicación efectiva de los modos de control incluyen: caja fuerte, FILEREAD, FILEWRITE, RED, e inseguros. Si no se especifica el modo de control de ejecución, el modo predeterminado es seguro, lo que significa que el procedimiento CLR sólo puede acceder por el control del administrador de base de datos de recursos, dichos recursos incluyen todas las tablas y el marco de gestión de base de datos de ejemplo. FILEREAD, FILEWRITE y modo de ejecución de código administrado de red permite acceder al sistema de archivos local o recursos de red. ejecución de modo no seguro no habrá restricciones en el acceso a los recursos, señalado como modo de ejecución inseguro puede ejecutar código binario para el procedimiento. Desde DB2 y. NET de integración que se adopte "proceso" de modelo, a continuación, utilice la sentencia CREATE para crear los procedimientos CLR de DB2 y las funciones se debe utilizar la cláusula CERCADO, para ilustrar. NET lógica y el proceso de administrador de base de datos en diferentes Corre y no el uso compartido de comunicaciones de la memoria. Esto ha dado lugar a la lógica del programa para transferir datos entre la propia base de datos, cuando el "en proceso" en comparación con un modelo de las barreras de rendimiento.