Optimización en Sistemas de Bases de Datos

Transcripción

Optimización en Sistemas de Bases de Datos
Tema: Optimización en Sistemas de Bases de Datos
Facilitador: Lenin Herrera
Estudiante: Williams Sebastián
Matricula: 15-SISP-1-010
Práctica 5
Optimización en Sistemas de Bases de Datos
La optimización del acceso a los datos es vital para el tiempo de carga de la
página, debido a que suele ser el factor que más afecta al tiempo que tiene que
esperar el navegador para recibir el HTML. Este tiempo de espera es muy
importante, ya que el resto de recursos de la página (imágenes, scripts y hojas
de estilo), no se empiezan a bajar hasta que el navegador no lee el
HTML desde el que se hace referencia a estos recursos.
Este tipo de optimización es probablemente la más compleja de todas, en
primer lugar porque depende de dos factores variables en el tiempo: por un
lado, de cómo y de qué tipo son las consultas que se van a realizar y, por otro,
de la carga de trabajo que tenga que soportar el servidor o servidores. En
segundo lugar por la gran cantidad de conocimientos que hay que tener para
saber reescribir consultas, reescribir el código que ejecuta las consultas, crear
índices, vistas materializadas, particiones horizontales y verticales, réplicas,
tablas de apoyo, saber elegir los tipos de datos a usar, saber optimizar el
esquema sin perder la lógica del modelo de negocio, saber ajustar los
parámetros de configuración del SGBD, conocer y saber usar sistemas de
caché externos. Además cada uno de estos puntos, de los que hay muchos
libros escritos, se debe abordar de forma distinta dependiendo de qué SGBD
se trate (MySql, Sql Server, Oracle,…) e incluso de qué versión.
Quizás el objetivo más importante al diseñar una aplicación web sea que haga
correctamente lo que tiene que hacer en el menor tiempo posible. Esto se logra
optimizando el proceso completo que implementa la aplicación; al hacer esta
tarea, no sólo se mejora la experiencia del usuario final, sino que se optimizan
los recursos de procesamiento utilizados.
Una de las áreas fundamentales para lograr tal objetivo es trabajar
minuciosamente en el diseño de la base de datos y en la interacción de ésta
con la aplicación.
El uso de bases de datos siempre producirá un enlentecimiento en las
aplicaciones web (aunque esta caída en el rendimiento es en favor de los
beneficios que se obtienen al utilizar una base de datos). De esta manera,
siendo conscientes de la caída de rendimiento intrínseca que produce la
conexión y las consultas a la base de datos, asegurémonos que esta caída de
performance sea la menor posible. En este artículo se analizarán varios
factores a tener en cuenta al desarrollar aplicaciones ASP con bases de datos
Access y SQL Server.
Del lado de la base de datos hay cuatro ítems de mayor importancia. Estos
cuatro ítems por sí solos usualmente hacen la diferencia entre una aplicación
de base de datos rápida y otra extremadamente lenta. Cometiendo errores
aquí, un proceso que usualmente toma 1 segundo en completarse puede tomar
minutos o incluso horas!
o
o
o
o
Seleccionar el tipo de base de datos apropiado
Diseñar correctamente la estructura de la base de base de datos
Optimizar las consultas SQL
No almacenar objetos binarios de gran tamaño
La codificación de la aplicación también tiene un profundo impacto en el
rendimiento. Puede calcular la serie de Fibonacci por fuerza bruta o utilizando
una fórmula matemática. La fórmula matemática es algunos órdenes de
magnitud más rápida. El mismo principio se aplica al software de computadora.
Del lado de la aplicación, aquí van algunos puntos importantes:
o
o
o
o
o
o
o
o
o
Las cadenas de conexión
Abrir/Cerrar conexiones en los momentos apropiados
Evitar el uso del archivo "adovbs.inc"
No almacenar conexiones y recordsets en objetos Session o Application
Extraer de la base de datos sólo la información necesaria
Utilizar cursores y modos de bloqueo apropiados
Utilizar variables objeto
La propiedad CacheSize del objeto RecordSet
Una conexión por página
Fuentes:
http://www.humanlevel.com/articulos/desarrollo-web/optimizacion-de-base-de-datos.html
https://www.argentina-hosting.com/articulos/optimizacion-bases-de-datos/

Documentos relacionados