Publicado el 14 de Mayo del 2019
945 visualizaciones desde el 14 de Mayo del 2019
61,9 KB
9 paginas
Creado hace 14a (22/06/2010)
Estimación de tamaño de base
de datos
Administración de recursos
Ing. En sistemas de Información
FRBA - UTN - ARGENTINA
2010
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”. Este valor dependerá del
motor seleccionado, de su versión y del SO.
• Td: Tamaño de las tablas con sus datos. es el valor que
ocuparan los datos, 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. 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)
Estimación de tamaño de BD
• Tidx: Tamaño de los índices. Este tamaño se obtiene de la
suma de todos los índices que tenga cada una de las tablas. Y
para su cálculo se deberá tener en cuenta el tipo de índice
(cluster, 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.
• Tud: este tamaño depende de la configuración de la base y de
los tipos de procesos que se ejecuten. 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.
Estimación de tamaño de BD
• Tlog: Tamaño para logs de transacciones. Este valor puede
variar de acuerdo a la configuración de la base.
• CS: Coeficiente de seguridad
Tdb: Tamaño de la base de datos
Tdb=(Ti+Td+Tidx+Tc+Tud+Tlog) * CS
Estimación de tamaño de una tabla
El valor mas complejo de estimar es que cantidad de filas tendrá
cada tabla.
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.
• 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.
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
Clie_detalle
Clie_provincia int
int
NULL
varchar(50) NULL
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, 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
Estimación de tamaño de una tabla
Null_Bitmap : el mapa de bits NULL, 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.4 KB (aproximadamente)
Comentarios de: Estimación de tamaño de base de datos (0)
No hay comentarios