En este artículo vamos a analizar como trabajan los distintos modos de storage de PowerBI para que con ello podamos lograr manejar grandes volúmenes de datos y obtener la mejor performance.

Tipos de storage soportados por PowerBI

Cache (Modo Import)

En este modo los datos se importan de la fuente de datos y se cargan en memoria al modelo tabular de PowerBI.

Es el método de storage mas eficiente ya que las operaciones de interacción no se realizan sobre la fuente de datos sino sobre el modelo in-memory.

Ahora bien, puede sucede que tengamos tablas en el origen de datos con mucho volumen y que no podamos usar el modo import.

Si elegimos este modo de storage las entidades no podremos cambiarlo a otro modo.

NoCache (Modo DirectQuery)

El modo NoCache no importara los datos al modelo tabular y cada vez que necesitemos consumir información se conectara directamente a la fuente de datos para realizar la consulta (armara en la mayoría de los casos consultas con el lenguaje SQL)

Este hace que la performance dependa de la fuente de datos y no así de PowerBI por lo cual en muchos casos no suele ser el mas eficiente ya que siempre debe consultar la fuente de datos y adaptar las medidas y operaciones hacia el motor, pero nos permite dos grandes ventajas:

  • Trabajar con los datos en vivo
  • Trabajar con grandes volúmenes (por ejemplo contra un origen de Big Data)

Si deseamos conectar contra Analysis Services este modo es el que se usara por defecto permitiendo así que en PowerBI no se deba de nuevo definir el modelo. No obstante también se puede conectar con SSAS en modo import si es que necesitamos por ejemplo combinar con otras fuentes de datos

Modo Dual

Este modo permite a una tabla trabajar en modo import o directquery dependiendo del contexto.

Las tablas dual se recargan como cualquier import al momento de la actualización de las tablas, y después para resolver una consulta que se relaciona con otra tabla que tiene modo directquery, no utilizara la información pre-cacheada si no que se comporta como una DirectQuery y envía la query al origen.

Esto nos permite que cuando son DirectQuery el join de datos se hace en origen y no en Power BI ya que puede ser las lento y costoso en recursos.

Modelos compuestos

Los modelos compuestos están por el momento solo soportados para PowerBIDektop y services , no así para PowerBI Report Server.

Este tipo de modelos nos da la posibilidad de tener entidades en modo import, directquery o dual sobre el mismo modelo pudiendo así determinar por cada entidad que es lo que mas nos conviene.

Por ejemplo podríamos tener las ventas que vienen de un Big Data en modo DirectQuery y los maestros en modo import que están en una base de datos

Por ejemplo podríamos tener las ventas que vienen de un Big Data en modo DirectQuery y los maestros en modo import que están en una base de datos

Manos a la obra

En las siguiente sección haremos un simple ejemplo usando la base de datos SQL Server “AdventureWorksDW2016

Para esto usaremos dos tablas “dbo.DimCustomer” la cual pondremos en modo import y “Dbo.FactInternetSales” la cual estará en modo DirectQuery

Buscamos la fuente de datos
Introducimos los datos del Servidor y la Base de Datos y el modo Import (Cache)
Seleccionamos la tabla DimCustomer
Nos volvemos a conectar a la fuente de datos
Ahora seleccionamos el modo DirectQuery (No Cache)
Seleccionamos la tabla FactInternetSales
Vemos las dos entidades en nuestro modelo , una en modo NoCache y la otra en Cache
Creamos las relaciones entre las tablas
Seleccionamos los campos vinculantes (CustomerKey)
Las relaciones terminadas
Vemos las opciones de Storage de la tabla FactInternetSales que esta en modo DQ y la cual podemos cambiar a los otros modos

Como ver o cambiar el modo de storage en una tabla

Si desea revisar o bien cambiar el modo de storage de una tabla en el modelo debe seguir los siguientes pasos

Paso 1: Seleccionamos la opción Modelo

Paso 2: Seleccionamos la tabla

Paso 3: Vamos a las propiedades de la tabla y a la sección Advance

Conclusiones

PowerBI nos da la posibilidad de trabajar con distintos tipos de Storage haciendo así que podamos tener una combinación tanto para poco o mucho volumen.

Los modelos combinados son una excelente funcionalidad ya que nos permiten combinar fuentes de datos en modo cache y no cache.

Links

https://docs.microsoft.com/en-us/power-bi/desktop-storage-mode

Share This
%d bloggers like this: