Cada mes salen decenas de novedades en el mundo Microsoft y su universo de datos y una de las más recientes es la nueva conexión Direct Lake para Power BI gracias al lado de datos OneLake. Te proporciona una conexión directa a las tablas del lakehouse, similar a Direct Query, pero apuntando al almacenamiento de Fabric. Según la definición de Microsoft, Direct Lake es:
El modo Direct Lake es una innovadora funcionalidad de conjunto de datos para analizar volúmenes de datos muy grandes en Power BI. Direct Lake se basa en la carga de archivos con formato parquet directamente desde un lago de datos sin tener que consultar un punto de conexión de Lakehouse y sin tener que importar o duplicar datos en un conjunto de datos de Power BI. Direct Lake es una ruta rápida para cargar los datos del lago directamente en el motor de Power BI, listos para su análisis.
¿Cómo hemos trabajado hasta ahora?
Hasta ahora, la mayor parte de usuarios que trabajamos con Power BI utilizamos el modo de importación debido a su alta eficacia a la hora de mostrar datos, pero somos esclavos de las actualizaciones de los conjuntos de datos que según la licencia, está muy limitada la frecuencia de actualización. Además, estamos replicando tablas en un modelo interno de Power BI.
Hace mucho tiempo publiqué un artículo con los diferentes métodos de conexión de Power BI, pero en resumen:
- Direct Query: conexión directa a base datos, pero suele ser lenta. Además requiere que la mayor parte de los cálculos estén ya calculados en el origen.
- Import Data: la más elegida por su rapidez, pero necesitamos programar actualizaciones y además replicamos datos.
¿Qué nos ofrece Direct Lake?
Direct Lake presume de ser en tiempo real al igual que direct query, pero con la eficacia del método de importación. Esto lo consigue gracias a que la conexión Direct Lake no necesita de una traducción a otros lenguajes de consulta o ejecución como sí ocurre en Direct Query. Microsoft aconseja este tipo de conexión para grandes modelos de datos o aquellos que su frecuencia de actualización es muy elevada. Observa el siguiente esquema:
Limitaciones
Ten en cuenta que las siguientes limitaciones están actualizadas a día 02/12/2023:
- Actualmente, los modelos de Direct Lake solo pueden contener tablas y vistas de una sola instancia de Lakehouse o Data Warehouse.
- Los modelos de Direct Lake creados o modificados mediante herramientas basadas en XMLA no se pueden abrir en la característica de modelado web.
- Si usa la experiencia de modelado web, si se realiza un cambio de columna en una tabla delta existente, por ejemplo, se agrega una nueva columna, se cambia el tipo de datos de columna o se cambia el nombre de una columna, ese cambio no se refleja automáticamente en el modelo. Para que el modelo refleje el cambio, la tabla debe quitarse de dicho modelo y volver a agregarse. Para quitar la tabla del modelo, en el cuadro de diálogo Editar modelo de la experiencia de modelado web, anule la selección de la tabla y confirme. A continuación, selecciónela y confirme que desea volver a agregar la tabla.
- Las tablas de Direct Lake no se pueden mezclar actualmente con otros tipos de tabla, como Import, DirectQuery o Dual, en el mismo modelo. Todavía no se admiten modelos compuestos.
- Las relaciones DateTime no se admiten en modelos de Direct Lake.
- Todavía no se admiten columnas calculadas ni tablas calculadas.
- Es posible que algunos tipos de datos no se admitan.
- Las tablas de Direct Lake no admiten tipos de columnas de tabla delta complejas. Los tipos semánticos binarios y guid tampoco se admiten. Debe convertir estos tipos de datos en cadenas u otros tipos de datos admitidos.
- Las relaciones de tabla requieren que los tipos de datos de sus columnas de clave coincidan. Las columnas de clave principal deben contener valores únicos. Se producirá un error en las consultas DAX si se detectan valores de clave principal duplicados.
- La longitud de los valores de columna de cadena está limitada a 4000 caracteres Unicode.
- Todavía no se admiten escenarios incrustados que se basan en entidades insertadas.
- Las vistas basadas en TSQL y basadas en tablas no se pueden consultar en modo Direct Lake. Las consultas DAX que utilizan estas tablas de modelo se reservan el modo DirectQuery.