Bases de datos II Universidad del Cauca Ing. Wilson Ortega.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
DEFINICIONES. TIPOS. SEMANA 12
IBD Clase 7.
Arquitecturas de BD Modelo ANSI/SPARC
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
PROGRAMACION DE ESTRUCTURAS DE DATOS
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Implementación de archivos
Windows XP sp3.
Teoría de lenguajes y compiladores
ADMINISTRACIÓN DE MEMORIA
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Servidores de nombres de dominio (DNS)
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Acceso a datos con ADO.NET
Listas circulares.
UNIDAD I Conceptos Básicos.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Sebastián Sánchez Prieto
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
Sistema de archivos Sistemas operativos.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Administración de Memoria
Aplicación de estructuras de datos
Capítulo 7 Gestión de memoria.
Programación en C para electrónicos
Teoría de Sistemas Operativos Administración de Archivos.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN Ing. Tanya Recalde Chiluiza.
Teoría de lenguajes y compiladores
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
MIA - Grupo 5 Unidad 2.
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
MEMORIA DINÁMICA.
Base de Datos Auditoría – Orientación II Cr. Oscar Nielsen
7 Fragmentación Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
 Modelo de Datos MD  Conjunto de conceptos que permiten describir, a distintos niveles de abstracción, la estructura de una B.D. Que llamaremos ESQUEMA.
Gestión de Memoria – Parte 2
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Manejo de archivos de texto.  Unidad fundamental de almacenamiento dentro del ámbito de la informática. Alberga un conjunto de datos que es posible leer,
Tema 11: Segmentación y Paginación de la Memoria
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
Conceptos de sistemas de información 4 Sistema de información formal –Es un medio informativo organizacionalmente eficaz, que es diseñado con la finalidad.
JANITH SULAY JAIMES PABON GIOVANNY JIMÉNEZ GÓMEZ JOHN ANDRES AYALA ANGARITA SERGIO ANDRES ARAQUE BERMUDEZ GESTIÓN DE ALMACENAMIENTO SECUNDARIO.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Representación en espacio de estado
Prof. Mauro Zaravia Ortiz Computación e Informática Primer Año Secundaria.
Entidades (Unidades de Análisis): Localidad Segmento Viviendas Hogares Familias Personas 1.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 7 – Funciones y Procedimientos.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Bases de datos II Universidad del Cauca Ing. Wilson Ortega

Introducción Las bases de datos se corresponden con cierto número de archivos diferentes que mantiene el sistema operativo subyacente. Estos archivos residen permanentemente en los discos, con copias de seguridad en cinta. Cada archivo se divide en unidades de almacenamiento de longitud constante denominadas bloques, que son las unidades de asignación de almacenamiento y de transferencia de datos. Uno de los principales objetivos del sistema de bases de datos es minimizar el número de transferencias de bloques entre el disco y la memoria Una manera de reducir el número de accesos al disco es mantener en la memoria principal todos los bloques que sea posible

Memoria intermedia La memoria intermedia (buffer) es la parte de la memoria principal disponible para el almacenamiento de las copias de los bloques del disco El subsistema responsable de la asignación del espacio de la memoria intermedia se denomina gestor de la memoria intermedia Los programas de un sistema de bases de datos formulan solicitudes al gestor de la memoria intermedia cuando necesitan un bloque del disco Bloque en memoria -> Se pasa al solicitante la dirección del bloque en la memoria principal. Bloque no está memoria -> Se asigna espacio al bloque en la memoria intermedia, descartando algún otro bloque si hace falta para hacer sitio para el nuevo bloque. Sólo se vuelve a escribir en el disco el bloque que se descarta si se modificó desde la última vez que se escribió en el disco. A continuación, lee el bloque del disco, lo escribe en la memoria intermedia y pasa la dirección del bloque en la memoria principal al solicitante

Políticas para sustitución de la memoria El objetivo de las estrategias de sustitución de los bloques de la memoria intermedia es la minimización de los accesos al disco En los programas de propósito general no resulta posible predecir con precisión los bloques a los que se hará referencia. Generalmente los sistemas operativos utilizan un esquema menos recientemente utilizado (Least Recently Used, LRU) Los sistemas de bases de datos pueden predecir la pauta de las referencias futuras con más precisión que los sistemas operativos. Pueden predecir los bloques que se necesitarán examinando cada una de las etapas necesarias para llevar a cabo la operación solicitada por el usuario

Políticas para sustitución de la memoria Ej. Consideremos la instrucción: prestatario join cliente El SGBD puede usar la siguiente estrategia para obtener los datos: Si las dos relaciones se guardan en archivos diferentes podemos concluir que tanto para prestatario como para clientes, el bloque al que se hace referencia más recientemente es el último que se vuelva a referenciar. Por lo tanto lo ideal es usar la estrategia más reciente usada (Most Recently Used,MRU).

Organización de los archivos Los archivos se organizan lógicamente como secuencias de registros. Estos registros se corresponden con los bloques del disco Aunque los bloques son de un tamaño fijo determinado por las propiedades físicas del disco y por el sistema operativo, los tamaños de los registros varían Los registros pueden ser: Registros de longitud fija Registros de longitud variable

Registros de longitud fija Consideremos la siguiente estructura: Si se supone que cada carácter ocupa un byte y que un valor de tipo real ocupa ocho bytes, el registro de cuenta tiene cuarenta bytes de longitud. Un enfoque sencillo es utilizar los primeros cuarenta bytes para el primer registro, los cuarenta bytes siguientes para el segundo registro, etcétera

Registros de longitud fija Cuando se borra un registro de esta estructura Se debe rellenar el espacio ocupado por el registro que hay que borrar con algún otro registro del archivo o tener algún medio de marcar los registros borrados para que puedan pasarse por alto. A menos que el tamaño de los bloques sea un múltiplo de cuarenta (lo que resulta improbable) algunos de los registros se saltarán los límites de los bloques. Es decir, parte del registro se guardará en un bloque y parte en otro. Harán falta, por tanto, dos accesos a bloques para leer o escribir ese tipo de registros.

Registros de longitud fija Borrado del registro 2. Al borrar el registro se podrían ir desplazando los registros siguientes para cubrir el espacio libre. Esta opción es muy costosa. Una mejora es mover el último registro al espacio que queda libre. Dado que normalmente se realizan más inserciones que borrados, existe la posibilidad de dejar el espacio libre y en el momento de una inserción usar dicho espacio. Mediante esta técnica puede resultar costoso encontrar el espacio libre para la inserción, debido a esto se puede usar una estructura adicional.

Registros de longitud fija La estructura adicional es una cabecera del archivo que contendrá gran variedad de información sobre el archivo. Para este caso lo más importante es la dirección del primer registro cuyo contenido se haya borrado. Se utiliza este primer registro para guardar la dirección del segundo registro disponible, y así sucesivamente. Esto forma una lista enlazada denominada lista libre Ej. Borrando los registros 1, 4 y 6

Registros de longitud variable Consideremos la siguiente estructura: Se define información-cuenta como un array con un número arbitrario de elementos, por lo que no hay ningún límite para el tamaño que pueden tener los registros. Existen varios métodos para almacenar este tipo de estructuras tan habituales en las bases de datos.

Representación en cadenas de bytes Un método sencillo de implementar los registros de longitud variable es adjuntar un símbolo especial de fin de cada registro. Una versión alternativa de la representación en cadenas de bytes guarda la longitud del registro al comienzo de cada registro en lugar de utilizar símbolos de final de registro. No resulta sencillo volver a utilizar el espacio ocupado anteriormente por un registro borrado. Por lo general no queda espacio para el aumento del tamaño de los registros. Si un registro de longitud variable aumenta de tamaño hay que desplazarlo. Por tanto, no se suele utilizar la representación sencilla en cadenas de bytes. Sin embargo, una forma modificada, denominada estructura de páginas con ranuras, se utiliza normalmente para organizar los registros dentro de cada bloque.

Estructura de páginas con ranuras Hay una cabecera al principio de cada bloque que contiene: El número de elementos del registro de la cabecera El final del espacio vacío del bloque Un array cuyas entradas contienen la ubicación y el tamaño de cada registro

Estructura de páginas con ranuras Los registros reales se ubican de manera contigua en el bloque, empezando desde el final del mismo. El espacio libre dentro del bloque es contiguo, entre la última entrada del array de la cabecera y el primer registro. Si se inserta un registro se le asigna espacio al final del espacio libre y se añade a la cabecera una entrada que contiene su tamaño y su ubicación. Si se borra un registro se libera el espacio que ocupa y se da el valor de «borrada» a su entrada (por ejemplo, se le da a su tamaño el valor de –1). Además, se desplazan los registros de bloque situados antes del registro borrado, de modo que se ocupe el espacio libre creado por el borrado y todo el espacio libre vuelve a hallarse entre la última entrada del array de la cabecera y el primer registro. También se actualiza de manera adecuada el puntero de final del espacio libre de la cabecera.

Estructura de páginas con ranuras Se puede aumentar o disminuir el tamaño de los registros siempre y cuando quede espacio en el bloque. El coste de trasladar los registros no es demasiado elevado, dado que el tamaño del bloque es limitado: un valor típico es cuatro kilobytes. No deben existir punteros que apunten directamente a los registros. Por el contrario, los punteros deben apuntar a la entrada de la cabecera que contiene la ubicación verdadera del registro. Este nivel de indirección permite a los registros desplazarse para evitar la fragmentación del espacio dentro del bloque.

Otros tipos de representación Representación de longitud fija Espacio reservado Representación con listas

Almacenamiento con diccionario de datos Un sistema de bases de datos relacionales necesita tener datos sobre las relaciones. Esta información se denomina diccionario de datos o catálogo del sistema. Entre los tipos de información que debe guardar el sistema figuran los siguientes: Los nombres de las relaciones Los nombres de los atributos de cada relación Los dominios y las longitudes de los atributos Los nombres de las vistas definidas en la base de datos y las definiciones de esas vistas Las restricciones de integridad

Almacenamiento con diccionario de datos - II Además, muchos sistemas guardan los datos de los usuarios del sistema: Los nombres de los usuarios autorizados La información de las cuentas de usuarios Contraseñas u otra información usada para autenticar a los usuarios Además, se puede guardar información estadística y descriptiva sobre estos asuntos: Número de tuplas de cada relación Método de almacenamiento utilizado para cada relación

Almacenamiento con diccionario de datos - II Toda esta información constituye una base de datos en miniatura. Algunos sistemas de bases de datos guardan esta información utilizando estructuras de datos y código especiales. Suele resultar preferible guardar los datos sobre la base de datos en la misma base de datos. Ej. Oracle: Usuarios: dba_users, user_users, all_users Roles: dba_roles Tablespaces: dba_tablespaces, user_tablespaces Tablas : dba_tables, user_tables, all_tables Vistas: dba_views, user_views, all_views

Bibliografía Fundamentos de Bases de Datos. 4ta edición. A. Silberschatz