martes, 26 de febrero de 2013

¿Optimizar mis procesamientos de Datos?



Muchas empresas tienen procesos nocturnos o con cierta periodicidad de diferentes datos con algoritmos complejos con la finalidad de hacer más rápido el acceso a ellos durante el día utilizando los sistemas de información, todo esto corriendo un aceptable riesgo de no tener la información en línea, la manera más común en la que se llegó a ésta decisión fue que el proceso anterior que accedía a la información en línea comenzaba a ser cada vez más lento, pasando de algunos segundos de espera a algunos minutos, se decide entonces trabajar con datos pre-procesados y se montan los algoritmos de procesamiento en un Trabajo periódico normalmente nocturno que puede tomar su tiempo durante la noche para que en la mañana la información sea accedida rápidamente, es una técnica muy buena y muy funcional…
Sin embargo… La mayoría de las veces solo hacen un traspaso de los algoritmos existentes al Trabajo periódico sin detenerse a analizar si el procesamiento de éstos algoritmos tienen algún problema y que esto sea la razón por la cual se hace cada vez más lento (atribuyéndolo por default al crecimiento en la cantidad de datos a procesar) y lo único que se logra con ésta decisión es tener un Trabajo periódico con algunas adecuaciones que cada vez que se ejecuta se tarda un poco más, pero como la noche es larga no es algo que se aprecie a simple vista.

En Dawcons nos preocupamos por los procesamientos prolongados, pues significan mayor utilización de los Recursos como el acceso a disco, el uso de procesadores por largo tiempo y por tanto el calentamiento continuo y desgaste de ventiladores, etc. Entonces, esto provocará a la larga un mayor costo de mantenimiento o reparación y por otro lado un mayor consumo de energía, pues un Servidor que trabaja durante el día sirviendo aplicaciones a la empresa y durante la noche procesando datos de manera forzada, es un Servidor que contamina todo el tiempo y tiene elevados requerimientos energéticos constantemente, reduciendo su tiempo útil de vida.

Es importante entonces optimizar nuestros procesamientos de datos para asegurar que se están aprovechando todos los beneficios de las tecnologías que utiliza o que tiene a su disposición en el Hardware que lo contiene, se pueden realizar análisis de optimización de Querys o Procedimientos Almacenados con las mejores prácticas correspondientes al Motor de datos elegido, utilización de Hilos y paralelismo para aprovechar el MultiCore al máximo, reestructuras de las tablas para Normalizarlas al nivel adecuado logrando optimizar el acceso a datos, combinación de procesamientos de algoritmos en Base de Datos con procesamiento en Compilados para el caso de algoritmos que se pretenden forzar a procesarse con Funciones de Base de Datos cuando se pueden procesar de manera más natural en lenguajes de programación. El objetivo de la optimización deberá ser obtener los mismos resultados, utilizando al máximo el MultiCore del Hardware en el menor tiempo posible.


Dawcons lleva a cabo la optimización por medio de la participación dentro del programa de apoyo a desarrolladores de Intel, el cual proporciona herramientas, metodologías y mejores prácticas para el correcto aprovechamiento de la plataforma de hardware de Intel. 




Armando Olmos Sánchez 
Director de Producción




No hay comentarios:

Publicar un comentario