Professional Documents
Culture Documents
Introduccin
Una base de datos es un conjunto estructurado y persistente de datos. Una lista de contactos es
una base de datos. Sin embargo, dentro del mundo de IT, una base de datos se asocia con
software. Una base de datos siempre puede ser una archivo que tiene muchos registros, cada una
de los cuales contiene el mismo conjunto de campos, donde cada campo tiene un cierto tipo de
dato y longitud, en resumen: Una base de datos es un almacn organizado de datos los cuales
son accesibles mediante el nombre de cada elemento de la base de datos.
Podemos comparar una base de datos con una carpeta (Fsica) de archivos y un DBMS como el
gabinete que contiene las carpetas debidamente etiquetadas.
La ventaja principal por la que usamos un DBMS es porque podemos establecer una organizacin
estructurada y lgica de los datos. Un DBMS est diseado para procesar grandes cantidades de
informacin debido a que est optimizada para efectuar tal operacin.
Un DBMS se puede distinguir por el Modelo de datos en el que se basa, entendiendo como
modelo de datos a una coleccin de conceptos utilizados para describir datos. Un modelo de datos
tiene dos componentes fundamentales:
1. Su estructura. Que indica la forma en que se almacenan los datos
2. Sus operaciones. Que se refiere a la manera en que se manipulan los datos
1. Jerrquico
2. Red (CODASYL)
1
3. Relacional
4. Orientado a objetos
1. Modelo jerrquico.
Este modelo organiza los datos en una estructura de rbol que almacena los datos en niveles
inferiores subordinados a datos almacenados en niveles superiores. Un ejemplo de este tipo de
modelo es el IMS (Information Management System de IBM).
2. Modelo de Red.
En este modelo se organizan los datos como una coleccin de tipos de registros y sus relaciones,
en donde estas relaciones son especificadas de manera explcita y almacenadas como parte de la
estructura de la base de datos. Otro nombre utilizado para el modelo de red es el denominado
CODASYL que obtuvo su nombre despus de la conferencia de Lenguajes de sistemas de datos
(Conference On Data System Languages), comit que formul el modelo en 1970.
Los datos son manipulados usando la ubicacin de un registro dado y a travs de l, formando una
cadena a los registros relacionados, un ejemplo de este este modelo es uno denominado IDBMS.
Por simplicidad, cada uno de estos modelos de datos son denominados as (Como modelos), pero
en realidad solo el modelo relacional y el modelo de red tienen una especificacin real y formal de
modelo de datos. Modelos diferentes de datos conducen a una organizacin de datos con una
estructura y lgica diferentes. El modelo relacional es el modelo de datos ms popular porque es
el ms abstracto y fcil de aplicar a los datos pues proveen de poderosas caractersticas para
manipulacin y acceso a los ellos.
2
1. Independencia y abstraccin de datos
2. Seguridad de los datos
3. Mecanismos de bloqueo para errores concurrentes
4. Un manejador eficiente para balancear las necesidades de mltiples aplicaciones usando los
mismos datos.
5. La habilidad para recuperarse de cadas y errores del sistema.
6. Caractersticas robustas de integridad de datos
7. Fcil acceso mediante una API Estndar
8. Procedimientos de administracin uniforme para los datos.
Niveles de abstraccin
Un DBMs puede proveer de varias vistas de un esquema de bases de datos. Una vista define que
datos puede ver el usuario y cmo ve esos datos. El DBMS Provee de un nivel de abstraccin entre
el esquema conceptual que define la estructura lgica de la base de datos y el esquema fsico que
describe los archivos, ndices y otros mecanismos que usa la Base de Datos. Los usuarios
interactan a nivel conceptual, haciendo consultas a las columnas dentro de los registros de las
tablas, por ejemplo, en vez de tener que navegar a travs de muchos y diferentes tipos de
estructuras que almacenan los datos.
Un DBMS hace que sea mucho ms fcil modificar las aplicaciones cuando las necesidades del
negocio cambian, pues se pueden agregar nuevas categoras de datos a la base de datos sin
perjudicar el sistema actual.
Independencia de datos
Un DBMS provee de una independencia entre los datos y las aplicaciones que usan los datos. En
otras palabras, las aplicaciones desconocen cmo se almacenan y estructuran los datos. El DBMS
provee de dos tipos de independencia de datos.
1. Independencia lgica. El DBMS ofrece proteccin contra cambios en la estructura lgica de los
datos.
2. Independencia fsica. Proteccin contra cambios en la estructura fsica de los datos.
Mientras el programa use la API (Application Programming Interface) provista por el DBMS para
acceder a la base de datos, los desarrolladores no necesitarn cambiar los programas a causa de
cambios en la base de datos.
La API principal de las bases de datos relacionales es SQL. Generalmente la mayora de las
instrucciones de una aplicacin no se necesitan cambiar cuando cambia la estructura de la base de
datos, por ejemplo cuando se agrega una nueva columna a una tabla.
Seguridad de los datos
La seguridad de los datos previene que los usuarios no autorizados puedan ver o actualizar la base
de datos. El DBMS usa IDs y contraseas para controlar que usuarios pueden acceder y a que
parte de la base de datos.
Control de concurrencia
3
Un DBMS puede proveer de datos a mltiples programas de usuario que se ejecuten
concurrentemente, lo cual requiere un mecanismo de bloqueo que controle las acciones de
diferentes programas, pues al estar ejecutndose al mismo tiempo pudieran provocar una
inconsistencia en los datos.
Un DBMS almacena los datos (Log) antes y despus de que los objetos de la base de datos sean
modificados. Es importante notar que el log de la base de datos almacena informacin de todas las
modificaciones de datos (Excepto en algunas circunstancias determinadas por el DBA. El Log de la
base de datos se maneja de manera transparente por el DBMS, esto es, se hace automticamente
(La informacin del Log se usa para las transacciones undo y redo)
Se puede usar un DBMS para asegurar que la calidad de las transacciones sea la ptima, esto se
conoce como atomicidad, lo que significa que se mantiene la integridad de los datos aun cuando
se caiga el sistema en medio de una transaccin. Despus de un fallo del sistema se pueden
recuperar los datos de un estado inmediato anterior a la cada del sistema o a un punto en
especfico.
El DBMS provee de mecanismos que definen las reglas que determinan el tipo de datos que se
pueden almacenar en campos o columnas especficos. Solo los datos acordes a las reglas del
negocio se pueden almacenar en la base de datos.
Ms an, se puede hacer que el DBMS administre las relaciones entre los diferentes tipos de datos
y se asegure que los cambios a los elementos de datos sean implementados con precisin.
Acceso a datos
Un DBMS provee de un lenguaje estndar de consulta para interrogar a la base de datos, as como
analizar esos datos. Para bases de datos relacionales, la API estndar es SQL (Structured Query
Language Lenguaje de bsqueda estructurada). Sin embargo, SQL no es un requisito para que
una base de datos se relacional. Muchos productos DBMS contienen herramientas analticas y
reporteadores para simplificar el acceso a los datos.
El encargado de administrar un DBMS es el DBA, el DBA debe ser un experto en la DBMS en uso
en la organizacin. Una organizacin puede tener un DB2 en un mainframe, Oracle e Informix en
diferentes plataformas de UNIX y SQL Server en Windows.
4
Cuando la administracin de bases de datos es tratada como una disciplina, el tratamiento de los
datos dentro de la organizacin mejorar. Esta la diferencia entre ser reactivo y proactivo.
El DBA se involucra durante cada fase del ciclo de vida del desarrollo para identificar los
componentes de datos del proyecto y determinar si ya existen los datos en alguna otra parte o son
completamente nuevos. Durante el ciclo, los requerimientos de datos se deben transformar en un
modelo de datos conceptual y lgico.
Antes que comience el desarrollo, se debe traducir el modelo lgico de la base de datos a un
diseo fsico el cual se puede implementar en un DBMS como Oracle o DB2, Etc. Se pueden
utilizar datos de prueba en la base de datos fsica para que las aplicaciones puedan acceder a ellas,
ms an, el DBA debe desarrollar e implementar procesos para refrescar los datos y para re-
ejecutar las pruebas.
Cuando las aplicaciones cambian de un estatus de desarrollo a uno operacional, el DBA se encarga
de preparar al DBMS para la nueva carga de trabajo. Esta preparacin incluye.
Sin embargo, no existen aplicaciones o bases de datos que permanezcan estticas por largos
periodos de tiempo. Debido a que las necesidades de la organizacin cambian con el transcurso
del tiempo, de igual manera lo hacen los sistemas que apoyan al negocio cuando se requiere un
mantenimiento, el DBA se involucra nuevamente en todo el proceso desde la recopilacin de
requerimientos hasta la implementacin.
5
Cuando se termina la vida til, el DBA debe ayudar a determinar cul ser el estatus final de los
datos usados por la aplicacin, lo que incluye:
Una de las tareas principales asociadas con el trabajo del DBA consiste en el proceso de elegir e
instalar un DBMS.
Las organizaciones grandes y medianas tpicamente ejecutan mltiples productos DBMS de varias
compaas, por ejemplo: es comn que una organizacin grande utilice IMS o IDBMS y DB2 en un
mainframe, Oracle e informix en diferentes servidores unix, Microsoft SQL Server en servidores
Windows, as como palms en otros productos DBMS tales como Syabase, Ingres o Adabas en varias
plataformas; productos DBMS para PC como Access, Paradox o filemaker.
Una vez que el DBMS est instalado, removerlo se hace difcil debido a incompatibilidades entre
los diferentes DBMSs y la necesidad de convertir el cdigo de la aplicacin. Ms an, cuando se
instala un DBMS, las aplicaciones viejas y las bases de datos no se migran al nuevo DBMS. El viejo
DBMS permanece y debe seguir soportado por el DBA.
Ninguna unidad de negocios debe decidir sobre sobre la compra del DBMS sin el permiso del
grupo de DBA. Lo cual puede resultar difcil, pues las polticas de la organizacin estn siempre en
contra del grupo de DBA porque normalmente un DBA tiene menor jerarqua que otros ejecutivos
del negocio.
6
Tanto como sea posible, se debe minimizar el nmero de productos DBMS. Cuando se haga un
compra con mltiples sistemas operativos y mltiples tipos de hardware, debemos seleccionar el
DBMS default para esa plataforma.
DB2 y Oracle son populares y soportan casi cualquier cantidad de bases de datos y corren en
mltiples plataformas desde Mainframes hasta UNIX, as como en computadoras porttiles y
Windows.
Otro DBMS importante es SQL Server pero solo corre en plataforma Windows.
Es recomendable elegir un DBMS de los tres anteriores, cualquier eleccin diferente se debe hacer
bajo circunstancias extremas, pues existen DBMS de segundo nivel, pero su base instalada es ms
pequea y con menos recursos que IBM, Oracle o Microsoft, de manera que existe algn riesgo de
elegir un DBMS de nivel 2 en vez del 1.
Sin embargo, las necesidades de administracin de datos pueden satisfacerse plenamente con un
DBMS de nivel 1 o hasta 2, los cuales proporcionan suficiente funcionalidad con riesgo mnimo. La
eleccin de un DBMS conlleva una estrategia y un plan para una situacin especfica, por lo que se
deben considerar estos factores:
7
6) Costos de propiedad. Cul es el costo total para ser propietario del DBMS?, costo por
tecnologa: licencias por usuario, soporte de software requerido, profesionales para
programar, soportar y administrar la base de datos.
7) Liberacin de versiones. Qu tan a menudo se liberan nuevas versiones? (Algunos
vendedores tienen ciclos de 12-18 meses). Un DBMS que cambia constantemente puede
ser difcil de soportar.
8) Referencias. El vendedor del DBMS tiene usuarios de referencia? el vendedor responde
a los problemas? Las cosas funcionan como se publicitaron? Existen muchos bugs que se
deben corregir continuamente? Cul es la calidad de las nuevas versiones?
Cuando se elige un DBMS, se debe tener en cuenta la complejidad de los productos. Los DBMS
cada vez son ms complejos con cada nueva liberacin (relase). La funcionalidad que se
encontraba en el software adicional (add on software) o programa independiente poco a poco se
ha convertido en una caracterstica del DBMS, los programadores y desarrolladores encontrarn
una razn para usar cualquier herramienta que tenga el DBMS, por eso es mejor planear y estar
preparado que usar las caractersticas sin un plan que las soporte.
La arquitectura que apoyar el ambiente del DBMS es muy crtico para el xito de las aplicaciones
de bases de datos. Una eleccin equivocada o un componente pobremente implementado de la
arquitectura pueden causar un rendimiento pobre, tiempos muertos o aplicaciones inestables.
Cuando los mainframes dominaban la computacin empresarial, la arquitectura del DBMS era muy
simple. Todo corra en el mainframe y eso era todo. Sin embargo, la infraestructura de IT, hoy en
da es distribuida y heterognea. El total de la arquitectura, incluyendo DBMS de mainframe,
probablemente consisten de mltiples plataformas y software de sistemas entre plataformas; por
tal razn, la decisin de la arquitectura final debe determinarse por un equipo de expertos en IT y
negocios, entre ellos:
Cuando se requiere: alta disponibilidad, alto rendimiento, Bases de datos grandes, gran cantidad
de usuarios concurrentes, muchos tipos de aplicaciones, es necesario considerar computadoras de
gran escala (mainframes) o servidores Unix, Linux o Windows 2000x. En donde, el DBMS que se
utilice sea capaz de soportar mltiples procesadores y bsquedas en paralelo, es decir, una
arquitectura Empresarial.
8
En tanto, una arquitectura departamental (o de grupos de trabajo) es utilizada en volmenes de
transacciones pequeo/medio con servidores Unix, Linux o Windows y que a su vez, puede
escalarse a una arquitectura empresarial adicionando servidores sin incrementar el costo de
manera significativa.
La arquitectura personal se usa en proyectos a muy baja escala en Pcs y bases de datos como
Access o paradox, etc. Es importante mencionar que para este tipo de arquitectura existen
adems soluciones personales como Personal Oracle y DB2 Everyplace.
Un DBMS diseado para un tipo de procesamiento pude ocasionar problemas para otro tipo de
usuario. Por ejemplo, Un DBMS personal no est diseado para mltiples usuarios y un DBMS
Empresarial ser demasiado complejo para un solo usuario.
En caso de requerir una solucin DBMS para diferentes niveles, seleccionar el mismo proveedor en
la medida de lo posible, en el sentido de que se minimizan las diferencias en acceso, desarrollo y
administracin, por ejemplo, comprar Oracle Personal, si la organizacin usa Oracle como el DBMS
Empresarial.
Clustering
Un DBMS debe ofrecer soporte para clustering con lo cual se mejora la disponibilidad y
escalabilidad.
1) Disco compartido
2) Nada compartido.
Todos los sistemas conectados comparten los mismos dispositivos de disco y cada CPU tiene su
propia memoria privada y pueden acceder a todos los discos. Se utiliza en empresas con grandes
cantidades de procesamiento de transacciones en ambientes mainframe.
Cada sistema tiene sus propios recursos (Memoria, discos, etc.) Los procesadores en clster se
comunican entre s, transmitiendo mensajes a travs de la red que conecta las computadoras,
adems, los requerimientos de los clientes son enrutados al sistema que tiene el recurso y solo
uno de los sistemas en el clster puede acceder a un recurso a la vez. En caso de falla, la propiedad
9
del recurso se puede transferir dinmicamente a otro sistema en el clster. Su principal ventaja es
la escalabilidad, en el sentido de que, dado que no hay interferencia entre los procesadores, se
pueden adicionar cientos de ellos.
La principal ventaja del clustering es la disponibilidad que se logra por la combinacin de los
microprocesadores y en algunos casos ayudan a las organizaciones a lograr cinco nueves
(99.999%) de disponibilidad, adems del balanceo de cargas y recuperacin de fallas.
Existen muchos vendedores que tratarn de convencer que se compre un DBMS en particular, sin
embargo, sin embargo, el DBA deber resistir a menos de que sea necesario y el ROI (Retorno
sobre la inversin) se pueda demostrar. Cada DBMS requiere un soporte pues cada uno de ellos
usa diferentes mtodos para realizar tareas similares. Entre menos DBMSs se tengan instalados,
menos complicada ser la administracin y mejores sern las posibilidades de aprovechamiento
de los recursos.
Una vez que se ha elegido el DBMS, este se debe instalar apropiadamente, pues es una pieza de
software que requiere una planeacin para que sea exitosa, por lo que primero empezaremos por
entender los requerimientos y preparar el ambiente para el nuevo DBMS. Las consideraciones son:
10
f) Base de datos default. Para las estructuras del sistema (Nuevos objetos de la base de
datos conforme son creados)
g) Estructuras temporales. Usadas por el DBMS (o por aplicaciones que acceden a la
base de datos que no son permanentes pero requieren espacio durante las
operaciones)
h) Volcado del sistema. Usado para procesamiento de errores.
i) Base de datos del administrador de la base de datos. Para administracin, monitoreo
y tuning (Prueba de nuevas liberaciones, migracin, scripts, etc.)
Debemos estar conscientes de que todas estas bases de datos y estructuras se usan de manera
concurrente, por lo tanto, es buena idea planificar el uso de diferentes dispositivos de
almacenamiento aunque no se llenen a su mxima capacidad. Esto permitir que el DBMS trabaje
ms eficientemente pues no tendr restricciones de disco mientras se accede a los datos. Es
importante sealar que un DBMS requiere una gran cantidad de memoria RAM para manejo de
datos y as evitar el acceso a disco que resulta ms costoso y lento.
11