diseÑo fÍsico - kybele.etsii.urjc.es · diseño físico uno de los objetivos principales del...

18
DISEÑO FÍSICO Tema 14. Diseño Físico

Upload: others

Post on 22-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

DISEÑO FÍSICO

Tema 14. Diseño Físico

Page 2: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele22

Introducción

Las bases de datos se organizan en dos secciones:

El esquema

Los datos o instancias

El esquema es la definición de la BD:

El nombre de cada tabla

El nombre de cada columna

El tipo de dato de cada columna

La tabla a la que pertenece cada columna

Los datos o instancia es el contenido de la base

de datos, es decir, el contenido de todos los

registros.

Page 3: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele33

Diseño Físico

Uno de los objetivos principales del diseño físico

es almacenar los datos de modo eficiente:

Productividad de transacciones (N_Transacciones/seg).

Tiempo de respuesta (seg/N_Transacciones).

Espacio en disco (GB, TB, …).

Pero, estos factores no se pueden satisfacer a la

vez. Se debe buscar un equilibrio entre cada uno

de los factores.

Si disminuimos el Tiempo de Respuesta a su

vez incrementamos el Espacio en Disco

Page 4: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele44

Diseño Físico

Para mejorar las prestaciones, el diseñador del

esquema físico debe saber cómo interactúan los

dispositivos involucrados y cómo esto afecta a las

prestaciones:

Memoria Principal

CPU

Entrada/Salida Disco

Red

Cada uno de estos recursos afecta a los demás, de

modo que una mejora en alguno de ellos debe

mejorar el rendimiento global.

Page 5: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele55

Diseño Físico

Diseñar la representación física

Analizar las transacciones.

Seleccionar las organizaciones de ficheros.

Seleccionar los índices secundarios.

Estimar la necesidad de espacio en disco.

Diseñar los mecanismos de seguridad

Diseñar las vistas de los usuarios.

Diseñar las reglas de acceso.

Afinar y monitorizar el sistema

Page 6: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele66

Diseñar la representación física

Analizar las transacciones

Para realizar un buen diseño físico es necesario conocer

las consultas y las transacciones que se van a ejecutar

sobre la base de datos.

Para cada transacción hay que especificar:

◦ La frecuencia con que se va a ejecutar.

◦ Las relaciones y los atributos a los que accede la transacción, y

el tipo de acceso (consulta, inserción, modificación o

eliminación).

◦ Los atributos que se utilizan en los predicados del WHERE de

las sentencias SQL.

◦ Si es una consulta, los atributos involucrados en el join de dos

o más relaciones.

Page 7: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele77

Diseñar la representación física

Seleccionar las organizaciones de ficheros

Fichero desordenado

◦ Se carga gran cantidad de datos en una relación al inicializarla.

◦ La relación tiene pocas tuplas.

◦ Se obtienen todas las tuplas de la relación en cada acceso.

◦ La relación tiene una estructura de acceso adicional, como

puede ser un índice.

Ficheros dispersos (Hashing)

◦ Se accede a las tuplas a través de los valores exactos de alguno

de sus campos (condición de igualdad en el WHERE).

◦ Si la condición de búsqueda es por rango o por patrón la

dispersión no es una buena opción.

Más organizaciones: ISAM, árboles B+, …

Page 8: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele88

Diseñar la representación física

Seleccionar los índices secundarios

Los índices secundarios permiten especificar caminos

de acceso adicionales para las relaciones base.

Hay que tener en cuenta que estos índices conllevan un

coste de mantenimiento que hay que sopesar frente a

la ganancia en prestaciones:

◦ Construir un índice sobre la clave primaria de cada tabla.

◦ No crear índices sobre tablas pequeñas.

◦ Añadir un índice sobre los atributos que se utilizan para

acceder con mucha frecuencia.

◦ Añadir un índice sobre las claves ajenas que se utilicen con

frecuencia para hacer joins.

◦ Evitar los índices sobre atributos que se modifican a menudo.

Page 9: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele99

Diseñar la representación física

Seleccionar los índices secundarios (Ejemplo)

CREATE INDEX ind_alumno

ON alumno (ciudad, cod_grupo);

Page 10: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1010

Diseñar la representación física

Estimar la necesidad de espacio en disco

El diseñador debe estimar el espacio necesario en disco

para la base de datos.

Esta estimación depende del SGBD que se vaya a

utilizar y del hardware.

En general, se debe estimar el número de registros de

cada tabla y su tamaño. También se debe estimar el

factor de crecimiento de cada tabla.

En algunos SGBD el administrador puede especificar

algunas características de almacenamiento.

Page 11: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1111

Diseñar la representación física

Características de Almacenamiento

En la sentencia SQL de definición de las tablas se

pueden incluir los siguientes parámetros de

almacenamiento:

◦ PCTFREE: Porcentaje de espacio libre de cada bloque que se

reserva para futuras modificaciones de las filas de la tabla.

◦ PCTUSED: Porcentaje de utilización de cada bloque.

◦ INITIAL: denota el tamaño de la extensión inicial.

◦ NEXT: indica el tamaño de las extensiones siguientes.

◦ MINEXTENTS: indica el numero mínimo de extensiones.

◦ MAXEXTENTS: indica el numero máximo de extensiones.

◦ PCTINCREASE: es un factor de crecimiento de una extensión a

la siguiente (NEXT = NEXT * factor).

Page 12: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1212

Diseñar la representación física

Características de Almacenamiento (Ejemplo)

CREATE TABLE Profesor

( Código NUMBER (4) PRIMARY KEY,

Nombre VARCHAR2(25) NOT NULL,

MateriaVARCHAR2(20))

PCTFREE 20

PCTUSED 30

TABLESPACE Datos1

STORAGE

(INITIAL 100K

NEXT 100K

MAXEXTENTS 10

PCTINCREASE 0);

Page 13: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1313

Diseño Físico

Diseñar la representación física

Analizar las transacciones.

Seleccionar las organizaciones de ficheros.

Seleccionar los índices secundarios.

Estimar la necesidad de espacio en disco.

Diseñar los mecanismos de seguridad

Diseñar las vistas de los usuarios.

Diseñar las reglas de acceso.

Afinar y monitorizar el sistema

Page 14: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1414

Diseñar los mecanismos de seguridad

Durante el diseño lógico se deben haber

especificado los requisitos de seguridad que se

deben implementar en esta fase.

Para llevar a cabo esta implementación, el

diseñador debe conocer las posibilidades que

ofrece el SGBD que se vaya a utilizar.

Diseñar las vistas de los usuarios.

Diseñar las reglas de acceso.

Page 15: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1515

Diseñar los mecanismos de seguridad

Diseñar las vistas de usuario

Se deben diseñar las vistas de usuarios

correspondientes a los esquemas lógicos locales.

Las vistas, además de preservar la seguridad:

◦ Mejoran la independencia de datos

◦ Reducen la complejidad

◦ Permiten que los usuarios vean los datos en el formato

deseado.

CREATE VIEW alumnos_madrid

AS (SELECT *

FROM alumno

WHERE ciudad=‘Madrid’);

Page 16: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1616

Diseñar los mecanismos de seguridad

Diseñar las reglas de acceso

El administrador de la base de datos o el equipo de

sistemas debe asignar a cada usuario unos credenciales

para acceder a un conjunto de datos.

Para cada usuario o grupo de usuarios se otorgarán un

conjunto de permisos para realizar determinadas

acciones sobre determinados objetos de la base de

datos.

Por ejemplo, los usuarios de un determinado grupo

pueden tener permiso para consultar los datos de una

relación base concreta y no tener permiso para

actualizarlos.

Page 17: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1717

Diseño Físico

Diseñar la representación física

Analizar las transacciones.

Seleccionar las organizaciones de ficheros.

Seleccionar los índices secundarios.

Estimar la necesidad de espacio en disco.

Diseñar los mecanismos de seguridad

Diseñar las vistas de los usuarios.

Diseñar las reglas de acceso.

Afinar y monitorizar el sistema

Page 18: DISEÑO FÍSICO - kybele.etsii.urjc.es · Diseño Físico Uno de los objetivos principales del diseño físico es almacenar los datos de modo eficiente: Productividad de transacciones

© 2012 Grupo Kybele1818

Afinar y monitorizar el sistema

Afinar el sistema

Una vez implementado el esquema físico, se debe

poner en marcha la BD y observar sus prestaciones.

Si éstas no son las deseadas, el esquema deberá

cambiar para intentar satisfacerlas.

Monitorizar el sistema

Una vez afinado el esquema, no permanecerá estático,

ya que tendrá que ir cambiando conforme lo requieran

los nuevos requisitos de los usuarios.

Los SGBD proporcionan herramientas para monitorizar

el sistema mientras está en funcionamiento (MySQL-

Proxy, Oracle-dba_tables).