Vous êtes sur la page 1sur 10

Contenido del curso de Manejo e Implementacin de Archivos Desarrollado por: Ing. Marlon Antonio Prez Trk Ing.

Alvaro Daz Ardavin Universidad de San Carlos de Guatemala Guatemala Julio Noviembre / 2006

Unidad No. 1 Arquitectura de una Base de Datos


1.1 Introduccin al almacenamiento de informacin
Por qu almacenar informacin durante un tiempo indefinido?

Tres requisitos (almacenar la inf. durante un tiempo indefinido): Gran cantidad de informacin. La informacin persiste a la terminacin de los procesos Varios procesos deben ser capaces de acceder concurrentemente
Almacenamiento primario

Este tipo de almacenamiento se da cuando el computador guarda informacin de manera temporal en memoria RAM, hasta que esta se libera.
Almacenamiento secundario

Este tipo de almacenamiento se da cuando la informacin que esta en almacenamiento primario (memoria RAM), pasa a un dispositivo como un disco duro, diskette, cinta, disco compacto, memoria flash, etc.
Qu es un archivo?

Segn Folk (libro de texto): Una coleccin de bytes que representa informacin y que normalmente se guarda en almacenamiento secundario. Para su procesamiento, todo el contenido del archivo, o parte de el, suele cargarse en memoria RAM.
Estructuras de archivos

Es la organizacin impuesta a un archivo para facilitar su procesamiento.

Archivo fsico

Archivo que en realidad existe en el almacenamiento secundario. Es el archivo tal como lo conoce el sistema operativo y que aparece en su directorio de archivos.
Archivo lgico

El archivo, visto por el programa. El uso de archivos logicos permite a un programa describir las operaciones que van a efectuarse en un archivo sin saber cual archivo fisico real se usara. El programa puede entonces usarse para procesar cualquiera de diversos archivos que comparten la misma estructura.
Operaciones bsicas de archivos

Es importante cmo va a ser usado un archivo para determinar su organizacin. Existen dos aspectos primordiales del uso de un archivo: 1. Su modo de uso (programas batch o interactivo). a. Procesamiento batch: las transacciones se van acumulando a lo largo del tiempo y luego se aplican. b. Procesamiento interactivo: las transacciones se procesan inmediatamente despus que se produce la entrada. 2. La naturaleza de las operaciones sobre el archivo. Operaciones fundamentales: Creacin Actualizacin: insercin, modificacin y borrado de registros. Recuperacin de informacin: consulta, generacin de informes. Mantenimiento: reestructurarcambios estructurales sobre el archivo, dentro de una misma tcnica de org. de archivos; reorganizarun cambio de una org. a otra. Cada Sistema Operativo ofrece su propio conjunto de operaciones sobre archivos. Las operaciones ms comunes y bsicas son: 1. CREATE: El fichero es creado sin datos. 2. DELETE: Cuando el archivo ya no se va a utilizar, se borra para liberar el espacio que ocupa en disco. 3. OPEN: Antes de usar un fichero, un proceso ha de abrirlo para que el sistema busque y almacene en memoria aquellos atributos y direcciones de disco necesarias para acceder rpidamente al fichero. 4. CLOSE: Cuando se acaban los accesos a un fichero, el espacio que ocupa en memoria ha de ser liberado. 5. READ: El proceso que lee informacin de disco debe de especificar la cantidad de informacin a leer y el lugar donde colocarla (buffer). 6. WRITE: Los datos se escriben en un fichero a partir de la posicin que indica el puntero de desplazamiento. Podramos considerar otras operaciones adicionales como: 1. SEEK: Posiciona el puntero de desplazamiento en cualquier posicin de un fichero de acceso aleatorio. 2. GET ATTRIBUTES: Para algunos procesos es necesario obtener algunos atributos de los ficheros. 3. SET ATTRIBUTES: Algunos atributos pueden ser modificados por el usuario 4. RENAME: Es frecuente que sea necesario cambiar el nombre de un fichero.

5. APPEND: Es una forma restringida de WRITE que fuerza a que los nuevos datos se escriban al final del fichero. 6. TRUNCATE: Mantiene los atributos del fichero, pero borra su contenido.

1.2 Dispositivos de almacenamiento secundario


Todo aparato que se utilice para grabar los datos de la computadora de forma permanente o temporal. Dispositivos de acceso directo permiten el acceso directo a los datos. Dispositivos de acceso secuencial permite el acceso en serie, es decir, no se puede leer o

escribir un dato en particular hasta que todos los datos que lo preceden hayan sido ledos o escritos en orden.
BIOS - Basic Input/Output System (sistema bsico de entrada/salida) Conjunto de rutinas que trabajan estrechamente con el hardware de una computadora para soportar la transferencia de informacin entre los elementos del sistema, como la memoria, los discos, el monitor, el reloj del sistema y las tarjetas de expansin. En los IBM y compatibles originales, el BIOS o ROM BIOS, estaba incorporado en un chip de memoria de slo lectura (ROM) integrado en la placa base de la mquina. Aunque es fundamental para el funcionamiento, el BIOS es normalmente invisible a los usuarios de los equipos. [ Al encender la computadora, el BIOS hace una comprobacin del sistema, por ejemplo para verificar la disponibilidad de discos duros instalados o el acceso a memoria. Los sistemas actuales constan de un BIOS programable, que puede ser actualizado mediante un software especfico. En estos casos se dispone de una batera que mantiene la informacin de cada sistema concreto, mientras el ordenador o computadora permanece desconectado de la red. Muchas de las opciones del BIOS pueden ser definidas mediante un sistema de mens al que puede accederse, normalmente, mediante la pulsacin de alguna tecla antes del arranque del sistema operativo. As, por ejemplo, se podrn fijar factores de trabajo del hardware, tales como el modo de cach del procesador, la secuencia de arranque desde disquete, disco duro y unidad de CD-ROM, la frecuencia de refresco de memoria y otros. ] Unidad de disco Dispositivo electromecnico que permite leer y en ocasiones escribir informacin en los discos. Los principales componentes de una unidad de disco incluyen un eje sobre el que va montado el disco, un motor que lo hace girar cuando la unidad est en funcionamiento, uno o ms cabezales de lectura/escritura, un segundo motor que sita dichos cabezales sobre el disco, y un circuito controlador que sincroniza las actividades de lectura/escritura y transmite la informacin hacia y desde el ordenador o computadora. Los tipos de unidad de disco ms comunes son las disqueteras, o unidades de discos flexibles, los discos duros, los lectores de disco compacto, CD, y los lectores de disco verstil digital, DVD. Existen, adems, otras unidades cuyo uso est menos extendido, pero que estn pensadas para aplicaciones especficas, como por ejemplo el LS-120, o super-disk, el ZIP de 100 MB y 200 MB, el JAZ y las unidades de cinta. Tanto las unidades de disquete como las unidades de disco duro, disponen de una cabeza de lectura/escritura que permite leer y escribir informacin en los discos; pero, mientras que en los disquetes, la cabeza est en contacto fsico con el disco, en los discos duros hay un espacio entre la cabeza y la superficie del disco.

Por su parte, los lectores de disco compacto, CD, y las unidades de DVD, disponen de un lser, ya que la lectura de la informacin se hace por procedimientos pticos. En algunos casos, estas unidades son de slo lectura y en otros, de lectura y escritura.

Disco duro Unidad de almacenamiento permanente de gran capacidad. Est formado por varios discos apilados dos o ms, normalmente de aluminio o vidrio, recubiertos de un material ferromagntico. Como en los disquetes, una cabeza de lectura/escritura permite grabar la informacin, modificando las propiedades magnticas del material de la superficie, y leerla posteriormente; esta operacin se puede hacer un gran nmero de veces. La mayor parte de los discos duros son fijos, es decir, estn alojados en el ordenador de forma permanente, sin embargo, existen tambin discos duros removibles.

CONTROLADOR DE DISCO: Conjunto de circuitos, generalmente integrados en un chip o tarjeta, que dirige la lectura y escritura en las unidades de disco de una computadora. La transferencia de informacin desde y hacia la unidad de disco es una operacin compleja, y el controlador de disco lleva a cabo tareas tales como situar el cabezal de lectura/escritura, servir de intermediario entre la unidad y el microprocesador y controlar la transferencia de informacin hacia y desde la memoria. Los controladores de disco se utilizan con ambas unidades de discos flexibles (o disquetes) y con los discos duros. Tipos de controlador IWM Integrated Woz Machine Macintosh IDE, EIDE Tarjeta conectada a ranura de expansin en la placa base del sistema, maneja como mximo 4 unidades de disco duro. SCSI Tarjeta conectada a ranura de expansin en la placa base del sistema, maneja como mximo 7 unidades de disco duro.

Partes de un disco duro: Pista: es el conjunto de bytes en la superficie de un disco al cual puede accederse sin mover el brazo de acceso. Sector: es la porcin referenciable ms pequea de un disco. Cada pista est divida en varios sectores. Cilindros: son pistas que estn directamente unas sobre otras. La importancia del cilindro es que se puede tener el acceso a toda la informacin almacenada sin mover el brazo que sostiene las cabezas de lectura y escritura.

Cluster: Parmetro de organizacin. Unidad de asignacin que agrupa varios sectores, que es donde se almacenan los datos de manera organizada. Cada unidad puede ser utilizada por un solo archivo, pero un archivo puede utilizar varias unidades.

Cuando se quiere acceder a un byte almacenado en el archivo, el sistema operativo del computador encuentra la superficie, la pista y sector correctos, lee el sector completo y lo pone en un rea especial en memoria RAM llamada buffer, y despus encuentra dentro de ese buffer el byte solicitado.
Frmulas para clculos sencillos de capacidades

Capacidad de la pista = # de sectores por pista x bytes por sector Capacidad del cilindro = # de pistas por cilindro x capacidad de la pista Capacidad de la unidad = # de cilindros x capacidad del cilindro
Formas para referenciar datos

Hay dos formas de hacer referencia a datos en los discos: 1. Por sectores. 2. Por bloques. Por bloques se refiere a un grupo de registros que se almacenan juntos en un disco y son tratados como una unidad, para propsitos de E/S. La bsqueda de un registro entre los bloques de una pista con una llave es ms rpida. Desventajas: El peligro de fragmentacin interna de la pista (fragmentacin es el espacio que se vuelve intil dentro de un cmulo, bloque, pista u otra unidad de almacenamiento fsico). La molestia que significa para el usuario el trabajo con alguna complejidad adicional. La prdida de oportunidades para lograr algunos tipos de sincronizacin (como la intercalacin de sectores) que si proporciona el hacer referencia por sectores. Por sectores o intercalacin de sectores, se refiere al acceso a sectores lgicamente adyacente, es decir, los sectores se ven como segmentos de pista adyacentes de tamao fijo, capaces de contener un archivo.
Costo del acceso a disco

Este puede medirse de tres formas: 1. En trminos del tiempo que consume el desplazamiento: este se refiere al tiempo requerido para mover el brazo de acceso hasta el cilindro adecuado, es decir, donde se encuentra en el byte que buscamos. El tiempo depende por supuesto de la distancia que tenga que recorrer el brazo. 2. El retraso por rotacin: se refiere al tiempo que transcurre para que en el disco que gira el sector que se desea quede bajo la cabeza de lectura y escritura. 3. El tiempo de transferencia: una vez que los datos que se desean estn bajo la cabeza de lectura y escritura, se pueden transferir. El tiempo de transferencia est dado por la frmula: Tiempo de Transferencia = # de bytes por transferir x Tiempo de rotacin # de bytes en una pista

Cintas magnticas

Las unidades de cinta magntica pertenecen a una clase de dispositivos que no brindan la facilidad del acceso directo, pero son muy buenas para el procesamiento secuencial de datos. Cuando se sabe que un archivo grande normalmente no requiere acceso directo, almacenarlo en cinta tiene ventajas. Las cintas son compactas, estables en diferentes condiciones ambientales y fciles de almacenar y transportar. Otra ventaja es que el espacio de la cinta generalmente es menos costoso que el del disco. Las cintas se presentan en una diversidad de formas, tamaos y velocidades. Las diferencias de desempeo entre las unidades normalmente se miden en trminos de tres cantidades: Densidad de la cinta Velocidad de la cinta Tamao del espacio entre bloques
El viaje de un Byte

Con esto se refiere al viaje que realiza un byte o dato desde el almacenamiento primario (memoria RAM) hacia el almacenamiento secundario (disco). Este viaje implica la participacin de diversos programas y dispositivos, como son: 1. El programa del usuario, que hace la llamada inicial al sistema operativo. 2. El administrador de archivos del sistema operativo, el cual mantiene y maneja tablas cuya informacin emplea para pasar del punto de vista lgico que el programa tiene con respecto a un archivo hasta el archivo fsico en donde se almacenar el byte. 3. Un procesador de E/S y su software, que sincronizan la transmisin de un byte entre un buffer de E/S en memoria RAM y el disco (almacenamiento primario y secundario). 4. El controlador del disco y su software, que dan instrucciones a la unidad acerca de cmo encontrar la pista y el sector apropiados, para despus enviar el byte, y 5. La unidad de disco (almacenamiento secundario), que recibe el byte y lo deposita en la superficie del disco.
Manejo de buffers

Manejar buffers implica trabajar con grandes grupos de datos en memoria RAM para que el nmero de accesos al almacenamiento secundario se reduzca. Desventaja: el uso de buffers en un programa tambin puede afectar considerablemente el desempeo.
Cuellos de botella con un buffer

Este problema se da cuando el administrador de archivos tiene solo un buffer de E/S para procesar los datos y tiene el problema del manejo, al mismo tiempo, de manejar la entrada y salida de un dato o byte del disco a memoria y viceversa. Este problema se soluciona teniendo un buffer para la entrada y otro para la salida, la cual es conocida como una estrategia de Manejo doble de Buffers.

1.3 Qu es una Base de Datos?


Consiste en un conjunto de datos persistentes que son utilizados por una aplicacin de software.

Sistema de Base de Datos Bsicamente es un sistema computarizado para almacenamiento de registros, cuyo propsito principal es dar mantenimiento a la informacin y mantenerla disponible en demanda. Los datos almacenados en un sistema de Base de Datos deben ser ntegros y compartidos, lo cual representa la mayor ventaja de un sistema de Base de Datos. Se entiende por integridad de datos a la unificacin de informacin en archivos de datos evitando la redundancia de informacin dentro de los mismos. Se entiende por informacin compartida al hecho de que las piezas individuales de informacin pueden ser compartidas por diferentes usuarios en un mismo tiempo. Tipos de Usuario: Programador de aplicaciones responsable de escribir programas que usan la informacin almacenada en la DB. Usuario Final es el que interactua con el sistema desde una terminal en lnea. DBA Administrador de la base de datos. Base de Datos Relacional Es una base de datos basada en el modelo relacional, estas bases de datos son percibidas por los usuarios como una coleccin de tablas. Beneficios del uso de una base de datos para almacenar informacin Se reduce la redundancia Se evita la inconsistencia en la informacin almacenada La informacin puede ser compartida Se obliga a la utilizacin de estndares Se pueden aplicar restricciones de seguridad La integridad se puede mantener Requerimientos conflictivos pueden ser balanceados

1.3 Arquitectura para un sistema de Base de Datos


Los tres niveles de la arquitectura de una Base de Datos La arquitectura ANSI/SPARC est dividida en tres niveles conocidos como el nivel interno, el nivel conceptual y el nivel externo. El nivel interno es el ms cercano al almacenamiento fsico, es decir, es el nivel ms comprometido con la forma en que se almacenan fsicamente los datos. El nivel externo es el nivel ms cercano a los usuarios, es decir, es el nivel ms comprometido con la forma en que los datos son vistos por los usuarios individuales. El nivel conceptual es un nivel de indireccin entre los otros dos niveles. Es una vista comn de la base de datos completa para toda la comunidad de usuarios.

1.3.1 Mapeo entre niveles


El mapeo conceptual/interno en la arquitectura, define la correspondencia entre la vista conceptual y el almacenamiento de la base de datos, especifica cmo los registros y los campos son representados a un nivel interno. Si la estructura de almacenamiento interno de la base de datos cambia, entonces, el mapeo conceptual/interno debe ser modificado tambin, pero, el esquema conceptual debe permanecer invariante, en otras

palabras, el efecto de tales cambios debe ser transparente para el nivel conceptual para que se preserve la poltica de independencia de datos.

1.3.2 El administrador de la Base de Datos (DBA)


El administrador de datos es la persona que define la estrategia y polticas acerca de los datos de la empresa. El administrador de la base de datos, es la persona, que provee el soporte tcnico necesario para implementar estas definiciones. Esto es, el DBA es la persona responsable del control del sistema de bases de datos a un nivel tcnico, algunas de sus funciones son las siguientes: Definir el esquema conceptual Definir el esquema interno Definir el esquema de datos para cada usuario Definir chequeos de seguridad e integridad Definir los procedimientos de backup y recuperacin de la informacin Monitorear el desempeo y responder a los requerimientos de cambio

1.3.3 El sistema administrador de la Base de Datos (DBMS)


Es el software que maneja el acceso a la base de datos. Conceptualmente, lo que ocurre es lo siguiente: 1. Un usuario realiza una solicitud de acceso a datos utilizando algn sublenguaje particular de datos (ej. SQL) 2. El DBMS intercepta esta solicitud y la analiza 3. El DBMS inspecciona el esquema externo del usuario, el correspondiente mapeo externo/conceptual, el esquema conceptual, el mapeo conceptual/interno y la definicin estructural del almacenamiento 4. El DBMS ejecuta las operaciones necesarias sobre la base de datos almacenada Algunas de las funciones del DBMS son las siguientes: Definicin de datos utilizando DDL (Data definition language) Manipulacin de datos utilizando DML (Data manipulation language), las solicitudes para utilizar DML pueden ser planificadas y no planificadas. Garantizar la seguridad e integridad de los datos Forza controles para la concurrencia y recuperacin de datos, normalmente utiliza un componente de software llamado Transaction Manager. Provee una funcin de diccionario de datos. Debe proveer todas las funciones necesarias para que el rendimiento sea lo ms efectivo posible.

1.3.4 El manejador de comunicacin de datos (Data Communications manager)


Las solicitudes hechas a una base de datos desde un usuario final son transmitidas en la forma de mensajes, lo mismo ocurre con las respuestas de la base de datos hacia los usuarios finales. Todos estos mensajes de transmisin toman lugar bajo la direccin de otro software denominado manejador DC (data communications manager). El manejador DC no es un componente del DBMS, sino ms bien un sistema autnomo. A pesar de que el manejador DC y el DBMS son claramente necesarios para trabajar armoniosamente, algunas veces son vistos como un sistema cooperativo de alto nivel

llamado database/data-communications system (DB/DC system), en el cual el DBMS administra la base de datos y el DC manager administra todos los mensajes hacia y desde el DBMS, o visto de otra forma, desde y hacia aplicaciones que utilizan el DBMS.

1.3.5 Bakcend vs Frontends


El backend es el DBMS en s. Soporta todas las funciones bsicas del DBMS (definicin de datos, manipulacin de datos, seguridad e integridad de datos, etc.). En particular, provee provee todo el soporte para los niveles externo, conceptual e interno. En este contexto, backend es otro nombre para el DBMS. Los frontdends son varias aplicaciones que corren en la cima del DBMS tanto aplicaciones de usuario como aplicaciones builtin (ej. Aplicaciones provistas tanto por el dueo del DBMS como por algunos proveedores de software conocidos como thirdparty) En lo que al backend concierne, no existe alguna diferencia entre las aplicaciones de usuario y las aplicaciones builtin, ambos usan la misma interfaz con el backend, llamada la interfaz del nivel externo discutida anteriormente. Las aplicaciones pueden ser divididas en las siguientes categoras: Aplicaciones de usuario - Estas son bsicamente aplicaciones regulares, escritas en un lenguaje convencional de programacin o en algn lenguaje propietario, en cualquier caso el lenguaje necesita acoplarse con un sub-lenguaje apropiado para el manejo de datos. Aplicaciones provistas por terceros (tambin llamadas herramientas). El propsito fundamental de estas herramientas es asistir en el proceso de crear y ejecutar otras aplicaciones. Por ejemplo, una herramienta de terceros sera un procesador de queries, cuyo propsito sera permitir al usuario final realizar queries libres sobre la base de datos. Estas herramientas de terceros pueden ser clasificadas de la siguiente forma: o Lenguajes para procesar de consultas. (Query language processors) o Reporteadores o Subsistemas de grficas de negocios o Spreadsheets o Procesadores de lenguaje natural o Paquetes estadsticos o Herramientas para manejo de copias o Generadores de aplicaciones o Otras herramientas de desarrollo de aplicaciones, incluidas las herramientas case (computer-aided software engineering).

1.3.6 Utilitarios
Son programas diseados para ayudar al DBA con varias tareas administrativas. Algunos de estos utilitarios pueden ser los siguientes: Programas para carga. Permiten crear una versin inicial de la base de datos desde uno o ms archivos. Programas para descargar/recargar. Para descargar la base de datos (o una parte de ella) para hacer un backup de la informacin para propsitos de restauracin posterior de la informacin.

Programas de reorganizacin. Para reacomodar los datos en la base de datos, algunas razones para requerir esto tienen que ver con el rendimiento de las aplicaciones que utilizan la base de datos. Programas estadsticos, para computar varias estadsticas de rendimiento tales como tamao de archivos, distribuciones de valores de datos, conteos de I/O, etc. Programas de anlisis, para analizar las estadsticas.

1.3.7 Proceso distribuido


El trmino proceso distribuido significa que mltiples mquinas pueden ser conectadas juntas dentro de una red de comunicacin como una tarea simple de proceso de datos que realmente involucra varias mquinas en la red. La comunicacin entre varias mquinas es manejada por una extensin del manejador DC.

Vous aimerez peut-être aussi