Ingeniero
Una técnica común utilizada en data warehouse (DW) es pre-calcular y almacenar los resultados de queries frecuentes. Esto es especialmente benéfico cuando los queries envuelven agregación, porque el resultado es usualmente mas pequeño que el dato detallado utilizado para producir el resultado. Un ejemplo de tales queries es un reporte de ventas mensuales de cualquiernegocio. Como múltiples usuarios están interesados en el total de ventas de cada producto para cada mes, los datos serian seleccionados, unidos, almacenados y agregados una y otra vez para cada usuario. En lugar de desperdiciar recursos re-ejecutando los queries repetidamente, el resultado podría ser pre-calculado y guardado en una tabla. Tales resultados precalculados se llaman frecuentemente resúmeneso tablas de sumarios.
Oracle 8i, con su administración de sumarios, hizo un gran avance en la manera que la gente utilizó las tablas de sumarios dejando que la base de datos administre sumarios transparentemente.
Un sumario es esencialmente un resultado pre-calculado de un query SQL. Una vez que el sumario ha sido creado, el resultado del query puede ser obtenido desde el sumario. Un sumariotambién puede ser utilizado para contestar otros queries relacionados. Por ejemplo, si estamos interesados en el total de ventas de cada producto para cada año, el resultado puede ser obtenido añadiendo los meses para ese año en específico, ya que los meses abarcan un año. Para utilizar un sumario, el query tiene que ser modificado de alguna manera que haga referencia a ese sumario. En algunassituaciones esto significaría que aplicaciones SQL deben ser modificadas.
Antes de utilizar sumarios, responda las siguientes preguntas:
– Cual es el mejor conjunto de sumarios que se creará?
– Los usuarios deben saber de la existencia de los sumarios? Si es el caso, como sabrán que sumarios existen y cuando utilizarlos?
– A medida que los datos de detalle cambien, como seconservaran actualizados los sumarios?
2. AGREGADOS
Hace mas de una década Ralph Kimball describió las tablas de agregados como “the single most dramatic way to improve performance in a large data warehouse”. Agregando:
“Aggregates can have a very significant effect on performance, in some cases speeding queries by a factor of one hundred or even one thousand. No other means exists toharvest such spectacular gains”
Esta aseveración permanece cierta en nuestros días como lo fue hace más de una década. Desde entonces, los avances de hardware y software han mejorado dramáticamente mejorando la capacidad y desempeño de un data warehouse. Los agregados son componentes de estas mejoras, proporcionando ganancias en desempeño que aprovechan completamente estas capacidades de latecnología de la información.
La meta de una estrategia de agregados en grandes bases de datos debe ser mas que solo mejorar el desempeño. Una buena estrategia de agregados deberá también hacer lo siguiente:
• Proporcionar una ganancia dramática en el desempeño en tantas categorías de queries de usuarios como sea posible.
• Añadir solamente una cantidad razonable de almacenamiento extra de datosa el data warehouse. Lo que es razonable depende del DBA, pero muchos DBA de data warehouses procuran incrementar el almacenamiento total del disco del data warehouse en un factor de dos o menos.
• Ser completamente transparentes a los usuarios finales y diseñadores de aplicaciones excepto para los beneficios de desempeño obvios; en otras palabras, ninguna aplicación de usuario final de SQLdeberá referenciar a los agregados.
• Beneficio directo a todos los usuarios de los data warehouses, no importando que herramienta de query utilicen.
• El impacto del costo del sistema de extracción de datos deberá ser el menor posible. Inevitablemente, una gran cantidad de agregados deben construirse cada vez que los datos son cargados, pero su especificación deberá estar tan automático como...
Regístrate para leer el documento completo.