Si bien es cierto que la mayoría de las dimensiones suelen cambiar poco y no contienen grandes volúmenes de datos, en casi todos los sistemas suele aparecer alguna dimensión monstruo que contiene tanta o más información que la tabla de hechos (clientes, catálogos, visitantes de una página web). ¿Cómo manejar el procesamiento de esa información?

El particionamiento no se puede aplicar sobre las dimensiones y a través de la ventana de procesamiento nuestras únicas opciones parecen ser realizar un procesamiento completo o una actualización. Sin embargo hay una tercera opción; A través de un script XMLA podemos ejecutar el comando ProcessAdd. Este comando va a permitir realizar un procesamiento incremental de la dimensión, añadiendo solo aquellos registros nuevos que identifiquemos sin necesidad de tocar la información almacenada actualmente en la dimensión.

Este tipo de procesamiento no se podrá aplicar sobre dimensión de tipo 1, es decir, aquellas que requieren actualización de los datos históricos.

El proceso incremental de una dimensión tiene varias diferencias con respecto al proceso incremental de un cubo:

  1. No duplica información. Cuando se ejecuta un proceso incremental de una dimensión, si en el conjunto de datos hay información que ya fue previamente cargada, esa información no se carga, es más, ni siquiera llega a actualizarse con los posibles cambios que hubiera sobre los datos anteriores.
  2. Se ejecuta únicamente a través de XMLA. Hay que crear un script específico para que la dimensión pueda actualizarse incrementalmente, dicho script se puede ejecutar tanto desde el SQL Server Management Studio como a través de un paquete de Integration Services.
  3. La fuente es siempre un esquema. Si el esquema del Data Source View no nos aporta el conjunto de datos incrementales entonces habría que indicar el esquema que va a utilizar la dimensión para obtener los datos incrementales.

En los próximos post iremos viendo estos tres puntos en detalle con ejemplos prácticos.

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Más ejemplos de validación de datos con T-SQL

¿Cómo validas que los datos están proporcionando la información correcta? La validación es un aspecto imprescindible en tus proyectos. ¡Toma nota! A veces podemos realizar conteos a tablas muy grandes que llevan mucho tiempo, o necesitamos comprobar si existe una tabla o un campo dentro de una tabla, o poder comparar los resultados de 2 consultas distintas. Hoy veremos ejemplos de estos casos empleando diferentes técnicas y ejemplos prácticos con T-SQL para detectar posibles errores y su validación.
Leer más

ScaleOut SSIS

Lo primero es saber que debemos esperar de ScaleOut, cuando se habla de Scale Out estamos hablando de la capacidad de un sistema o proceso para manejar una cantidad creciente de trabajo, y el potencial que tiene, es su capacidad de adaptarse para asumir el crecimiento del sistema o proceso.

Primeros pasos: Creación de bases de datos en Apache Hive en HDInsight (en la nube) y paths (rutas – HDFS o WASB)

Anteriormente hemos conectado con la herramienta cliente (CLI) a HDInsight Developer Preview; en esta ocasión vamos a hacerlo directamente en la distribución disponible de HDInsight en Azure. Para crear un cluster de HDInsight en Windows Azure debes seguir los pasos descritos en este enlace. Esta publicación asume que has creado correctamente tu cluster HDInsight en Windows Azure.