1. MATERIA
BASE DE DATOS
PROF.
CARLOS ARTURO TORRES GASTELU
EQUIPO
10
INTEGRANTES
MANUEL DE JESUS PINTUELES CORTES
LUIS ALBERTO VAZQUEZ FLORES
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.......................................................................................................................... 17
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: ................................................................. 43
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
5
6. eficiente. Y hay aspectos de optimización que están fuera del alcance y 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.
6
7. 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.
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
7
8. 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 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 Warehouse Enterprise
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
8
9. o MySQL
SQL SERVER:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el uso
de comandos DDL 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.
11
12. 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
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
12
13. 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 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.
13
14. 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.
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
14
15. 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 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".
15
16. 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.
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.
16
17. 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 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?
17
18. 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 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
18
19. 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 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:
19
20. 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).
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
20
21. 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
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
21
22. 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.
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
22
23. 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.
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.
23
24. 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.
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.
24
25. 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
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.
26
27. 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:
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
27
28. 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.
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
28
29. 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.
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
29
30. 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.
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).
30
31. A diferencia de un Sistema Simétrico Multiprocesador (SMP), este entorno MPP,
no comparte discos ni memoria. De esta forma elimina las limitaciones
introducidas al compartir memoria y disco.
A pesar de estar la Base de Datos dividida físicamente a través de más de una
partició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
- 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/los discos y la
memoria.
Se puede administrar y recuperar cada partición por separado.
31
32. Al tener dos o más particiones coexistiendo en la misma máquina, se logra una
mayor flexibilidad al diseñar configuraciones avanzadas de disponibilidad y
estrategias para hacer frente a caídas del sistema.
Resumen de las características mencionadas:
Adaptación a las distintas plataformas
32
33. 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 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. Mejor
34
35. 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
35
36. aplicación. En este punto el papel activo-pasivo se intercambian. Este 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
36
37. configuración adecuada permite a los componentes para sincronizar sus
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
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
38
39. 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
40
41. Microsoft Cluster Services
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. 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:
44. 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
45. SMBD ACID INTEGRIDAD TRANSACCIONES UNICODE
DIFERENCIAL
SQL SERVER
2008
ORACLE 11g R2
IBM DB2 9.7
CARACTERISTICAS FUNDAMENTALES
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.
47. 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.
48. Características Generales
MS SQL ORACLE DB2
Desarrollo de base X X X
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 en X
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 índices y X X X
restricciones
49. 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
50. Control De Concurrencia Y Recuperación
MS SQL ORACLE DB2
Concurrencia y X X
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 datos X
en espera
gestionadas