You are on page 1of 9

Estimación de tamaño de base de datos

Administración de recursos Ing. En sistemas de Información FRBA - UTN - ARGENTINA 2010

este es el más estándar de los valores ya que se obtiene calculando el tamaño de cada una de las tablas sumando lo que ocuparan cada una de sus filas.Estimación de tamaño de BD Para la estimación del tamaño que ocupara una base de datos se deben tener en cuenta los siguientes valores: • Ti: Tamaño inicial de la base “limpia”. • Td: Tamaño de las tablas con sus datos. es el valor que ocuparan los datos. Si hay que tener en cuenta que no todos los motores poseen exactamente los mismos tipos de datos por lo que los tamaños podrían variar. Además hay que tener en cuenta que cada motor maneja diferente las características de las columnas (manejo de nulls por ej) . Este valor dependerá del motor seleccionado. de su versión y del SO.

. Este tamaño se obtiene de la suma de todos los índices que tenga cada una de las tablas. En la mayoría de los casos suele ser un espacio a considerar si se tiene un alto volumen de transacciones concurrentes o si las transacciones ejecutan muchas sentencias en cada transacción. • Tud: este tamaño depende de la configuración de la base y de los tipos de procesos que se ejecuten. Y para su cálculo se deberá tener en cuenta el tipo de índice (cluster.Estimación de tamaño de BD • Tidx: Tamaño de los índices. no cluster) y el método que utilice el motor seleccionado para almacenarlo • Tc: Tamaño de las funciones y/o procedimientos (generalmente este tamaño es insignificante respecto de los demás.

Este valor puede variar de acuerdo a la configuración de la base.Estimación de tamaño de BD • Tlog: Tamaño para logs de transacciones. • CS: Coeficiente de seguridad Tdb: Tamaño de la base de datos Tdb=(Ti+Td+Tidx+Tc+Tud+Tlog) * CS .

• Si existe una base de datos similar en un contexto similar podría tomarse como parámetro para realizar la estimación • En algunos casos es posible estimar este valor mediante información de marketing. . Para estimar el número de filas se debe tener en cuenta: • La cantidad de transacciones estimadas y en base a esto determinar el porcentaje de dichas transacciones que agregaran o eliminaran registros de cada tabla.Estimación de tamaño de una tabla El valor mas complejo de estimar es que cantidad de filas tendrá cada tabla.

.Estimación de tamaño de una tabla Ejemplo sencillo de estimación del tamaño de una tabla para MS-SqlServer 2008 Clientes Clie_id int NULL Clie_detalle varchar(50) NULL Clie_provincia int NULL Para este ejemplo estimaremos que el nro de filas de la tabla será de 1000.

.Estimación de tamaño de una tabla Como primer paso se debe calcular el tamaño que ocupara 1 fila. Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 El valor 4 de la fórmula representa la sobrecarga del encabezado de la fila de datos.

Estimación de tamaño de una tabla Luego calculamos el tamaño de las columnas de tamaño variable Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size Max_Var_Size = tamaño máximo 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 máximo. Entonces Variable_Data_Size = 54 bytes . 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.

se reserva para administrar la nulabilidad en 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 = 3 Finalmente una fila ocupara Row_Size = 8 bytes + 54 bytes + 3 bytes + 4 bytes = 69 bytes Entonces el tamaño de la tabla será: Tt = 69 bytes x 1000 = 69000 bytes = 67.Estimación de tamaño de una tabla Null_Bitmap : el mapa de bits NULL.4 KB (aproximadamente) .