Determinación de cuándo desarrollar un modelo de DirectQuery

Completado

Un modelo de DirectQuery consta de tablas que tienen su propiedad de modo de almacenamiento establecida en DirectQuery y pertenecen al mismo grupo de origen.

Un grupo de origen es un conjunto de tablas de modelo relacionadas con un origen de datos. Hay dos tipos:

  • Importar: representa todas las tablas del modo de almacenamiento de importación, incluidas las tablas calculadas. Solo puede haber un grupo de origen de importación en un modelo.
  • DirectQuery: representa todas las tablas de modo de almacenamiento de DirectQuery relacionadas con un origen de datos específico.

Nota

Un modelo de importación y un modelo de DirectQuery solo componen un único grupo de origen. Cuando hay más de un grupo de origen, el marco de trabajo del modelo se conoce como modelo compuesto. Los modelos compuestos se describen en la unidad 5.

Ventajas del modelo de DirectQuery

Hay varias ventajas para desarrollar un modelo de DirectQuery.

Modelado de orígenes de datos grandes o cambiantes rápidamente

Un modelo de DirectQuery es una excelente opción de marco cuando los datos de origen presentan características de volumen o velocidad. Dado que las tablas de DirectQuery no requieren actualización, son adecuadas para grandes almacenes de datos, como un almacenamiento de datos. Es poco práctico e ineficaz, si no imposible, importar un almacenamiento de datos completo en un modelo. Cuando los datos de origen cambian rápidamente y los usuarios necesitan ver los datos actuales, un modelo de DirectQuery puede proporcionar resultados de consulta casi en tiempo real.

Cuando un informe consulta un modelo de DirectQuery, Power BI pasa esas consultas al origen de datos subyacente.

Diagram shows a star schema DirectQuery model. When a Power B I report queries the model, Power B I passes those queries to the underlying data source, in this case an Azure S Q L Database.

Aplicación de RLS de origen

DirectQuery también es útil cuando la base de datos de origen aplica la seguridad de nivel de fila (RLS). En lugar de replicar reglas de RLS en el modelo de Power BI, la base de datos de origen puede aplicar sus reglas. Este enfoque solo funciona para algunas bases de datos relacionales, e implica configurar el inicio de sesión único para el origen de datos del conjunto de datos. Para más información, vea Azure SQL Database con DirectQuery.

Restricciones de soberanía de datos

Si su organización tiene directivas de seguridad que restringen los datos que salen de su entorno local, no es posible importar datos. Un modelo de DirectQuery que se conecta a un origen de datos local puede ser adecuado. (También puede considerar la posibilidad de instalar Power BI Report Server para informes locales).

Creación de conjuntos de datos especializados

Normalmente, el modo de DirectQuery admite orígenes de base de datos relacional. Esto se debe a que Power BI debe traducir consultas analíticas a consultas nativas que entiende el origen de datos.

Sin embargo, hay una poderosa excepción. Puede conectarse a un conjunto de datos de Power BI (o un modelo de Azure Analysis Services) y convertirlo a un modelo local de DirectQuery. Un modelo local es un término relativo que describe la relación de un modelo con otro modelo. En este caso, el conjunto de datos original es un modelo remoto y el nuevo conjunto de datos es el modelo local. Estos modelos se encadenan, que es el término que se usa para describir los modelos relacionados. Puede encadenar hasta tres modelos de esta manera.

Esta funcionalidad para encadenar modelos admite la posibilidad de personalizar o ampliar un modelo remoto. Lo más sencillo que puede hacer es cambiar el nombre de objetos, como tablas o columnas, o agregar medidas al modelo local. También puede ampliar el modelo con columnas o tablas calculadas, o agregar nuevas tablas de importación o DirectQuery. Sin embargo, estas extensiones dan lugar a la creación de nuevos grupos de origen, lo que significa que el modelo se convierte en un modelo compuesto. Este escenario se describe en la unidad 5.

Para más información, consulte Uso de DirectQuery para conjuntos de datos de Power BI y Azure Analysis Services.

Limitaciones del modelo de DirectQuery

Hay muchas limitaciones relacionadas con los modelos de DirectQuery que debe tener en cuenta. Estas son las principales limitaciones:

  • No se admiten todos los orígenes de datos. Normalmente, solo se admiten los principales sistemas de bases de datos relacionales. También se admiten conjuntos de datos de Power BI y modelos de Azure Analysis Services.

  • No se pueden realizar todas las transformaciones de Power Query (M), ya que estas consultas deben traducirse a consultas nativas que entienden los sistemas de origen. Así, por ejemplo, no es posible usar transformaciones de dinamización o anulación de dinamización.

  • El rendimiento de las consultas analíticas puede ser lento, especialmente si los sistemas de origen no están optimizados (con índices o vistas materializadas), o si no hay recursos suficientes para la carga de trabajo analítica.

  • Las consultas analíticas pueden afectar al rendimiento del sistema de origen. Podría dar lugar a una experiencia más lenta para todas las cargas de trabajo, incluidas las operaciones OLTP.

Aumento del rendimiento del modelo de DirectQuery

Cuando está justificado el desarrollo de un modelo de DirectQuery, puede mitigar algunas limitaciones de dos maneras.

Optimizaciones del origen de datos

Puede optimizar la base de datos de origen para asegurarse de que la carga de trabajo de la consulta analítica esperada funciona bien. En concreto, puede crear índices y vistas materializadas y asegurarse de que la base de datos tiene recursos suficientes para todas las cargas de trabajo.

Sugerencia

Se recomienda trabajar siempre en colaboración con el propietario de la base de datos. Es importante que comprendan la carga de trabajo adicional que puede suponer un modelo de DirectQuery en su base de datos.

Tablas de agregación definidas por el usuario de DirectQuery

Puede agregar tablas de agregación definidas por el usuario a un modelo de DirectQuery. Las tablas de agregación definidas por el usuario son tablas de modelo especiales que están ocultas (de los usuarios, cálculos y RLS). Funcionan mejor cuando satisfacen consultas analíticas más específicas sobre tablas de hechos grandes. Al establecer la tabla de agregación para usar el modo de almacenamiento de DirectQuery, puede consultar una vista materializada en el origen de datos. También puede establecer una tabla de agregación para usar el modo de almacenamiento de importación o habilitar agregaciones automáticas (estas opciones se describen en la unidad 4).

Para obtener más información, vea Instrucciones del modelo de DirectQuery en Power BI Desktop.