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












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