1. MATERIA
BASE DE DATOS
PROF.
CARLOS ARTURO TORRES GASTELU
EQUIPOS
INTEGRANTES
JUAN MANUEL CORTES SOBERANES
MANUEL DE JESUS PINTUELES CORTES
LUIS ALBERTO VAZQUEZ FLORES
HERMILO SALAZAR CHAVEZ
1
2. Contenido
INTRODUCCION ............................................................................................................. 3
RENDIMIENTO DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS. ........................... 4
ORACLE ...................................................................................................................... 6
DB2............................................................................................................................ 7
SQL SERVER 2008 ....................................................................................................... 8
SEGURIDAD ................................................................................................................. 10
ORACLE 11G. ............................................................................................................ 11
DB2.......................................................................................................................... 16
SQL R2 2008 ............................................................................................................. 21
ESCALABILIDAD ........................................................................................................... 26
DB2 UNIVERSAL DATABASE ...................................................................................... 28
ORACLE 11G ............................................................................................................. 34
SQL SERVER R2 ......................................................................................................... 40
ANÁLISIS DE COMPARACIÓN DE LOS SGBD: ................................................................. 45
CONCLUSION ............................................................................................................... 53
2
3. INTRODUCCION
Dentro del campo de los Sistemas Manejadores de Base de datos tenemos tres
principales competidores, que son:
Microsoft SQL, DB2 y Oracle. En cada uno de ellos encontraremos características
similares, pero que, dependiendo de cada uno, son superiores en tal actividad a su
contrincantes. Dichas ventajas de cada uno son determinantes en el momento de la
elección de tal o cual SMBD se piensa utilizar.
De igual manera aspectos como los son el precio o la compatibilidad son de gran
importancia en la elección de estos.
En este documento nos enfocaremos en comparar tres características distintas en la
versión de Microsoft SQL Server 2008 R2, DB2 y Oracle 11G.
Dichas características serán: Rendimiento, seguridad y Escalabilidad. Esto mediante la
comparación de las características propias de cada SMBD, así como por medio de
tablas a fin de ilustrar tales características.
3
4. RENDIMIENTO DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS.
El DBA debe asegurar que el rendimiento del SGBD sea el apropiado para
satisfacer los requisitos de los usuarios.
El rendimiento del SGBD se puede medir utilizando tres indicadores:
La velocidad de respuesta de las transacciones. Es el rendimiento percibido por
los usuarios.
La productividad del SGBD. El número de transacciones por segundo
ejecutadas por el SGBD.
La utilización de los recursos. Especialmente la capacidad de almacenamiento
de los discos.
El primer factor en el rendimiento de una BD es su diseño. Un buen diseño de la
BD y de las aplicaciones permite obtener un buen rendimiento del SGBD. Ahorrar
esfuerzo (= dinero y dedicación) a la hora de analizar, diseñar e implementar una
aplicación, provoca problemas de rendimiento, entre otros.
Por esto es muy importante que a la hora de diseñar un nuevo sistema se tengan
en cuenta los siguientes criterios:
Definir las necesidades de servicio que tendrán las aplicaciones.
Hacer un análisis correcto de los datos y como serán accedidos.
Desarrollar un código de acceso a la BD eficiente.
La optimización de los elementos de un SGBD es un factor prioritario en su
rendimiento. La optimización se puede conseguir:
El uso de índices. La consulta a las tablas puede acelerarse utilizando índices
para las columnas utilizadas en las operaciones selecciones y “join”. El uso de
los índices acelera las operaciones de “consulta”, pero no perjudica la velocidad
de las operaciones de “modificación” y “borrado”. No se deben indexar
columnas muy volátiles o con poca variedad de valores ni tablas con pocas filas.
El diseño de las consultas pueden invalidar el uso del índice. Por ejemplo, los
optimizadores no utilizan los índices en columnas usadas en operaciones
aritméticas, con operaciones con null o en consultas anidadas.
La organización física de los datos. Se pueden configurar el tamaño de los
bloques en disco o reubicar los segmentos. Los elementos que se acceden de
forma simultánea deben estar en dispositivos separados, para permitir la
simultaneidad.
4
5. La red de comunicaciones. En la actualidad, con las bases de datos distribuidas
y con la arquitectura de aplicaciones de dos y tres capas, el rendimiento de las
comunicaciones afectan directamente al rendimiento del SGBD.
El modelo de datos físico. Hay casos que conviene “desnormalizar” el diseño de
las bases de datos para ganar en rendimiento. Por ejemplo: Guardando datos
calculados, cuando su cálculo supone mucho tiempo.
Hay cinco factores que influyen en el rendimiento de bases de datos:
Carga de trabajo
Rendimiento
Recursos
Optimización
Contención
La carga de trabajo que se solicita de la DBMS define la demanda. Se trata de
una combinación de las transacciones en línea, trabajos por lotes, consultas ad hoc,
análisis de data warehousing, servicios públicos, y los comandos del sistema dirigido
por el DBMS en un momento dado. Carga de trabajo puede variar drásticamente de un
día a día, hora a hora, minuto a minuto, y sí, incluso segundo a segundo. A veces la
carga de trabajo se puede predecir (como pesados a fin de mes el procesamiento de la
nómina, o tener acceso a muy ligero después de las 6:00 pm, cuando la mayoría de los
usuarios han dejado para el día), pero otras veces es impredecible. El volumen total
de trabajo puede tener un gran impacto en el rendimiento de base de datos.
Define la capacidad de rendimiento general del equipo para procesar los datos.
Se trata de un compuesto de la velocidad de E / S, velocidad de la CPU, la capacidad en
paralelo de la máquina, y la eficiencia del sistema operativo y software del sistema. Y
no se olvide de los procesadores especializados (zIIPs y zAAP) si usted es un DBA
mainframe.
El hardware y software a disposición del sistema que se conoce como los
recursos del sistema. Algunos ejemplos son la memoria (como la destinada a
agrupaciones de almacenamientos intermedios o espacios de direcciones), el disco, los
controladores de memoria caché, y el microcódigo.
El cuarto elemento de la definición de rendimiento de la base es la
optimización. Todo tipo de sistemas puede ser optimizado, pero los sistemas de bases
de datos relacionales son únicos en que la optimización de consultas se logra
principalmente interno para el DBMS. Sin embargo, hay muchos otros factores que
necesitan ser optimizados (formulación de SQL, los parámetros de base de datos, los
parámetros del sistema, etc) para que el optimizador de relación para crear las vías de
acceso más eficiente. Y hay aspectos de optimización que están fuera del alcance y
5
6. control del optimizador de relación, también, como la codificación eficiente guión,
diseño de la aplicación correcta, y así sucesivamente.
Cuando la demanda (carga de trabajo) para un determinado recurso es alta, la
afirmación puede resultar. La contención es la condición en la cual dos o más
componentes de la carga de trabajo están tratando de utilizar un único recurso de una
manera conflictiva (por ejemplo, actualizaciones de doble a la misma pieza de los
datos). Como aumenta la contención, disminuye el rendimiento.
Así que poner todo esto junto, el rendimiento de base de datos se puede definir
como la optimización del uso de recursos para aumentar el rendimiento y reducir el
conflicto, lo que permite la mayor carga de trabajo posible para ser procesado.
ORACLE
Oracle 11g R2: Enterprise Edition – Standar Edition
Oracle es un sistema de gestión de base de datos relacional o RDBMS desarrollado por
Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos
más completos, destacando su:
Soporte de transacciones.
Estabilidad.
Escalabilidad.
Soporte multiplataforma.
Oracle Database 11g Release 1 (11.1) en Standard Edition, Standard Edition One,
and Enterprise Edition
La última versión de Oracle es la versión 11g, liberada en el mes de julio de
2009, es un RDBMS portable ya que se puede instalar en los sistemas operativos más
comunes en el mercado, el costo de la licencia oscila entre los 180 y 400 dólares
dependiendo del tipo de licencia de usuario, la capacidad de BDD es alta ya que
soporta hasta 4 peta bytes de información.
Cuenta con administración de usuarios así como la administración de roles,
además soporta trigers y store procedure, cuenta con conectividad JDBC y ODBC,
siempre y cuando se tengan los drivers adecuados para la misma.
6
7. Es un DBMS seguro ya que cuenta con un proceso de sistema de respaldo y
recuperación de información. Soporta Data Warehouse por lo que facilita el acceso a la
información y da mayor versatilidad. La mayor parte de las empresas de
telecomunicaciones en Latinoamérica utilizan Oracle, por lo que se puede decir que es
un DBMS confiable, seguro para ser utilizado en una empresa y sobre todo permite
reducir costos por su accesibilidad en el mercado.
Sistemas operativos sobre los cuales se puede instalar el DBMS:
Microsoft Windows Server 2008 (32-bit)
Microsoft Windows Server 2008 x64
Linux x86
Linux x86-64
Solaris (SPARC) (64-bit)
AIX (PPC64)
HP-UX Itanium
HP-UX PA-RISC (64-bit)
DB2
DB2 9.7: Advanced – Enterprise – WorkGroup
DB2 es una marca comercial, propiedad de IBM, bajo la cual
se comercializa un sistema de gestión de base de datos.
Máxima eficiencia. Ese podría ser el leit-motiv que ha aplicado IBM al
desarrollo de la nueva versión 9.7 de DB2, que acaba de lanzarse al mercado. Bajo el
nombre en código Cobra, la nueva versión de la base de datos DB2 tiene el potencial
de reducir sustancialmente el espacio necesario para el almacenamiento y, de hecho,
IBM asegura que esta mejora se traduce en un ahorro que puede alcanzar el 75 por
ciento de costes de storage; un aspecto a tener muy en cuenta visto que, de acuerdo
con los datos que maneja la compañía, diariamente se generan en el mundo 15 Pbytes
de datos.
La nueva DB2 9.7 también eleva sus capacidades de análisis de datos,
relacionales y XML; e incorpora funcionalidades avanzadas de gestión autónoma de la
7
8. carga de trabajo que prometen una reducción de hasta el 35 por ciento de las tareas
asociadas a la administración de la BBDD.
Completando su oferta de soluciones para la gestión de la información, IBM ha
presentado simultáneamente también la versión 9.7 de InfoSphere
WarehouseEnterprise Edition y una edición especial de esta solución, Departmental
Edition, dirigida a organizaciones de pequeño tamaño y entornos departamentales.
La compatibilidad implementada en la última versión, hace posible la
importación de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de
forma nativa en el gestor IBM DB2.
La automatización es una de sus características más importantes, ya que
permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea
más ligero, utilizando menos hardware y reduciendo las necesidades de consumo de
alimentación y servidores.
La memoria se ajusta y se optimiza el rendimiento del sistema, con un
interesante sistema que permite resolver problemas de forma automática e incluso
adelantarse a su aparición, configurando automáticamente el sistema y gestión de los
valores
SQL SERVER 2008
SQL Server 2008 R2: Datacenter – Enterprise – Standard
Microsoft SQL Server es un sistema para la gestión de bases de
datos producido por Microsoft basado en el modelo relacional.
Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft
SQL Server constituye la alternativa de Microsoft a otros
potentes sistemas gestores de bases de datos como son Oracle,
PostgreSQL o MySQL
SQL SERVER:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
8
9. Incluye también un potente entorno gráfico de administración, que permite el
uso de comandosDDL y DML gráficamente.
Permite trabajar en modo cliente-servidor, donde la información y datos se
alojan en el servidor y los terminales o clientes de la red sólo acceden a la
información.
Además permite administrar información de otros servidores de datos
SQL Server 2008 R2, nombre en clave Kilimanjaro, es la nueva versión de la
alternativa de Microsoft a otros sistemas gestores de bases de datos como Oracle,
PostgreSQL o MySQL.
Es un conjunto completo de tecnologías y herramientas para la empresa que
ayudan a obtener el máximo valor de la información con el menor coste total de
propiedad. Disfrute de su excelente rendimiento, disponibilidad y seguridad; apóyese
en unas herramientas más productivas de administración y desarrollo y disponga de
análisis completos con un entorno de Business Intelligence (BI) en modo autoservicio.
Destacados:
Plataforma de información completa para aplicaciones de cualquier tamaño.
Herramientas de BI conocidas y gestionadas, en modo autoservicio.
Soporte para centros de datos y data-warehouses a gran escala.
Oportunidades para crear y extender sus aplicaciones a la nube.
Integración con la Plataforma de Aplicación de Microsoft.
9
10. SEGURIDAD
Una de las características de mayor relevancia dentro de un SMBD es la seguridad e
integridad de los datos, pues gracias a esta podemos tener una certeza que los datos
que se ingresen en la mismo SMBD, pues de esta depende el correcto funcionamiento
de nuestra base de datos dentro de la empresa así como la fiabilidad de nuestros
datos, a fin de llevar el control de la empresa.
Se ha dicho que uno de los delitos de más rápido crecimiento en el mundo hoy en día
es un acto conocido como "el robo de identidad." Al obtener la información
correcta, un ladrón de identidad puede pedir prestado grandes sumas de dinero o
hacer compras caras en nombre de otra persona, dejando que individuales en forma
financiera alarmante. Por lo tanto, justo donde se puede esta información, que debe
ser celosamente guardado, se encuentra?Lo más probable es que se ha recogido y
entró en la base de datos alguna del cuerpo. (Piense en el papeleo que había que
llenar la última vez que comenzó un nuevo trabajo, se abrió una nueva cuenta
bancaria, o comprar un auto nuevo. Lo más probable es que no, la información
que proporcionan en dicha documentación, la información que identifica quién eres -
fue trasladado a una base de datos para uso futuro.
Cada sistema de gestión de base de datos debe ser capaz de proteger los datos contra
accesos no autorizados y / o modificación.
A continuación, en forma particular nos avocaremos a analizar las características de
Oracle en su versión 11G, SQL Server 2008 y DB2
10
11. Oracle 11G.
Configuración segura automática
Cuando se crea una nueva base de datos, puede utilizar el
Asistente de configuración de bases de datos (DBCA) para
crear automáticamente una configuración más segura que
en versiones anteriores de Oracle Database. Puede activar las siguientes opciones de
configuración de seguridad en una sola operación:
Contraseña ajustes específicos en el perfil predeterminado. Esta característica le
permite hacer cumplir la caducidad de contraseñas y otras políticas clave. Consulte la
sección "Configuración de las opciones de contraseña en el perfil por defecto" para
más información.
Auditoría. Esta característica permite que la auditoría de eventos específicos, como las
conexiones de base de datos. Consulte la sección "Uso de auditorías por defecto para
relevantes para la seguridad sentencias SQL y privilegios" para más información.
Para configurar la base de datos para mayor seguridad, siga las instrucciones en el
capítulo 10, "Guardar una base de datos Oracle Secure".
Protecciones Contraseña
Oracle Database ahora incluye las siguientes protecciones nueva contraseña:
Habilidad fácil de encontrar contraseñas por defecto. Si ha actualizado desde una
versión anterior de la base de datos Oracle, es posible que las cuentas de usuario que
todavía tienen las contraseñas por defecto. Para mayor seguridad, usted debe buscar y
cambiar las contraseñas. Consulte "Búsqueda de cuentas de usuario con contraseñas
por defecto" para más información.
Contraseña de verificación de la complejidad. Verificación de complejidad de
contraseña asegura que los usuarios configurar contraseñas complejas al establecer o
restablecer las contraseñas. Puede exigir complejidad de las contraseñas mediante el
uso de la configuración predeterminada proporcionada por la base de datos Oracle, o
crear los requerimientos del cliente para asegurar aún más los requisitos de
complejidad de contraseñas para su sitio.
"Aplicación de Verificación de complejidad de contraseñas", describe incorporado la
comprobación de contraseñas.
Forzadas entre mayúsculas y minúsculas. Consulte "Activación y desactivación de la
11
12. sensibilidad Contraseña caso" para obtener más información.
Fuerte algoritmo de hash de la contraseña. Esta mejora permite a los usuarios a crear
contraseñas que contengan mayúsculas y minúsculas o caracteres especiales. Consulte
"Cómo garantizar las amenazas de seguridad mediante contraseña el algoritmo SHA-1
hash" para más información.
SYSDBA y SYSOPER autenticación fuerte
Ahora puede usar el protocolo Secure Sockets Layer (SSL) y los métodos de Kerberos
de autenticación fuerte para autenticar a los usuarios que tengan los privilegios
SYSDBA y SYSOPER.
Consulte la sección "Autenticación fuerte y gestión centralizada para administradores
de bases de datos" para más información.
SYSASM privilegio para la Gestión Automática de Almacenamiento
El privilegio del sistema SYSASM ha sido añadido a Oracle Database 11g Release 1
(11.1), para ser utilizado exclusivamente para administrar Automatic Storage
Management (ASM). Use el privilegio SYSASM lugar de privilegio SYSDBA para
conectar y administrar instancias ASM.
Consulte la Guía del administrador de almacenamiento de bases de datos Oracle para
obtener más información sobre el privilegio SYSASM.
Mejoras en la codificación
Esta sección describe las siguientes mejoras en el cifrado:
LOB compresión inteligente, deduplicación y cifrado con SecureFiles
Comprimidos y cifrados conjuntos de archivos de descarga
Cifrado de datos transparente, con la integración del módulo de seguridad de
hardware
Cifrado de tablas transparentes
LOB compresión inteligente, deduplicación y cifrado con SecureFiles
Base de Datos Oracle soporta un objeto grande nuevo, más rápido y escalable (LOB)
paradigma de almacenamiento llamado SecureFiles.
SecureFiles, además de un rendimiento, compatible con la compresión eficiente,
eliminación de datos duplicados (es decir, fusionando los datos duplicados), y el
cifrado. Datos LOB ahora pueden ser codificados con la base de datos Oracle, y está
disponible para lecturas y escrituras aleatorias.
Para más información sobre SecureFiles, consulte Oracle SecureFiles base de datos y
Guía para desarrolladores de objetos de gran tamaño es. Ver también Base de Datos
12
13. Oracle Referencia del lenguaje SQL para las actualizaciones en el CREATE TABLE y
ALTER TABLE para admitir esta función.
Comprimidos y cifrados conjuntos de archivos de descarga
En esta versión, se puede utilizar Oracle Data Pump para comprimir y cifrar un
conjunto volcado todo el archivo. Si lo desea, puede comprimir y encriptar los datos,
metadatos, o archivo de volcado de un juego completo en una bomba de exportación
de datos de Oracle.
Cifrado de datos transparente, con la integración del módulo de seguridad de
hardware
Cifrado de datos transparente (TDE) almacena la clave maestra en una cartera de
software encriptado y utiliza esta clave para cifrar las claves de la columna, que a su
vez, cifrar los datos de la columna. Si bien este enfoque de gestión de claves es
suficiente para muchas aplicaciones, que pueden no ser suficientes para entornos que
requieren una mayor seguridad. TDE se ha extendido a utilizar los módulos de
seguridad de hardware (HSM). Esta mejora ofrece altos requisitos de seguridad de
protección de la llave maestra.
Esta versión que permite almacenar la clave de cifrado TDE dentro de un módulo de
seguridad de hardware (HSM) en todo momento, aumentando sus capacidades de
gestión de claves. Sólo las claves de tabla (para el cifrado TDE columna) y las claves de
tablas (tablas de cifrado TDE) se descifran en el HSM, antes de ser devuelto a la base
de datos, el cifrado y descifrado de datos de la aplicación sigue siendo la base de
datos. Oracle recomienda que cifre el tráfico entre el dispositivo HSM y bases de
datos. Esta nueva característica proporciona seguridad adicional para el cifrado de
datos transparente, porque la clave de cifrado principal no puede salir del HSM, ni en
texto claro, ni en formato cifrado. Además, permite el intercambio de la misma clave
entre múltiples bases de datos e instancias en un Clusters de Oracle Applications Real
(Oracle RAC) o el medio ambiente Data Guard.
Para configurar el cifrado de datos transparente, con la integración del módulo de
seguridad de hardware, consulte la Guía Base de Datos Oracle Advanced Security
Administrator.
Cifrado de tablas transparentes
Encriptación transparente de tablas le permite encriptar toda la aplicación de tablas,
cifrando todos los datos contenidos en estas tablas. Cuando una solicitud debidamente
autorizado tiene acceso al espacio de tablas, bases de datos Oracle de forma
transparente descifra los bloques de datos pertinentes para la aplicación.
13
14. Encriptación transparente de tablas proporciona una alternativa a TDE cifrado
columna: Se elimina la necesidad de un análisis granular de las aplicaciones para
determinar las columnas para cifrar, especialmente para aplicaciones con un gran
número de columnas que contienen información personal identificable (PII), como
números de Seguro Social o Los expedientes de salud. Si las tablas tienen pequeñas
cantidades de datos para cifrar, entonces usted puede seguir utilizando la solución de
cifrado TDE columna.
Para una introducción al cifrado transparente, consulte la base de datos Oracle de 2
días + Guía de seguridad. Para obtener información detallada acerca de la encriptación
de tablas transparentes, consulte la Guía Base de Datos Oracle Advanced Security
Administrator.
De grano fino control de acceso en los servicios de red sobre la base de datos
Oracle Database proporciona un conjunto de paquetes de utilidades PL / SQL, como
UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP y UTL_INADDR, que están diseñados para
permitir a los usuarios de bases de datos para acceder a los servicios de red sobre la
base de datos. Base de Datos Oracle PL / SQL y paquetes de referencia se describen los
tipos de paquetes de utilidades PL / SQL en detalle.
En una instalación de base de datos por defecto, estos paquetes se crean con el
privilegio EXECUTE concedida a la función pública. Este lanzamiento refuerza la
seguridad de estos paquetes, proporcionando a los administradores de bases de datos
la capacidad de controlar el acceso a aplicaciones en la base de datos que utilizan
estos paquetes.
Consulte "Gestión de acceso de grano fino a servicios de red externos" para más
información.
Cambiar a la auditoría SESIÓN
La cláusula de período de sesiones por la declaración de auditoría ahora escribe un
registro de auditoría para todos los eventos auditados. En versiones anteriores, por
sesión, escribió un registro de auditoría para todas las sentencias SQL o las
operaciones del mismo tipo que se han ejecutado en el mismo esquema que los
objetos en la sesión del usuario mismo. Ahora, tanto por sesión y por el acceso escribir
un registro de auditoría para cada operación de auditoría. Además, hay un registro
específico de auditoría para los eventos de conexión y desconexión. Si se omite la
cláusula de ACCESO POR, a continuación, por la sesión se utiliza como valor
predeterminado.
Tenga en cuenta que este cambio se aplica sólo a opciones de la instrucción y los
privilegios del sistema que la auditoría que no sea SQL Data Definition Language
(DDL) declaraciones. La base de datos siempre ha auditado con la cláusula BY ACCESS
14
15. en todas las sentencias SQL y los privilegios del sistema de auditoría que una
instrucción DDL.
Consulte la sección "La auditoría del número de ejecuciones Declaración" para más
información.
Oracle XML DB Mejoras en la seguridad
Los objetos de seguridad se almacenan en el repositorio de Oracle XML DB como
objetos XMLType.Estos objetos de seguridad puede contener cadenas que necesitan
ser traducidos a diferentes idiomas para que puedan ser registrados o se muestra en
esos idiomas. Los desarrolladores pueden almacenar cadenas traducidas con la
XMLType y recuperar y operar en estas cadenas en función de la configuración de
idioma del usuario. La ventaja de esta característica es que reduce los costos
asociados con el desarrollo de aplicaciones que son independientes del idioma de
destino preferido del usuario.
Para configurar la seguridad para los objetos XMLType, consulte la Guía de Oracle
XML DB del desarrollador.
Soporte para Servicios Web
Ahora puede utilizar el servidor de Oracle XML DB HTTP para la arquitectura
orientada a servicios (SOA) para las operaciones. Esto permite que la base de datos
para ser tratado simplemente como un proveedor de servicios en un entorno SOA. Los
administradores de seguridad pueden controlar el acceso a los servicios Web de
Oracle de base de datos y sus objetos de base de datos asociada con el
XDB_WEBSERVICES, XDB_WEBSERVICES_OVER_HTTP y
XDB_WEBSERVICES_WITH_PUBLIC funciones predefinidas.
Para configurar la base de datos Oracle de servicios Web, consulte la información de
Oracle XML DB desarrollador Guide.For en roles predefinidos a esta función, consulte
la Tabla 4-3, "Funciones de Base de Datos Oracle predefinidos".
Directorio de Mejoras en la seguridad
En esta versión, los administradores pueden no permitir el acceso anónimo a la
información de base de datos de servicios en un directorio y requieren autenticación
de los clientes al realizar un directorio LDAP basado en el nombre de look-ups. Si está
utilizando Microsoft Active Directory basado en búsquedas de nombres, a
continuación, Oracle Database utiliza el sistema operativo nativo basado en la
autenticación. Si está utilizando Oracle Internet Directory (OID) basado en la
búsqueda de nombres, entonces Oracle Database realiza la autenticación mediante el
uso de carteras.
15
16. Para configurar la seguridad de directorios, vea Referencia de Base de Datos Oracle
Net Services.
Oracle Call Interface Mejoras en la seguridad
Las mejoras de seguridad siguientes están disponibles para Oracle Call Interface
(OCI):
Informes paquetes mal que puede venir de usuarios malintencionados o de los
intrusos
La terminación o la reanudación del cliente o servidor en el proceso de recepción de
un paquete mal
Configuración del número máximo de intentos de autenticación
Control de la visualización de la bandera de la versión base de datos Oracle, para
evitar que intrusos encontrar información sobre las vulnerabilidades de seguridad
presentes en el software de base de datos basada en la versión
Bandera de la adición de información, tales como "Acceso no autorizado" y "las
acciones del usuario auditados", a las conexiones de servidor para que los clientes
pueden mostrar esta información
Los administradores de base de datos puede manejar estas mejoras de seguridad para
los desarrolladores de Oracle Call Interface mediante la configuración de un conjunto
de parámetros de inicialización. Consulte "Parámetros de seguridad mejorada de la
comunicación de base de datos" para más información. Véase también la Guía Oracle
Call Interface Programmer para obtener información detallada sobre Oracle Call
Interface.
DB2
Control de acceso de base de datos
DB2 Universal Database utiliza una combinación de servicios
de seguridad externa e interna los mecanismos de control de
acceso para realizar esta tarea vital. En la mayoría de los casos,
tres diferentes niveles de seguridad se emplean: el primer nivel los controles de
acceso a la instancia se creó una base de datos bajo, los controles de acceso a
16
17. la segunda base de datos, y los controles de acceso tercero a los datos y los objetos de
datos que residen en el base de datos.
Autenticación
El portal de seguridad en primer lugar la mayoría de los usuarios deben pasar a través
de su manera de acceder a una instancia de DB2 UDB o una base de datos es un
proceso conocido como de autenticación. El propósito de autenticación es el de
verificar que un usuario es realmente quien dice ser. Por lo general, la autenticación se
realiza mediante una instalación de seguridad externa que no forma parte de DB2
UDB. Esta instalación de seguridad pueden ser parte del sistema operativo (como es el
caso de AIX, Solaris, Linux, HP-UX, Windows 2000/NT, y muchos otros), puede ser una
complementaria por separado en el producto (por ejemplo, distribuida Computing
Environment (DCE) de Servicios de Seguridad), o puede no existir en absoluto (que,
por defecto, es el caso de Windows 95, Windows 98 y Windows Millennium
Edition). Si una instalación de seguridad no existe, debe ser presentada con dos temas
concretos antes de que un usuario puede ser autenticado: un ID de usuario y la
contraseña correspondiente. El ID de usuario identifica al usuario de la instalación de
seguridad, mientras que la contraseña, que es información que sólo es conocida por el
usuario y la instalación de seguridad, se utiliza para verificar que el usuario es
realmente quien dice ser.
Nota
Dado que las contraseñas son una herramienta muy importante para la autenticación
de los usuarios, siempre se debe solicitar contraseñas a nivel de sistema operativo si
desea que el sistema operativo para realizar la autenticación para la base de
datos. Tenga en cuenta que en la mayoría de los sistemas operativos UNIX, las
contraseñas no definidas se tratan como NULL, y cualquier usuario que no se ha
asignado una contraseña serán tratados como si tuvieran una contraseña de NULL
punto de vista del sistema operativo, este será evaluado como un partido válido.
¿De dónde viene la autenticación de lugar?
Debido a que DB2 UDB puede residir en ambientes compuesto por varios clientes,
gateways y servidores, cada uno de los cuales pueden estar ejecutándose en un
sistema operativo diferente, decidir donde la autenticación se llevará a cabo puede ser
una tarea desalentadora. Así que para simplificar las cosas, DB2 UDB utiliza un
parámetro en el archivo de base de datos DB2 de configuración del Administrador
asociado a cada caso para determinar cómo y dónde los usuarios deben ser
autenticados. El valor asignado a este parámetro de configuración, a menudo referida
como el tipo de autenticación, se establece inicialmente cuando se crea una
instancia. (En el lado del servidor, el tipo de autenticación se especifica durante el
proceso de creación de la instancia,. En el lado del cliente, el tipo de autenticación se
17
18. especifica cuando una base de datos remota está catalogada, que se realiza
generalmente mediante el Asistente de configuración) Sólo un tipo de autenticación
existente de cada caso, y se controla el acceso a esa instancia, así como a todas las
bases de datos que se encuentran bajo el control de la instancia.
En la Versión 8.1 de DB2 UDB, los tipos de autenticación disponibles son las
siguientes:
SERVIDOR. Autenticación se realiza en la estación de trabajo del servidor, utilizando
las instalaciones de seguridad que ofrece el sistema operativo del servidor. (El ID de
usuario y la contraseña proporcionada por el usuario que desea adjuntar a una
instancia o conectarse a una base de datos se comparan con el ID de usuario y
contraseña combinaciones almacenada en el servidor para determinar si el usuario
está autorizado a acceder a la instancia / base de datos.) Por por defecto, este es el
tipo de autenticación utilizado cuando una instancia se creó por primera vez.
SERVER_ENCRYPT. Autenticación se realiza en la estación de trabajo del servidor,
utilizando las instalaciones de seguridad que se incluye el sistema operativo del
servidor. Sin embargo, la contraseña proporcionada por el usuario que desea adjuntar
a una instancia o conectarse a una base de datos almacenada en el servidor se puede
cifrar en la estación de trabajo cliente antes de que sea enviado a la estación de
trabajo del servidor para su validación.
CLIENTE. La autenticación se realiza en la estación de trabajo cliente o la partición de
base de datos donde se invoca una aplicación cliente, utilizando las instalaciones de
seguridad que se incluye el sistema operativo del cliente, suponiendo que haya alguno
disponible. Si no se dispone de instalaciones de seguridad, la autenticación es
manejada de una manera ligeramente diferente. (El ID de usuario y la contraseña
proporcionada por el usuario que desea adjuntar a una instancia o conectarse a una
base de datos se comparan con el ID de usuario y las combinaciones de contraseña
almacenada en el cliente / nodo para determinar si el usuario tiene permiso para
acceder a la instancia o la base de datos .)
KERBEROS. Autenticación se realiza en la estación de trabajo del servidor, utilizando
una instalación de seguridad compatible con el protocolo de seguridad Kerberos. La
seguridad Kerberos es un protocolo que realiza la autenticación como un servicio de
terceros mediante el uso de la criptografía convencional para crear una clave secreta
compartida. La clave se convierte en las credenciales utilizadas para verificar la
identidad de los usuarios cuando los servicios locales o de red se solicitan, lo que
elimina la necesidad de aprobar un ID de usuario y contraseña a través de la red como
texto ASCII. (Si el cliente y el servidor soportan el protocolo de seguridad Kerberos, el
ID de usuario y la contraseña proporcionada por el usuario que desea adjuntar a una
instancia o conectarse a una base de datos se cifran en la estación de trabajo cliente y
se envía al servidor para su validación.) Es Cabe señalar que el tipo de autenticación
Kerberos es sólo compatible con los clientes y servidores que utilizan Windows 2000,
Windows XP o Windows. NET del sistema operativo. Además, ambas estaciones de
18
19. trabajo cliente y el servidor deben pertenecer al mismo dominio de Windows o que
pertenecen a dominios de confianza.
Las autoridades y los privilegios
Una vez que un usuario ha sido autenticado y una conexión a una instancia o una
conexión a una base de datos se ha establecido la base de datos DB2 Manager evalúa
todas las autoridades y los privilegios que se han asignado al usuario (que se pueden
asignar directamente a un usuario, o se puede obtener indirectamente de privilegios
de grupo que han sido asignados a un grupo el usuario es un miembro) para
determinar las operaciones que el usuario está autorizado para llevar a cabo.
Autoridades de transmitir un conjunto de privilegios y / o el derecho a
realizar operaciones de alto nivel administrativo y de mantenimiento / utilidad frente
a una instancia o una base de datos. Privilegios, por otro lado, transmitir los
derechos para realizar ciertas acciones en contra de los recursos de bases de
datos específicas (como las tablas y vistas). En conjunto, las autoridades y los
privilegios de actuar para controlar el acceso al Administrador de base de
datos DB2 para una instancia, a una o más bases de datos se ejecuta bajo el control
de esa instancia, y con los objetos una base de datos en particular. Los usuarios sólo
pueden trabajar con los objetos para los que se les ha dado la
correspondiente autorización, es decir, la autoridad requerida o privilegio.
Sistema de autoridad de administrador
Administrador del sistema (SYSADM) la autoridad es el nivel más alto de la autoridad
administrativa disponible con DB2 UDB. Los usuarios que se han dado esta autoridad
se pueda ejecutar cualquier disposición de DB2 UDB utilidades, ejecutar cualquier
comando de DB2 UDB, realice una operación de SQL, y el control de todos los objetos
dentro de una instancia, incluyendo bases de datos, grupos de particiones, depósitos
reguladores, de tablas, cuadros, vistas, índices, esquemas, alias, tipos de datos,
funciones, procedimientos, triggers, paquetes, servidores y monitores de
eventos. Además, los usuarios que se les ha dado esta autoridad se les permite realizar
las siguientes tareas:
Migrar una base de datos existente para hacerlo compatible con una nueva versión de
DB2 UDB.
Modificar los valores de los parámetros del archivo de base de datos DB2 de
configuración del Administrador asociado con la especificación de ejemplo,
incluyendo los grupos que tienen sistema de control y / o la autoridad de
Mantenimiento del Sistema. (La base de datos DB2 gestor de archivos de
configuración se utiliza para controlar la cantidad de recursos del sistema asignados a
una sola instancia).
19
20. Sistema de control de la autoridad
Sistema de Control (SYSCTRL) es el más alto nivel de autoridad del sistema de control
/ instancia disponible con DB2 UDB. Los usuarios que se han dado esta autoridad se
les permite realizar operaciones de mantenimiento y de servicios públicos en contra
de ambos una instancia del Administrador de base de datos DB2 y otras bases de
datos que se encuentran bajo el control de que la instancia. Sin embargo, debido
SYSCTRL está diseñado para permitir a los usuarios especiales para mantener una
instancia que contienen datos confidenciales que lo más probable es que no tienen el
derecho de acceso, los usuarios que se concede esta facultad implícita no recibir
autorización para acceder a los datos almacenados en las bases de datos que están
autorizados a realizar operaciones de mantenimiento y la utilidad de. Por otro lado,
debido a una conexión a una base de datos debe existir antes de algunas operaciones
de servicios públicos se pueden realizar, los usuarios que se conceden SYSCTRL para
un caso particular también reciben los privilegios necesarios para conectarse a cada
base de datos bajo el control de que la instancia.
La concesión de autorizaciones y privilegios
Hay tres maneras diferentes que los usuarios (y grupos) se puede obtener un nivel
base de datos, las autoridades y la base de datos / object privilegios. Ellos son:
De manera implícita. Cuando un usuario crea una base de datos, de forma implícita
recibir DBADM para esa base de datos, junto con los privilegios de la base de datos
varios. Del mismo modo, cuando un usuario crea un objeto de base de datos, de forma
implícita recibir todos los privilegios disponibles para ese objeto, junto con la
capacidad de conceder cualquier combinación de esos privilegios (con la excepción
del privilegio de control), a otros usuarios y grupos. Privilegios también puede ser
implícita se dan cuando es un privilegio de alto nivel se concede explícitamente a un
usuario (por ejemplo, si un usuario se da explícitamente los privilegios de control de
un espacio de tablas, de forma implícita recibirá el privilegio USE para el espacio de
tablas que también). Tenga en cuenta que tales privilegios implícitamente asignado no
se eliminan automáticamente cuando el privilegio de alto nivel que hizo que se
concederá será revocada.
Indirectamente. Privilegios indirectamente imputados se asocian generalmente con
paquetes, y cuando un usuario ejecuta un paquete que requiere privilegios para
ejecutar que el usuario no tiene (por ejemplo, un paquete que elimina una fila de datos
de una tabla requiere el privilegio DELETE sobre la mesa), el usuario está
indirectamente a los privilegios con el expreso propósito de ejecutar el
paquete. Privilegios concedidos indirectamente son temporales y no existen fuera del
ámbito en el que se conceden
20
21. SQL R2 2008
A partir de SQL Server 2005, se implementaron cambios
significativos para asegurarse de que SQL Server es más seguro que
las versiones anteriores. Entre los cambios se incluye una estrategia
de "seguridad por diseño, seguridad de forma predeterminada y
seguridad en la implementación" diseñada para ayudar a proteger
la instancia del servidor y sus bases de datos de los ataques de
seguridad.
SQL Server 2008 incluye mejoras de seguridad adicionales en los componentes de
servidor y de base de datos. SQL Server 2008 también se aprovecha de los cambios en
los sistemas operativos más recientes de Microsoft, como el control de cuentas de
usuario (UAC) que se encuentra en Windows Vista y Windows Server 2008. Las
mejoras siguientes de SQL Server 2008 disminuyen el área expuesta y el área de
ataque de SQL Server, y sus bases de datos al instituir una directiva de "mínimos
privilegios" y aumentar la separación entre los administradores de Windows y los
administradores de SQL Server:
De forma predeterminada, el grupo local de Windows BUILTINAdministrator
ya no está incluido en el rol fijo de servidor sysadmin de SQL Server en las
instalaciones nuevas de SQL Server 2008.
Los grupos de Windows que se crean para que los use el servicio SQL Server,
como SQLServerMSSQLUser$ COMPUTERNAME $ INSTANCENAME y
SQLServerSQLAgentUser$ COMPUTERNAME $ INSTANCENAME, ya no están
incluidos en el rol fijo de servidor sysadmin. En su lugar, se conceden
individualmente los derechos de sysadmin en SQL Server a la cuenta de
servicio que se utiliza para iniciar el servicio SQL Server y el servicio del
Agente SQL Server. Cuando SQL Server se instala en los sistemas operativos
Windows Server 2008 o Windows Vista, se proporciona un SID de servicio
como miembro del rol fijo de servidor sysadmin. Para obtener más
información, vea Configurar cuentas de servicio de Windows.
Se ha quitado la herramienta Configuración de área expuesta (SAC) y se ha
reemplazado por la característica de administración basada en directivas y los
cambios efectuados en la herramienta Administrador de configuración de SQL
Server.
Se ha expandido la compatibilidad con la autenticación Kerberos y ahora
incluye canalizaciones con nombre y memoria compartida, además de TCP/IP.
Estos cambios afectarán al plan de la seguridad de SQL Server y permitirán crear un
perfil de seguridad más completo para el sistema.
21
22. Configurar cuentas de servicio de Windows
Cada servicio de SQL Server representa a un proceso o conjunto de procesos para
administrar la autenticación de las operaciones de SQL Server con Windows. En este
tema se describe la configuración predeterminada de los servicios en esta versión de
SQL Server, así como las opciones de configuración de los servicios SQL Server que se
pueden establecer durante la instalación de SQL Server.
En función de los componentes que decida instalar, el programa de instalación de SQL
Server instalará los servicios siguientes:
Servicios de bases de datos de SQL Server: servicio del Motor de base de datos
relacional de SQL Server.
Agente SQL Server: ejecuta trabajos, supervisa SQL Server, activa alertas y
habilita la automatización de algunas tareas administrativas.
Analysis Services: proporciona funciones de procesamiento analítico en línea
(OLAP) y minería de datos para aplicaciones de Business Intelligence.
Reporting Services: administra, ejecuta, crea, programa y envía informes.
Integration Services: proporciona compatibilidad de administración para el
almacenamiento y la ejecución de paquetes de Integration Services.
Explorador de SQL Server: servicio de resolución de nombres que proporciona
información de conexión de SQL Server a los equipos cliente.
Búsqueda de texto completo: crea rápidamente índices de texto completo del
contenido y de las propiedades de los datos estructurados y semiestructurados
para permitir el filtrado de documentos y la separación de palabras en SQL
Server.
Servicio auxiliar de Active Directory de SQL Server: publica y administra los
servicios de SQL Server en Active Directory.
Objeto de escritura de SQL: permite que las aplicaciones de copias de seguridad
y restauración funcionen en el marco del Servicio de instantáneas de volumen
(VSS).
Administrar protocolos de red de servidor & cliente
El Administrador de configuración de SQL Server permite configurar protocolos de
red de servidor y cliente, así como opciones de conectividad. Una vez habilitados los
protocolos correctos, no suele ser necesario cambiar las conexiones de red del
servidor. Sin embargo, puede utilizar el Administrador de configuración de SQL Server
si necesita volver a configurar las conexiones del servidor de modo que SQL Server
escuche en un protocolo de red, puerto o canalización concretos. Para obtener más
información sobre la habilitación de protocolos, vea Cómo habilitar o deshabilitar un
protocolo de red de servidor (Administrador de configuración de SQL Server). Para
obtener información sobre cómo permitir el acceso a los protocolos a través de un
firewall, vea Configurar Firewall de Windows para permitir el acceso a SQL Server.
22
23. El Administrador de configuración de SQL Server permite administrar protocolos de
red de cliente y servidor, lo que incluye la posibilidad de exigir el cifrado del
protocolo, ver las propiedades del alias o habilitar o deshabilitar un protocolo.
El Administrador de configuración de SQL Server permite crear o quitar un alias,
cambiar el orden en el que se utilizan los protocolos o ver las propiedades de un alias
de servidor, incluyendo:
Alias de servidor: alias de servidor utilizado por el equipo al que se está
conectando el cliente.
Protocolo: protocolo de red utilizado para la entrada de configuración.
Parámetros de conexión: parámetros que se asocian a la dirección de conexión
para la configuración del protocolo de red.
El Administrador de configuración de SQL Server también permite ver información
sobre las instancias del clúster de conmutación por error, aunque se debe utilizar el
Administrador de clústeres para algunas acciones como el inicio y la detención de los
servicios.
Protocolos de red disponibles
SQL Server es compatible con los protocolos Memoria compartida, TCP/IP,
Canalizaciones con nombre y VIA. Para obtener más información acerca de cómo
elegir un protocolo de red, vea Elegir un protocolo de red. SQL Server no es
compatible con los protocolos de red SPP (Protocolo de paquetes secuenciados) de
Banyan VINES, Multiprotocolo, AppleTalk o NWLink IPX/SPX. Los clientes
anteriormente conectados con estos protocolos deben seleccionar uno distinto para
conectarse a SQL Server. No es posible utilizar el Administrador de configuración de
SQL Server para configurar el proxy WinSock. Para configurar el proxy WinSock,
consulte la documentación de ISA Server.
Autenticación Kerberos y SQL Server
Kerberos es un protocolo de autenticación de red que proporciona un método muy
seguro para autenticar entidades cliente y servidor (entidades de seguridad) en una
red. Estas entidades de seguridad utilizan autenticación basada en claves maestras y
vales cifrados.
23
24. En el modelo de protocolo Kerberos, cada conexión cliente/servidor comienza con la
autenticación. El cliente y el servidor, sucesivamente, ejecutan una serie de acciones
diseñadas para garantizar a cada una de las partes de la conexión que la otra es
auténtica. Si la autenticación se lleva a cabo correctamente, la configuración de la
sesión finalizará y se establecerá una sesión cliente/servidor segura.
Entre las ventajas clave de la autenticación Kerberos se encuentran las siguientes:
Autenticación mutua. El cliente puede validar la identidad de la entidad de
seguridad del servidor y el servidor puede validar el cliente. A lo largo de esta
documentación, las dos entidades se denominarán "cliente" y "servidor",
aunque se pueden realizar conexiones de red seguras entre servidores.
Vales de autenticación seguros. Sólo se utilizan vales cifrados y las
contraseñas nunca están incluidas en el vale.
Autenticación integrada. Una vez que el usuario haya iniciado sesión, no
necesitará iniciar sesión nuevamente para tener acceso a cualquiera de los
servicios que admite la autenticación Kerberos, siempre y cuando el vale del
cliente no haya expirado. Cada vale tiene una vigencia, que está determinada
por las directivas del dominio Kerberos que genera el vale.
Kerberos proporciona un mecanismo para la autenticación mutua entre entidades
antes de que se establezca una conexión de red segura. Kerberos utiliza un tercero de
confianza, el Centro de distribución de claves (KDC), para facilitar la generación y la
distribución segura de vales de autenticación y claves de sesión simétricas. El KDC se
ejecuta como un servicio en un servidor seguro y mantiene una base de datos para
todas las entidades de seguridad de su dominio. En el contexto de Kerberos, un
dominio es el equivalente a un dominio de Windows.
SQL Server admite indirectamente Kerberos a través de la interfaz del Proveedor de
compatibilidad para seguridad (SSPI) cuando SQL Server usa la autenticación de
Windows. SSPI permite a una aplicación utilizar diversos modelos de seguridad
disponibles en un equipo o una red sin cambiar la interfaz para el sistema de
seguridad.
SQL Server permite a SSPI negociar el protocolo de autenticación a utilizar; si no se
puede utilizar Kerberos, Windows utilizará el mecanismo de autenticación
desafío/respuesta (NTLM) de Windows NT.
SQL Server 2008 admite la autenticación Kerberos en los protocolos siguientes:
TCP/IP
Canalizaciones con nombre
Memoria compartida
24
25. Conectar al motor de base de datos con protección ampliada
La protección ampliada utiliza el enlace de servicio y el enlace de canal para ayudar
a evitar un ataque de retransmisión de autenticación. En un ataque de retransmisión
de autenticación, un cliente que puede realizar la autenticación NTLM (por ejemplo, el
Explorador de Windows, Microsoft Outlook, una aplicación .NET SqlClient, etc.) se
conecta a un atacante (por ejemplo, un servidor de archivos CIFS malintencionado). El
atacante utiliza las credenciales del cliente para hacerse pasar por este y autenticarse
en un servicio (por ejemplo, una instancia del servicio Motor de base de datos).
Hay dos variaciones de este ataque:
En un ataque de atracción, el cliente es atraído para conectar voluntariamente
con el atacante.
En un ataque de suplantación, el cliente pretende conectarse a un servicio
válido, pero no es consciente de que DNS o el enrutamiento IP, o ambos, se han
alterado para redirigir la conexión al atacante en su lugar.
SQL Server admite el enlace de servicio y el enlace de canal para ayudar a reducir
estos ataques en sesiones de SQL Server.
Enlace de servicio
El enlace de servicio soluciona los ataques de atracción exigiendo que un cliente envíe
un nombre principal de servicio (SPN) firmado del servicio de SQL Server al que el
cliente pretende conectarse. Como parte de la respuesta de la autenticación, el
servicio valida que el SPN recibido en el paquete coincida con su propio SPN. Si un
cliente es atraído para conectarse a un atacante, el cliente incluirá el SPN firmado del
atacante. El atacante no puede retransmitir el paquete para autenticar al servicio de
SQL Server real como el cliente, porque incluiría el SPN del atacante. El enlace de
servicio incurre en un costo insignificante una sola vez, pero no soluciona los ataques
de suplantación.
25
26. ESCALABILIDAD
En este apartado nos vamos a dedicar a realizar la comparación de tres distintos
manejadores de base de datos:
SQL SERVER R2
ORACLE 11g
DB2
Hacer una comparación entre estos distintos DBMS no representa una tarea simple ya
que:
1.- La funcionalidad y la complejidad de las bases de datos son muy amplias y hacer
una comparación en profundidad sería extremadamente consumidor de tiempo.
2.- El valor de ciertas características de estos SMDB pueden ser juzgadas solo por
experiencias individuales, esto quiere decir que cada uno de nosotros debemos probar
el producto y así conocer sus características y filosofía del producto.
3.- Las características detalladas de cada SMBD generalmente no pueden ser
comparadas directamente.
Por lo expuesto anteriormente solo nos enfocáremos a características primordiales a
las cuales consideramos primordiales para realizar una comparación entre estos
SMDB.
Explicaremos sus fortalezas, debilidades y diferencias más significativas de los
productos de base de datos en cuestión.
Al final del análisis de este apartado sabremos cual es el producto que lleva la
delantera en cuanto a escalabilidad se refiere.
Antes de adentrarnos en nuestro análisis debemos comprender el término de
escalabilidad aplicada a las bases de datos.
La escalabilidad es la capacidad que tienes o deben tener las bases de datos para
adaptarse a las necesidades crecientes de las organizaciones, por ejemplo:
26
27. Número de usuarios
Volúmenes de datos
Volumen de transacciones y complejidad de las mismas
Cuando la base de datos ha sido diseñada para ejecutar una adecuada escalabilidad,
este diseño no puede y no debe afectar el rendimiento de la misma base de datos. Esto
quiere decir que la escalabilidad debe ser granular. Esto significa que la base de datos
debe avanzar en pasos pequeños si así es requerido, por ejemplo se podría empezar
con solo un procesador y con el paso del tiempo y de acuerdo a las necesidades que la
base de datos presente este número de procesadores se incremente, así como también
el número de nodos.
Otro ejemple sería primeramente instalar una versión que sea agradable con el
hardware con el dispone la empresa y después instalar una versión más compleja que
se adapte a mayores exigencias.
Una vez que la organización crezca se necesita explorar nuevas opciones y mejores
expectativas, quizás se necesitará añadir una mejor infraestructura que soporte y
pueda manejar la carga adicional de trabajo.
Generalmente la escalabilidad es una necesidad que va de acuerdo al crecimiento del
negocio con el transcurso del tiempo y de acuerdo a esta necesidad es necesario
mejorar distintos factores como:
El hardware de la empresa
El tipo de sistema operativo que utilizan
La configuración y diseño de la base de datos
Si prestamos especial atención a estos factores y aplicamos las mejores
correspondientes tengan por seguro que nuestra base de datos funcionara de la mejor
manera y nuestros datos se mantendrá seguros, consistentes y sobre todo disponibles
a cualquier hora.
Factores Que Afectan La Escalabilidad
Estos difieren de acuerdo al tipo de aplicación que se utilice, por ejemplo habrá
aplicaciones que utilicen OLTP para lograr una mayor escalabilidad, Sin embargo
habrá algunas que se enfoquen a la rapidez de las transacciones por minuto o algunas
que combinen ambas.
27
28. Otro factor que influye es la arquitectura de la base de datos, esto quiere decir que si
queremos una mayor eficiencia y mejor escalabilidad necesitaremos mejor
distribución de procesadores físicos que nos permitan soportar el paralelismo entre
las transacciones y las distintas tareas que el SMDB maneja.
Depende también en gran medida del sistema operativo con el que cuenta la
organización y cuál de ellos se ajuste a las necesidades de información de la misma.
Como ya lo hemos dicho antes la característica de escalabilidad depende de que tan
grande sea el crecimiento de la organización, esto quiere decir que si nuestra empresa
no tiene un crecimiento empresarial y no necesita una mayor rapidez en las
transacciones de información esta no tendrá por qué necesitar una mejora en su
hardware o en su diseño de la base de datos.
De acuerdo a estos factores evaluaremos a los SMDB antes mencionados,
clasificándolos individualmente y mostrando sus características, posterior a esto
vamos diseñar una tabla para que se entienda con mayor facilidad estos conceptos y
todas las funcionalidades de estos manejadores de base de datos
DB2 Universal Database
DB2 es una marca comercial, propiedad de IBM, bajo la cual se
comercializa un sistema de gestión de base de datos.Es un
motor de base de datos relacional que integra XML de manera
nativa, lo que IBM ha llamado pureXML, que permite
almacenar documentos completos dentro del tipo de datos XML para realizar
operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con
búsquedas relacionales.
La automatización es una de sus características más importantes, ya que permite
eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más
ligero, utilizando menos hardware y reduciendo las necesidades de consumo de
alimentación y servidores.
La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante
sistema que permite resolver problemas de forma automática e incluso adelantarse a
su aparición, configurando automáticamente el sistema y gestión de los valores.
28
29. DB2 Express-C es la versión gratuita soportada por la comunidad de DB2 que
permite desarrollar, implementar y distribuir aplicaciones que no usen las
características avanzadas de las versiones comerciales de DB2. Esta versión de DB2
puede ser concebida como el núcleo de DB2, las diferentes ediciones incluyen las
características de Express-C más funcionalidades específicas.
DB2 para Linux, UNIX y Windows permite la automatización de tareas, reducción de
las necesidades de consumo de alimentación, un alto rendimiento que reduce los
servidores necesarios para ejecutar la base de datos, escalabilidad sencilla y alta
disponibilidad en su arquitectura de discos de datos y otras soluciones que facilitan la
colaboración entre profesionales.
Con aplicaciones que se despliegan y desarrollan de forma sencilla incluso si han sido
creadas para utilizarse con otros software de bases de datos.
Más del 70% de las empresas top del mundo utilizan DB2 Universal DataBase para
manejar aplicaciones críticas, cuenta con las siguientes aplicaciones:
On-Line Transaction Processing (OLTP)
Data Warehousing
Decision Support
Data Mining
De acuerdo a la capacidad de DB2, es decir al número de usuarios y aplicaciones
accedidas a la base de datos se determina en gran parte por la capacidad de memoria
con la que cuenten los nodos o estaciones de trabajo, espacio en disco y velocidad de
procesamiento.
DB2 cuenta con las siguientes caracteriscas:
- Se pueden agregar más discos, permitiéndonos de esta manera que más de
una operación de entrada-salida ocurran al mismo tiempo.
- Limitación: Cantidad de espacio en disco que puede manejar el procesador
para satisfacer las peticiones solicitadas por los usuarios.
- Se pueden agregar más procesadores y memoria.
- Limitación: posibilidad de que varios procesadores traten de acceder al
mismo dato en el mismo tiempo, lo cual generará limitaciones a medida que
el número de operaciones se incremente.
Por ejemplo: una aplicación en un procesador puede estar accediendo un dato al
mismo tiempo que otra aplicación lo hace en otro procesador, causando que la
segunda aplicación espere para acceder a ese dato.
29
30. DB2 incluye distintas configuraciones de particiones múltiples además de los
entornos antes mencionados. La base de datos se puede dividir en particiones
múltiples, cada una de estas particiones en su propia máquina y además de esto varias
máquinas pueden ser agregadas con particiones múltiples.
A continuación se describen estas configuraciones:
1.- Particiones con un procesador (MPP: Multiple Partitions with one Processor)
2.- Particiones con múltiples procesadores (cluster of SMPs)
3.- Particiones lógicas de base de datos o nodos lógicos múltiples (MLN: Multiple
Logical Nodes)
1.- Particiones con un Procesador
Sistemas cada uno con su propio procesador, memoria y discos.
Todas las máquinas conectadas entre sí.
Cúmulo (cluster), Cúmulo de Uniprocesadores (cluster of
uniprocessors),entorno de procesamiento masivo en paralelo (MPP).
A diferencia de un Sistema Simétrico Multiprocesador (SMP), este entornoMPP,
no comparte discos ni memoria. De esta forma elimina las
limitacionesintroducidas al compartir memoria y disco.
A pesar de estar la Base de Datos dividida físicamente a través de más de
unapartición, sigue siendo un conjunto lógico. Por lo tanto esta división física
es transparente tanto para usuarios como para aplicaciones.
De acuerdo a la parte de escalabilidad y correspondiendo a estas características
podemos mencionar que:
*Se pueden agregar más particiones o nodos a la configuración de la base de datos.
Por ejemplo: Con estas capacidades de agregar tantas particiones y tantos
procesadores es también muy difícil administrar tal número de máquinas.
2.- Particiones Múltiples con Múltiples Procesadores
30
31. - Sistema cada uno con varios procesadores, memoria y discos.
- Cúmulo de Sistemas Simétricos Multiprocesador (SMP Cluster)
- Combina las ventajas de un sistema Simétrico Multiprocesador (SMP) y las de un
sistema de Procesamiento Masivo en Paralelo (MPP).Por ejemplo: al realizar una
consulta (query), esta puede ser realizada en una partición simple (SMP) a través de
múltiples procesadores (MPP).
Gracias a estas características es posible agregar más particiones a la base de datos,
más procesadores a las particiones existentes y más discos y memoria.
3.- Particiones Lógicas de Bases de Datos
Se diferencian de las particiones físicas en que no se logra el control de la
máquina entera.
A pesar de que la maquina comparte sus recursos, la partición no lo hace.Esto
significa que los procesadores son compartidos, pero no lo son el/losdiscos y la
memoria.
Se puede administrar y recuperar cada partición por separado.
Al tener dos o más particiones coexistiendo en la misma máquina, se logra una
mayor flexibilidad al diseñar configuraciones avanzadas de disponibilidady
estrategias para hacer frente a caídas del sistema.
31
32. Resumen de las características mencionadas:
Adaptación a las distintas plataformas
DB2 Universal DataBase es una base de datos completamente escalable, veloz y
confiable. Corre en modo nativo en casi todas las plataformas, como Windows NT (R),
Sun Solaris, HP-UX, AIX(R), OS/400 y OS/2(R).
Sus características distintivas de escalabilidad le permiten almacenar información en
un amplio rango de equipos, desde una PC portátil hasta un complejo ambiente de
mainframes procesando en paralelo.
DB2 UDB es, además, la única base de datos realmente universal: es multiplataforma
(16 plataformas - 10 no IBM), brinda soporte a un amplio rango de clientes, soporta el
32
33. acceso de los datos desde Internet y permite almacenar todo tipo de datos incluyendo
texto, audio, imágenes y video o cualquier otro definido por el usuario.
La UDB DB2 se adapta muy bien a los estándares industriales haciéndola muy
integrable con otros productos IBM y también con aquellos que no lo son. La UDB DB2
soporta estándares API incluyendo ANSI SQL92E, Microsoft OBDC y JAVA/JDBC.
Con respecto a las aplicaciones de tipo cliente, se tienen procedimientos almacenados
y funciones definidas por el usuario a través de VisualAge. Esto nos da una amplia
elección de desarrollo de aplicaciones y herramientas finales para ser elegidas por los
usuarios.
La UDB DB2 también puede ser integrada con servicios de seguridad para
administrar servidores de nombre y direcciones. DB2 también soporta SNMP y puede
ser monitoreada desde cualquier Sistema de Administración de Servers de IBM.
Para poder establecer una comunicación con otras bases de datos relacionales, la UDB
DB2 soporta la Arquitectura de Base de Datos Relacional (DRDA). Esta arquitectura
también incluye el Servidor de Aplicaciones (AS) y gracias a ella DB2 puede correr
sobre TCP/IP en forma nativa, haciendo más fácil la implementación de un entorno
abierto de redes.
Resumiendo todas las características antes mencionadas podemos decir que DB2 UDB
es de fácil adaptación a los distintos estándares existentes en el mercado, soporta
múltiples arquitecturas y hace más fácil su implementación.
Debido a esto DB2 es el SMBD líder en el mercado en cuanto a las grandes empresas
se refiere debido a que necesitan un servidor de bases de datos eficaz que asegure una
disponibilidad y escalabilidad superiores.
33
34. ORACLE 11G
Está diseñado para ambientes Web e incluyen características únicas no
proporcionadas por ningún otro proveedor, que le
permiten a las empresas implementar soluciones
informáticas más seguras y con la mejor relación costo
beneficio.
El amplio espectro de plataformas tecnológicas sobre las que se puede montar la base
de datos Oracle la convierte en la más versátil y principalmente la más escalable, ya
que puede pasar de equipos Intel con sistema operativo Linux o Windows a
Servidores RISC multiprocesador con diversas versiones de Unix o VMS y aun mas su
operación se amplía a clusters de varios servidores visibles como un solo equipo,
esto le permite a las empresas desarrollar soluciones escalables sin preocupaciones
de compatibilidad o inversión excesiva.
Fue diseñado desde la raíz para escalar transparentemente desde lo muy pequeño,
hasta lo muy, muy grande. Ha sido probado minuciosamente para:
• Miles de usuarios y consultas
• Docenas de nodos y miles de CPU´s sobre múltiples generaciones de servidores
• Datos de entrada de más de 48 terabytes
La escalabilidad no es un problema. Usted puede arrancar con lo pequeño y crecer, o
arrancar con algo grande y seguir creciendo masivamente.
Con Oracle 11g dándole un mayor rendimiento a la bodega de datos, todos en la
organización se ven beneficiados:
• Usuarios del negocio, incluyendo ejecutivos, analistas, administradores, equipo de
operaciones, clientes, proveedores y distribuidores, obtienen la información que
necesitan, donde la necesitan. Información de tiempo real en segundos, dándoles el
poder de realizar las decisiones adecuadas en el momento adecuado.
• Ejecutivos de tecnología de información pueden construir y manejar aún la más
grande bodega de datos eficientemente y económicamente, respondiendo a los
objetivos estratégicos de la organización, con respecto a manejo de costos y
transformación de datos en valor económico.
• Los administradores de base de datos pueden cortar el costo total de propiedad de
la bodega de datos al mismo tiempo que reducen la complejidad y el costo.
• Los desarrolladores de aplicaciones analíticas pueden entregar mayor rendimiento,
escalabilidad y bajar los costos de mantenimiento y propiedad para sus clientes.
34
35. Mejor aún, esto puede ser logrado con el equipo existente, protegiendo al mismo
tiempo las inversiones existentes en tecnología actual.
Oracle Application Server puede aumentar su rendimiento con clústeres de Oracle
Application Server, donde varias instancias del servidor de aplicaciones se agrupan
para compartir la carga de trabajo. Además, Oracle Application Server proporciona
una gran scalability verticales, lo que le permite iniciar varias máquinas virtuales a
partir de los archivos de configuración misma dentro de un único entorno operativo
(configuración automática de los puertos, aplicaciones y enrutamiento). Esto
proporciona la ventaja de la escala vertical sobre la base de varios procesos, pero
elimina la sobrecarga de administración de varias instancias independientes del
servidor de aplicaciones.
Alta Disponibilidad
La disponibilidad de loystem o cualquier otro componente de este sistema se definen
por el porcentaje de tiempo que funciona con normalidad.
Disponibilidad = tiempo medio hasta el fallo (ATTF) / [tiempo medio hasta el fallo
(ATTF) + tiempo promedio de recuperación (ATTR)]
Por ejemplo, un sistema que funciona con normalidad durante doce horas por día es
de 50% disponible. Un sistema que tiene 99% de disponibilidad se ha reducido 3,65
días por año en promedio. Los sistemas críticos puede ser necesario para cumplir con
estándares de disponibilidad excepcionalmente alta, y la experiencia de tan sólo
cuatro o cinco minutos de tiempo de inactividad al año.
Oracle Application Server está diseñado para proporcionar una amplia variedad de
soluciones de alta disponibilidad, balanceo de carga que van desde la básica y la
agrupación de ofrecer máxima disponibilidad del sistema durante la catastrófica
hardware y fallos de software.
Soluciones de alta disponibilidad se pueden dividir en dos categorías básicas: la
disponibilidad local de alta y recuperación de desastres.
Soluciones locales de alta disponibilidad
Locales soluciones de alta disponibilidad asegurar la disponibilidad de una
implementación de centro de datos. Estas soluciones de protección contra fallos del
proceso, el nodo, y los medios de comunicación, así como los errores
humanos. Locales soluciones de alta disponibilidad se pueden dividir en dos tipos:
activo-pasivo y activo-activo.
Activo-pasivo soluciones de implementar una instancia activa que controla las
solicitudes y una instancia pasiva que está en espera. Cuando la instancia activa falla,
la instancia activa se cierra y la instancia pasiva se pone en línea, y se reanuda
servicios de aplicación. En este punto el papel activo-pasivo se intercambian. Este
35
36. proceso se puede hacer manualmente o puede ser manejado a través de proveedores
específicos clusterware. Activo-pasivo soluciones se conocen en general como grupos
de conmutación por error de frío.
Activo-activo implementar soluciones de dos o más instancias del sistema activo en
todo momento. Todas las instancias de tramitar las solicitudes al mismo tiempo
Además de a los despidos de arquitectura, otras características locales de alta
disponibilidad incluyen:
Proceso de detección de la muerte y el reinicio automático: Los procesos
pueden morir inesperadamente debido a problemas de configuración o
software. Un proceso de seguimiento adecuado y reiniciar el sistema debe
controlar todos los procesos del sistema constantemente y reanudarlas cuando
hay problemas.
Clustering: La agrupación de los componentes de un sistema en conjunto
permite que los componentes para ser visto funcionalmente como una sola
entidad desde la perspectiva del cliente. Un cluster es un conjunto de procesos
que se ejecutan en una o varias computadoras que comparten la misma carga
de trabajo. Un grupo contiene una o más instancias en tiempo de ejecución de
un servidor de aplicaciones Oracle que tienen configuración de la instancia
idénticos, pero tienen diferentes configuraciones de la aplicación. Un grupo
proporciona redundancia para una o más aplicaciones.
Gestión de la configuración: Un grupo de clúster de componentes similares a
menudo tienen que compartir configuraciones comunes. Gestión de la
configuración adecuada permite a los componentes para sincronizar sus
36
37. configuraciones y también proporciona gestión de la configuración de alta
disponibilidad para el tiempo de inactividad menos administrativa.
Repeticiones del Estado y de enrutamiento: Para las solicitudes de cliente
de estado, el estado del cliente puede ser replicado para permitir la
conmutación por error de estado de las solicitudes en el caso de que los
procesos de servicio de estas solicitudes no.
El balanceo de carga y conmutación por error: Cuando varias instancias de
los componentes del servidor idénticos están disponibles, las solicitudes del
cliente de estos componentes puede equilibrar la carga para asegurarse de que
las instancias tienen aproximadamente la misma carga de trabajo. Con un
mecanismo de balanceo de carga en el lugar, los casos son redundantes. Si
alguno de los casos no, las peticiones de la instancia no se pueden enviar a las
instancias de sobrevivir.
La gestión de error de conexión: Los clientes a menudo se conectan a los
servicios en el servidor y la reutilización de estas conexiones. Cuando un
proceso de aplicación de uno de estos servicios en el servidor se reinicia, la
conexión puede ser necesario re-establecido. Correcta gestión de re-conexión
asegura que los clientes tengan un servicio ininterrumpido.
Copia de seguridad y soluciones de recuperación
Backup y recuperación se refiere a la strategiew diversos procedimientos
involucrados en la protección contra fallas de hardware y la pérdida de datos, y los
datos de la reconstrucción deben producirse una pérdida. Hay escenarios de falla que
no implican la pérdida catastrófica de un entorno de producción. Pero
independientemente del tipo de fallo, una vez que ha producido un fallo en su sistema
es importante para restaurar el componente defectuoso o un proceso lo más
rápidamente posible.
Los errores del usuario pueden provocar un mal funcionamiento del sistema. En
ciertas circunstancias, un fallo de un componente o sistema no se puede reparar. Una
copia de seguridad y facilidad de recuperación debe estar disponible para respaldar el
sistema cada cierto tiempo y restaurar una copia de seguridad cuando se produce un
fallo irreparable.
Soluciones de recuperación de desastres
Las soluciones de recuperación ante desastres son por lo general distribuidos
geográficamente implementaciones que proteger sus aplicaciones de desastres tales
como inundaciones o cortes de la red regional. Las soluciones de recuperación de
desastres por lo general la creación de dos sitios homogéneos, una vez activa y pasiva.
37
38. Cada sitio es un sistema autónomo. El sitio activo que generalmente se llama el lugar
de producción, y la cuota pasiva se llama el sitio de espera.
Durante el funcionamiento normal, la producción de los servicios del sitio peticiones.
En el caso de una conmutación por error o un cambio del sitio, el sitio en espera
asume el papel de la producción, y todas las solicitudes se dirigen a ese sitio.
Para mantener el sitio en espera de conmutación por error, no sólo debe contener el
lugar de espera de instalaciones homogéneas y aplicaciones, pero los datos y
configuraciones también debe estar sincronizado constantemente, desde el lugar de
producción hasta el lugar de espera.
La figura ilustra una solución de recuperación de desastres distribuidos
geográficamente
38
39. Oracle vs SQL Server
Una diferencia muy importante entre los dos es, SQL Server sólo se ejecuta en la
plataforma Windows, mientras que Oracle se ejecuta en una variedad de plataformas
como Unix, Linux, Solaris, etc., y los objetos de base de datos son perfectamente
portable a través de estas plataformas lo que si se cambia de Unix para la plataforma
Linux, se llega lejos sin pasar por los obstáculos de migración. Es probable que la
presencia de la plataforma multi-explica la cuota de mercado: Oracle llegó hasta las
tapas con una cuota del 48,6%, seguido por IBM el 22% y Microsoft el 15%.
En cuánto a escalabilidad se refiere hay dos conceptos que debemos considerar para
analizar estos dos manejadores, los cuales son: La escala horizontal y la escala vertical.
De acuerdo a la escala vertical no hay mayor problema entre estos dos manejadores,
es decir los dos tienen la capacidad de añadir más CPU´s y con esto más potencia en el
procesamiento, se puede también agregar más memoria y así obtener una mayor
escalabilidad.
Existen muchos factores que influyen para determinar cuál manejador es el mejor
están van desde como agregar un nodo nuevo hasta como instalar mejor hardware a
nuestras estaciones de trabajo.
Para las clasificaciones TPC-C, Oracle utiliza un sistema que utiliza RAC +
Particionamiento. Come-On, publisizing RAC como "la solución", y luego con el
particionado para ampliar simplemente el procesamiento. Asimismo, Microsoft afirma
que para cualquier sistema práctico, no hay ninguna carga que no puede ser manejado
por un único procesador de 64 CPU SMP. La razón principal de la agrupación es
garantizar la disponibilidad. Por lo tanto, una comparación de la disponibilidad
aparece a continuación.
Disponibilidad
En lo que respecta a la disponibilidad, incluso adentro de Oracle afirman que con un
solo SMP (multiproceso simétrico), la disponibilidad de> 99%, lo que equivale a 98%
cuando un nodo de dos cluster RAC se construye. Esto es sobre todo los tiempos de
inactividad causados por errores de la administración. Que sólo aumentará a medida
que la complejidad del sistema, la capacidad de gestión es un aspecto importante a
considerar un punto importante a destacar es, en el RAC, el almacén de datos es
inherentemente compartida - de múltiples nodos en el clúster comparten el
almacenamiento de datos misma. Si un nodo falla, los otros nodos pueden manejar la
carga para garantizar la disponibilidad.
39
40. SQL Server R2
Microsoft SQL Server 2008 provee una plataforma de
información más comprensible que puede crecer con su negocio.
Incluye herramientas para optimizar el desempeño y tecnologías
que permiten hacer escalables tanto a servidores individuales
como a grandes bases de datos.
Desempeño: eleve el rendimiento de SQL Server 2008 para responder a las altas
demandas de sus aplicaciones de bases de datos e infraestructura IT.
Crecimiento: aproveche al máximo los últimos avances que brinda SQL Server
2008 en tecnología de hardware para crecer junto con su negocio.
Incremento: permita que su sistema soporte bases de datos muy grandes
maximizando la escalabilidad de las tecnologías de SQL Server 2008 para
distribuir su carga eficientemente.
Con cada lanzamiento, Microsoft SQL Server continúa ganando en rendimiento y
escalabilidad. Un hecho poco conocido enterrado bajo la comercialización de Oracle es
que el TPC-C de SQL Server puntuación es ahora incluso mayor que Oracle. Sin
embargo, son pocos los que no sean Microsoft tienen millones de dólares de hardware
necesario para generar los 709.220 transacciones por minuto alcanzados en el
resultado de la prueba TPC-C publicado. Así que para el resto de nosotros, con
información a los presupuestos de la tierra para las licencias de bases de datos y el
hardware, ¿cómo podemos lograr la escalabilidad para aplicaciones de base de datos
de muy alto volumen conducido?
Escalabilidad de bases de datos es un pensamiento mucho más y el tema debatido, y
no hay respuestas fáciles. Hay varias maneras de lograr una mayor escalabilidad de su
base de datos, sin embargo, la arquitectura que usted elija dependerá en gran medida
a sus necesidades únicas.
Cuando se trata de escalabilidad, hay dos formas de alto nivel para lograrlo - o la
ampliación de la escala hacia fuera. La ampliación es para manejar el volumen en un
servidor de alto rendimiento individual, mientras que a escala es para distribuir la
carga entre varios servidores de bajo costo. Cuando la ampliación de agregar
procesadores a su servidor, al escalar a cabo, se agregan servidores en el clúster
Microsoft Cluster Services
40
41. Antes de discutir cualquiera de los métodos reales para la ampliación con SQL Server,
vamos a llevar la luz a un malentendido común. Microsoft Cluster Service (MSCS) no
hace nada para mejorar el rendimiento o la escalabilidad. A pesar de su engañoso
nombre, no le permiten escalar o distribuir el tráfico. En cambio, si un servidor falla,
MSCS conmutación por error a un servidor de respaldo, que se reanudará el
procesamiento - eventualmente. Además de no añadir ningún beneficio en el
rendimiento o la escalabilidad, MSCS puede tomar un vergonzoso 1 a 5 minutos de la
transferencia de sus recursos en el servidor de copia de seguridad y completar el
proceso de conmutación por error, durante los cuales la base de datos se ha reducido.
Disponibilidad
Dado que los datos de la base de datos esta físicamente dividida entre los servidores
de la federación, si un servidor de base de datos falla, el sistema de base de datos no
está disponible, ya que ya no es capaz de acceder a parte de los datos necesarios para
completar el procesamiento de consultas. Para ayudar a esta situación, Microsoft
Clustering Services se puede utilizar en la parte superior de la DPV, sin embargo, esto
es en gran parte un costo prohibitivo. Ambos DPV y la capacidad de conmutación por
error a través de Microsoft Clustering Services sólo están disponibles con la edición
Enterprise de SQL Server (cuatro veces más costoso que el Standard Edition). Un nodo
de base de datos de copia de seguridad se necesita para cada servidor de base de
datos de la federación, duplicando el costo del hardware y las licencias de base de
datos, sin hacer nada por el rendimiento o la escalabilidad, ya que los servidores de
copia de seguridad no comparten la carga de trabajo, pero permanecen inactivos hasta
que se produce un error. Eso no es un gran valor por su dinero.
Hay así, un desarrollo de las trampas que conviene estar avisados de la hora de
considerar DPV. El mayor problema es que las restricciones de integridad no están
permitidas. Restricciones de integridad no puede aplicarse porque los datos se
dividen entre equipos separados. Escritura desencadena complejas pueden aliviar
algunos de estos problemas, pero añade otros problemas y el mantenimiento
adicional de su cuenta
Notification Services otros factor que influye en la escalabilidad.
Notification Services admite aplicaciones de gran volumen con miles de eventos
entrantes por minuto, millones de suscripciones coincidentes y miles de notificaciones
entregadas por minuto en un servidor Windows con varios procesadores. Las
aplicaciones pueden escalarse de varias formas:
Las interfaces de administración de suscripciones pueden ejecutarse en
paralelo, lo que permite obtener una mayor eficacia de la ampliación en
vertical en el SQL Server Database Engine (Motor de base de datos de SQL
Server) subyacente.
41
42. Notification Services es una aplicación multiproceso y se amplía verticalmente
cuando se ejecuta en un equipo con varios procesadores.
El servicio Notification Services puede implementarse en un servidor y la base
de datos de Notification Services en otro distinto. Esta configuración es muy
eficaz ya que la generación de notificaciones se ejecuta en el servidor de bases
de datos, mientras que el formato de notificaciones se ejecuta en el servidor de
Notification Services.
Una única instancia puede admitir varios proveedores de eventos y varios
distribuidores. Es posible distribuir los proveedores de eventos, el generador y
los distribuidores en varios servidores. La capacidad para ampliar en
horizontal es importante en las implementaciones con un volumen elevado de
notificaciones y con sobrecargas importantes de formato y entrega.
Para una mayor ampliación en horizontal, se pueden dividir las suscripciones
en varias instancias de Notification Services, cada una de las cuales funciona de
forma independiente. Puesto que el modelo de aplicación crea suscripciones
independientes entre sí, dicha partición es natural y hace que las aplicaciones
de notificaciones sean muy escalables. Es necesario implementar la partición
de suscripciones en la aplicación porque Notification Services no lleva a cabo
esta tarea automáticamente.
42
43. ORACLE SQL DB2
SMBD
Es el motor de bd´s relacional más usado
a nivel mundial.
VENTAJAS Puede ejecutarse en todas las
plataformas desde una pc hasta un
supercomputador.
Soporta todas las funciones que se
esperan en un servidor “serio”
Permite el uso de particiones para la
mejora de eficiencia, de replicación e
incluso la administración de bases de
datos distribuidas.
El Sw puede ejecutarse en multitud de
so.
Oracle es la base de datos con mayor
orientación hacia internet.
Aceptable soporte.
43
44. DESVENTAJAS
El mayor inconveniente que presenta
Oracle es su precio, incluso las licencias
personales son excesivamente caras.
Un error frecuente consiste en pensar
que basta instalar Oracle en un servidor
y enchufar directamente las aplicaciones
cliente.
Un Oracle mal configurado puede ser
excesivamente lento.
44
45. Análisis De Comparación De Los Sgbd:
Licencia
Hay licencias flos, licencias comerciales y mixtos. Un ecosistema diverso, que le proporciona el
derecho a escoger la mejor opción según sus necesidades. Hay que tener en cuenta la importancia de
las licencias de flos, si están respaldados con una comunidad activa y diversa, que podría ofrecer el
producto con un alto estándar de calidad.
Distribución
Nos enfrentamos con una gran demanda de necesidades, ya sea de computación,
almacenamiento, o ambos, nos lleva a la computación distribuida. Cualquier producto de base de datos
con la aspiración de tener éxito debe tener esto en cuenta. En nuestra opinión la única solución
verdaderamente distribuida HyperGraphDB , sin embargo, deben mejorar muchas cosas.
Las otras comunidades están presionando mucho, logrando grandes avances, y estoy seguro de
que va a presentar soluciones interesantes en breve.
Indexación
Cada estructura de datos diseñada para almacenar gran cantidad de datos y permite la
recuperación eficiente de datos, necesita proporcionar la indexación. Un índice no es más que un
puntero directo entre una clave y un valor determinado, como un diccionario. Las soluciones se
analizaron facilitar la indexación de los atributos en los nodos y los bordes, sin embargo hay algunas
diferencias.
En concreto Neo4J , que utiliza Lucene a los atributos del nodo índice. Una cosa interesante que
ocurre con InfoGrid , donde UUID sólo están indexados. Una peculiaridad importante de Neo4J es que
no son de indexación como un comportamiento predeterminado. Hay muchas técnicas de indexación
diferentes, con diferentes propiedades y el rendimiento, pero esto nos daría para una serie completa
de los mensajes.
Sistema de almacenamiento
Los productos de bases de datos analizados muestran diferentes soluciones de
almacenamiento: un sistema de almacenamiento a medida, de carácter genérico o la posibilidad de
elegir su solución de almacenamiento propio. Personalmente esta es una decisión importante, un
sistema de almacenamiento especializado que no tiende a funcionar mejor que uno especializado una.
Si nos enfrentamos a un sistema de almacenamiento genérico, es diferente a usar un nivel bajo,
como el almacenamiento de api de mysql, o una solución de alto nivel, utilizando la interfaz de sql
mysql, por ejemplo:
46. Encontramos casos como HyperGraphDB donde el uso de la base de datos Berkeley DB facilita
el desarrollo rápido, sino que también penaliza el rendimiento. Sin embargo otras soluciones como
VertexDB y DEX tiene su propio almacenamiento, o de un almacenamiento a nivel de genéricos de bajo,
obteniendo mejor rendimiento. En un puesto próximo veremos un marco de actuación en
profundidad. Colaboración y las ideas son bienvenidas.
INFORMACIÒN GENERAL
SMBD CREADOR FECHA DE LA ULTIMA VERSIÒN LICENCIA DEL
PRIMERA VERSIÒN ESTABLE SOFTWARE
SQL SERVER MICROSOFT 1989 2008 R2 PROPIETARIO
2008
ORACLE 11g R2 ORACLE 1977 11g R2 PROPIETARIO
CORPORATION
IBM DB2 9.7 IBM 1982 9.7 PROPIETARIO
SOPORTE DEL SISTEMA OPERATIVO
SMBD WINDOWS MAC OS X LINUX BSD UNIX Z/OS
SQL SERVER
2008
ORACLE 11g R2
IBM DB2 9.7
47. CARACTERISTICAS FUNDAMENTALES
SMBD ACID INTEGRIDAD TRANSACCIONES UNICODE
DIFERENCIAL
SQL SERVER
2008
ORACLE 11g R2
IBM DB2 9.7
TABLAS Y VISTAS
SMBD TABLA TEMPORAL VISTA MATEREALIZADA
SQL SERVER 2008
ORACLE 11g R2
IBM DB2 9.7
La vista materializada puede ser emulada con PL/PgSQL [2].
El servidor provee tempdb, que puede ser usado para tablas temporales públicas y privadas
(para la sesión).
El servidor MS SQL provee vistas indexadas.
49. Diferencias Entre Oracle Y Sql
La diferencia más grande PRIMERO: El control de las transacciones en TODO Oracle es una
transacción y no es permanente hasta que COMMIT. En SQL Server, hay (por defecto) ausencia de
control de transacciones. Un error a mitad de camino a través de un procedimiento almacenado
no ROLLBACK el DDL en los pasos anteriores.
Obviamente, si hay que incluir el DML de TSQL en BEGIN TRANSACTION y COMMIT, se deshará,
pero esto es raro en el código de SQL Server que he visto.
La diferencia más grande SEGUNDO: MVCC En SQL Server y Oracle es diferente. SQL Server
permite lecturas sucias, y escribe puede bloquear las lecturas en MS SQL (De nuevo, es
configurable, pero el valor predeterminado de SQL Server es de rendimiento y no una coherencia
de lectura, a diferencia de Oracle en una coherencia de lectura por defecto, que indoblegable.
Diferencia Entre Oracle Y Db2
DB2 y Oracle son muy competitivos, en mi opinión. Oracle tiene más
Mindshare, ayuda de tercera persona, y las características de DB2. DB2 es ligeramente más
primitivos, pero también más simple y más barato.
DB2 también tiene algunas de muy alto nivel las capacidades de escalabilidad si se encuentra en
los datos mundo de almacenamiento.
Procedentes de archivos planos, VSAM, IMS / DB, DB2 o MySQL y Oracle estos
probablemente parecen ser el mismo. Pero una vez que mucho más cerca y empezar a trabajar con
ellos las diferencias cobran mucha importancia.
50. Características Generales
MS SQL ORACLE DB2
Desarrollo de X X X
base de datos
Herramientas de X X X
consulta y ajustes
de las base de
datos
Administrador X
corporativo
Variantes Y Extensiones De Sql
MS SQL ORACLE DB2
Tipos de datos X X X
Vistas X X
Vistas actualizadas X
Desencadenadores X X X
(disparadores)
Connect by X
Upsert e inserciones X
en varias tablas
Clausula with X X X
Funciones y métodos X X X
definidos por el
usuario
Soporte para XML X X X
Extensiones de X X X
índices y
restricciones
51. Almacenamiento E Indexación
MS SQL ORACLE DB2
Tablas X X X
Índices X X X
Registros X X X
Arquitectura de X X X
almacenamiento
(administración
y segmentación)
Grupos de X X X
archivos
Procesamiento Y Optimización De Consultas
MS SQL ORACLE DB2
Métodos de acceso X X X
Optimización de X X X
consultas
Simplificación de X X X
consultas
Mezcla de vistas X
Operaciones X X X
Reordenación y X
optimización basada
en el coste
52. Control De Concurrencia Y Recuperación
MS SQL ORACLE DB2
Concurrencia X X
y aislamiento
Compromiso y X
retroceso
Registro X X X
histórico y
recuperación
Transacciones X X X
Bloqueos X X X
Estructuras X X X
básicas de
recuperación
Bases de X
datos en
espera
gestionadas