estimacionBD

9
Estimación de tamaño de base de datos Administración de recursos Ing. En sistemas de Información FRBA - UTN - ARGENTINA 2013

description

Texto universitario para los alumnos de la UTN-ITBA-UCA. Muy completo y sobre temas que nos pueden ayudar.

Transcript of estimacionBD

  • Estimacin de tamao de base

    de datosde datos

    Administracin de recursos

    Ing. En sistemas de Informacin

    FRBA - UTN - ARGENTINA

    2013

  • Estimacin de tamao de BDPara la estimacin del tamao que ocupara una base de datos se

    deben tener en cuenta los siguientes valores:

    Ti: Tamao inicial de la base limpia. Este valor depender del motor seleccionado, de su versin y del SO.

    Td: Tamao de las tablas con sus datos. es el valor que ocuparan los datos, este es el ms estndar de los valores ya que se obtiene los datos, este es el ms estndar de los valores ya que se obtiene calculando el tamao de cada una de las tablas sumando lo que ocuparan cada una de sus filas. Si hay que tener en cuenta que no todos los motores poseen exactamente los mismos tipos de datos por lo que los tamaos podran variar. Adems hay que tener en cuenta que cada motor maneja diferente las caractersticas de las columnas (manejo de nulls por ej)

  • Estimacin de tamao de BD

    Tidx: Tamao de los ndices. Este tamao se obtiene de la suma de todos los ndices que tenga cada una de las tablas. Y para su clculo se deber tener en cuenta el tipo de ndice (cluster, no cluster) y el mtodo que utilice el motor

    seleccionado para almacenarloseleccionado para almacenarlo

    Tc: Tamao de las funciones y/o procedimientos (generalmente

  • Estimacin de tamao de BD

    Tlog: Tamao para logs de transacciones. Este valor puede variar de acuerdo a la configuracin de la base.

    CS: Coeficiente de seguridad

    Tdb: Tamao de la base de datos

    Tdb=(Ti+Td+Tidx+Tc) * CS

  • Estimacin de tamao de una tabla

    El valor mas complejo de estimar es que cantidad de filas tendr cada tabla.

    Para estimar el nmero de filas se debe tener en cuenta:

    La cantidad de transacciones estimadas y en base a esto La cantidad de transacciones estimadas y en base a esto determinar el porcentaje de dichas transacciones que agregaran o eliminaran registros de cada tabla.

    Si existe una base de datos similar en un contexto similar podra tomarse como parmetro para realizar la estimacin

    En algunos casos es posible estimar este valor mediante informacin de marketing.

  • Estimacin de tamao de una tabla

    Ejemplo sencillo de estimacin del tamao de una tabla para MS-SqlServer 2008

    Clientes

    Clie_id int NULLClie_detalle varchar(50) NULLClie_provincia int NULL

    Para este ejemplo estimaremos que el nro de filas de la tabla ser de 1000.

  • Estimacin de tamao de una tabla

    Como primer paso se debe calcular el tamao que

    ocupara 1 fila.

    Row_Size = Fixed_Data_Size +

    Variable_Data_Size +

    Null_Bitmap + 4

    El valor 4 de la frmula representa la sobrecarga del

    encabezado de la fila de datos.

  • Estimacin de tamao de una tabla

    Luego calculamos el tamao de las columnas de tamao variable

    Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size

    Max_Var_Size = tamao mximo total en bytes de todas las columnas de longitud variable

    Para nuestro ejemplo Variable_Data_Size = 2 + (1x2) + 50

    Suponemos que siempre se ocupar el mximo, si se conoce el valor promedio

    es conveniente ajustar el valor de Max_Var_Size. Los bytes agregados

    a Max_Var_Size son para el seguimiento de cada columna de longitud variable.

    Entonces Variable_Data_Size = 54 bytes

  • Estimacin de tamao de una tabla

    Null_Bitmap : el mapa de bits NULL, se reserva para administrar la nulabilidaden las columnas

    Null_Bitmap = 2 + ((Num_Cols + 7) / 8) solo se toma la parte entera

    Para nuestro ejemplo Null_Bitmap = 2 + ((3+7)/8)

    Entonces Null_Bitmap = 3Entonces Null_Bitmap = 3

    Finalmente una fila ocupara

    Row_Size = 8 bytes + 52 bytes + 3 bytes + 4 bytes = 67 bytes

    Entonces el tamao de la tabla ser:

    Tt = 67 bytes x 1000 = 67000 bytes = 65.4 Kb (aproximadamente)