Editar

Compartir a través de


Uso de Azure Synapse Analytics para diseñar una solución de BI empresarial

Power BI
Azure Synapse Analytics
Azure Data Factory
Microsoft Entra ID
Azure Blob Storage

En este artículo se describe cómo transferir datos de un almacenamiento de datos local a un entorno de nube y, a continuación, usar un modelo de inteligencia empresarial (BI) para atender los datos. Puede usar este enfoque como objetivo final o un primer paso hacia la modernización completa con componentes basados en la nube.

Esta guía se basa en el escenario de un extremo a otro de Azure Synapse Analytics. Este proceso usa canalizaciones de Azure Synapse Analytics para ingerir datos de una base de datos SQL en grupos de SQL. A continuación, realiza la transformación de datos para el análisis. Este artículo se centra en las canalizaciones de Azure Synapse Analytics, pero también puede usar canalizaciones de Azure Data Factory o canalizaciones de Fabric Data Factory para realizar estas tareas.

Cuándo usar esta arquitectura

Puede usar varios métodos para cumplir los requisitos empresariales de LA BI empresarial. Varios aspectos definen los requisitos empresariales, como las inversiones tecnológicas actuales, las aptitudes humanas, la escala de tiempo para la modernización, los objetivos futuros y si tiene una preferencia por la plataforma como servicio (PaaS) o el software como servicio (SaaS).

Tenga en cuenta los siguientes enfoques de diseño:

  • A lakehouse en Microsoft Fabric

  • Fabric y Azure Databricks para los clientes que tienen una inversión existente en Azure Databricks y Power BI y quieren modernizar con Fabric

  • BI empresarial para pequeñas y medianas empresas que usan un ecosistema de Azure SQL de y Fabric

  • Almacenamiento de datos completamente en Fabric para clientes que prefieren SaaS

En la arquitectura de este artículo se supone que usa el almacenamiento de datos de Azure Synapse Analytics como capa persistente del modelo semántico empresarial y que usa Power BI para inteligencia empresarial. Este enfoque de PaaS tiene la flexibilidad de adaptarse a diversos requisitos y preferencias empresariales.

Architecture

Diagrama que muestra la arquitectura de BI empresarial con Azure Synapse Analytics.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

Origen de datos

Ingesta y almacenamiento de datos

Análisis e informes

Componentes

En este escenario se usan los siguientes componentes:

  • azure SQL Database es un servidor SQL Server paaS hospedado en Azure. Esta arquitectura usa SQL Database para demostrar el flujo de datos para el escenario de migración.

  • data Lake Storage proporciona almacenamiento en la nube flexible para datos no estructurados que se usan para conservar los resultados intermedios de la migración.

  • azure Synapse Analytics es un servicio de análisis empresarial para el almacenamiento de datos y los sistemas de macrodatos. Azure Synapse Analytics actúa como proceso principal y almacenamiento persistente en el modelado y mantenimiento semánticos empresariales.

  • power BI Premium es una herramienta de BI que presenta y visualiza datos en este escenario.

  • microsoft Entra ID es un conjunto de soluciones de red e identidad multinube que admite el flujo de autenticación y autorización.

Arquitectura simplificada

Diagrama que muestra la arquitectura simplificada de BI empresarial.

Detalles del escenario

En este escenario, una organización tiene una base de datos SQL que contiene un almacenamiento de datos local grande. La organización quiere usar Azure Synapse Analytics para realizar análisis y, a continuación, proporcionar estas conclusiones a través de Power BI a los usuarios y análisis.

Autenticación

Microsoft Entra ID autentica a los usuarios que se conectan a aplicaciones y paneles de Power BI. El inicio de sesión único conecta a los usuarios al origen de datos en un grupo aprovisionado de Azure Synapse Analytics. La autorización se produce en el origen.

Carga incremental

Al ejecutar un proceso automatizado de extracción, transformación, carga (ETL) o extracción, carga, transformación (ELT), solo debe cargar los datos que han cambiado desde la ejecución anterior. Este proceso se denomina carga incremental . Por el contrario, una carga completa carga todos los datos. Para realizar una carga incremental, determine cómo identificar los datos modificados. Puede usar un enfoque de valor alto, que realiza un seguimiento del valor más reciente de una columna de fecha y hora o una columna entera única en la tabla de origen.

Puede usar tablas temporales en SQL Server. Las tablas temporales son tablas con versiones del sistema que almacenan el historial de cambios de datos. El motor de base de datos registra automáticamente el historial de cada cambio en una tabla de historial independiente. Para consultar los datos históricos, puede agregar una cláusula FOR SYSTEM_TIME a una consulta. Internamente, el motor de base de datos consulta la tabla del historial, pero es transparente para la aplicación.

Las tablas temporales admiten datos de dimensión, que pueden cambiar con el tiempo. Las tablas de hechos suele representar una transacción inmutable, como por ejemplo una venta; en ese caso no tiene sentido mantener el historial de versiones del sistema. En su lugar, las transacciones suelen tener una columna que representa la fecha de transacción. La columna se puede usar como valor de marca de agua. Por ejemplo, en el almacenamiento de datos AdventureWorks, las tablas de SalesLT.* tienen un campo LastModified.

Este es el flujo general de la canalización de ELT:

  1. En todas las tablas de la base de datos de origen, realice un seguimiento de la hora límite en que se ejecutó el último trabajo de ELT. Almacene esta información en la base de datos de almacenamiento de datos En la instalación inicial, todas las horas se establecen en 1-1-1900.

  2. Durante el paso de exportación de datos, la hora límite se pasa como parámetro a un conjunto de procedimientos almacenados de la base de datos de origen. Estos procedimientos almacenados consultan los registros que se cambian o crean después del tiempo límite. Para todas las tablas del ejemplo, puede usar la columna ModifiedDate.

  3. Una vez completada la migración de los datos, actualice la tabla que almacena las horas límite.

Canalización de datos

En este escenario se usa la base de datos de ejemplo AdventureWorks como origen de datos. El patrón de carga de datos incremental garantiza que solo se carguen los datos modificados o agregados después de la ejecución de canalización más reciente.

Herramienta de copia controlada por metadatos

La herramienta de copia integrada controlada por metadatos dentro de las canalizaciones de Azure Synapse Analytics carga incrementalmente todas las tablas contenidas en la base de datos relacional.

  1. Use una interfaz del asistente para conectar la herramienta Copiar datos a la base de datos de origen.

  2. Después de conectarse, configure la carga incremental o la carga completa para cada tabla.

  3. La herramienta Copiar datos crea las canalizaciones y los scripts SQL necesarios para generar la tabla de control. Esta tabla almacena datos, como el valor de marca de agua alto o la columna para cada tabla, para el proceso de carga incremental.

  4. Una vez ejecutados estos scripts, la canalización carga todas las tablas de almacenamiento de datos de origen en el grupo dedicado de Azure Synapse Analytics.

Captura de pantalla que muestra la herramienta Copy Data controlada por metadatos en Azure Synapse Analytics.

Antes de que la herramienta cargue los datos, crea tres canalizaciones para iterar en las tablas de la base de datos.

Las canalizaciones realizan las siguientes tareas:

  • Contar el número de objetos, como tablas, que se van a copiar en la ejecución de la canalización.

  • Recorre en iteración cada objeto que se va a cargar o copiar.

  • Una vez que una canalización recorre en iteración cada objeto, realiza las siguientes tareas:

    • Comprueba si se requiere una carga diferencial. De lo contrario, la canalización completa una carga completa normal.

    • Recupera el valor de marca de agua alto de la tabla de control.

    • Copia los datos de las tablas de origen en la cuenta de almacenamiento provisional de Data Lake Storage.

    • Carga datos en el grupo de SQL dedicado a través del método de copia seleccionado, como el comando PolyBase o Copy.

    • Actualiza el valor de marca de agua alto en la tabla de control.

Carga de datos en un grupo de SQL de Azure Synapse Analytics

La actividad de copia copia datos de la base de datos SQL en el grupo de SQL de Azure Synapse Analytics. La base de datos SQL de este ejemplo está en Azure, por lo que usa El entorno de ejecución de integración de Azure para leer datos de la base de datos SQL y escribir los datos en el entorno de ensayo especificado.

A continuación, la instrucción copy carga los datos del entorno de ensayo en el grupo dedicado de Azure Synapse Analytics.

Uso de canalizaciones de Azure Synapse Analytics

Las canalizaciones de Azure Synapse Analytics definen un conjunto ordenado de actividades para completar un patrón de carga incremental. Los desencadenadores manuales o automáticos inician la canalización.

Transformar los datos

La base de datos de ejemplo de esta arquitectura de referencia es pequeña, por lo que se crean tablas replicadas que no tienen particiones. En el caso de las cargas de trabajo de producción, las tablas distribuidas pueden mejorar el rendimiento de las consultas. Para más información, consulte guía de para diseñar tablas distribuidas en Azure Synapse Analytics. Los scripts de ejemplo ejecutan las consultas a través de una clase de recursos de estática.

En un entorno de producción, considere la posibilidad de crear tablas de ensayo que tengan distribución round robin. Después, transforme y mueva los datos a tablas de producción que tienen índices de almacén de columnas agrupados, que ofrecen el mejor rendimiento general de las consultas. Los índices de almacén de columnas están optimizados para consultas que examinan muchos registros.

Los índices de almacén de columnas no funcionan de forma óptima para las búsquedas singleton ni para buscar una sola fila. Si necesita realizar búsquedas singleton frecuentes, puede agregar un índice no clúster a una tabla, lo que aumenta la velocidad. Sin embargo, las búsquedas singleton suelen ser menos comunes en escenarios de almacenamiento de datos que las cargas de trabajo de procesamiento de transacciones en línea. Para más información, consulte Tablas de índice en Azure Synapse Analytics.

Nota

Las tablas de almacén de columnas agrupado no admiten tipos de datos varchar(max), nvarchar(max) o varbinary(max). Si usa esos tipos de datos, considere un montón o un índice agrupado. También puede considerar la posibilidad de colocar estas columnas en una tabla independiente.

Uso de Power BI Premium para acceder, modelar y visualizar datos

Power BI Premium admite varias opciones para conectarse a orígenes de datos en Azure. Puede usar grupos aprovisionados de Azure Synapse Analytics para realizar las siguientes tareas:

  • Importar: se importan los datos en el modelo BI.
  • DirectQuery: los datos se extraen directamente del almacenamiento relacional.
  • Modelo compuesto: combine la importación para algunas tablas y DirectQuery para otras.

En este escenario se usa el panel de DirectQuery porque tiene una pequeña cantidad de datos y baja complejidad del modelo. DirectQuery delega la consulta en el motor de proceso eficaz debajo y usa amplias funcionalidades de seguridad en el origen. DirectQuery garantiza que los resultados sean siempre coherentes con los datos de origen más recientes.

El modo de importación proporciona el tiempo de respuesta de consulta más rápido. Considere la posibilidad de importar el modo si:

  • El modelo se ajusta completamente dentro de la memoria de Power BI.
  • La latencia de datos entre las actualizaciones es aceptable.
  • Necesita transformaciones complejas entre el sistema de origen y el modelo final.

En este caso, los usuarios finales quieren acceso total a los datos más recientes sin retrasos en la actualización de Power BI y quieren que todos los datos históricos superen la capacidad del conjunto de datos de Power BI. Un conjunto de datos de Power BI puede controlar 25-400 GB, en función del tamaño de la capacidad. El modelo de datos del grupo de SQL dedicado ya está en un esquema de estrella y no requiere transformación, por lo que DirectQuery es una opción adecuada.

Captura de pantalla que muestra el panel en Power BI.

Use power BI Premium para administrar modelos grandes, informes paginados e canalizaciones de implementación. Aproveche las ventajas del punto de conexión integrado de Azure Analysis Services. También puede tener capacidad dedicada con propuesta de valor única.

Cuando aumenta la complejidad del modelo de BI o del panel, puede cambiar a modelos compuestos e importar partes de tablas de búsqueda a través de tablas híbridase importar datos preagregados. Puede habilitar almacenamiento en caché de consultas en Power BI para conjuntos de datos importados y usar tablas duales para la propiedad del modo de almacenamiento.

Dentro del modelo compuesto, los conjuntos de datos sirven como una capa de paso a través virtual. Cuando los usuarios interactúan con visualizaciones, Power BI genera consultas SQL en grupos de SQL de Azure Synapse Analytics. Power BI determina si se debe usar el almacenamiento en memoria o DirectQuery en función de la eficacia. El motor decide cuándo cambiar de en memoria a DirectQuery e inserta la lógica en el grupo de SQL de Azure Synapse Analytics. En función del contexto de las tablas de consulta, pueden actuar como modelos compuestos almacenados en caché (importados) o no almacenados en caché. Puede elegir qué tabla almacenar en caché en memoria, combinar datos de uno o varios orígenes de DirectQuery o combinar datos de origen de DirectQuery y datos importados.

Cuando se usa DirectQuery con un grupo aprovisionado de Azure Synapse Analytics:

  • Use Azure Synapse Analytics almacenamiento en caché del conjunto de resultados para almacenar en caché los resultados de la consulta en la base de datos de usuario para su uso repetitivo. Este enfoque mejora el rendimiento de las consultas en milisegundos y reduce el uso de recursos de proceso. Las consultas que usan conjuntos de resultados almacenados en caché no consumen ranuras de simultaneidad en Azure Synapse Analytics, por lo que no cuentan con los límites de simultaneidad existentes.

  • Use Azure Synapse Analytics vistas materializadas para precompute, almacenar y mantener datos como una tabla. Las consultas que usan todos los datos o un subconjunto de los datos en vistas materializadas pueden lograr un rendimiento más rápido sin necesidad de hacer referencia directamente a la vista materializada definida para usarla.

Consideraciones

Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para obtener más información, vea Well-Architected Framework.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el uso indebido de sus valiosos datos y sistemas. Para obtener más información, vea Lista de comprobación de revisión de diseño para security.

La modernización de la nube presenta problemas de seguridad, como infracciones de datos, infecciones de malware y inyección de código malintencionada. Necesita un proveedor de nube o una solución de servicio que pueda abordar sus preocupaciones porque las medidas de seguridad inadecuadas pueden crear problemas importantes.

Este escenario aborda los problemas de seguridad más exigentes mediante una combinación de controles de seguridad en capas: controles de red, identidad, privacidad y autorización. Un grupo aprovisionado de Azure Synapse Analytics almacena la mayoría de los datos. Power BI accede a los datos a través de DirectQuery mediante el inicio de sesión único. Puede usar Microsoft Entra ID para la autenticación. También hay controles de seguridad amplios para la autorización de datos dentro de los grupos aprovisionados.

Estas son algunas preguntas sobre seguridad habituales:

  • Defina quién puede ver qué datos.

    • Asegúrese de que los datos cumplen las directrices federales, locales y empresariales para mitigar los riesgos de vulneración de datos. Azure Synapse Analytics proporciona varias funcionalidades de protección de datos para lograr el cumplimiento.
  • Determine cómo comprobar la identidad de un usuario.

    • Use Azure Synapse Analytics para controlar quién puede acceder a los datos a través de control de acceso y autenticación .
  • Elija una tecnología de seguridad de red para proteger la integridad, la confidencialidad y el acceso de sus redes y datos.

  • Elija herramientas para detectar y notificarle las amenazas.

    • Use Azure Synapse Analytics funcionalidades de detección de amenazas, como auditoría de SQL, detección de amenazas de SQL y evaluación de vulnerabilidades para auditar, proteger y supervisar bases de datos.
  • Determine cómo proteger los datos de la cuenta de almacenamiento.

    • Use cuentas de Azure Storage para cargas de trabajo que requieran tiempos de respuesta rápidos y coherentes o que tengan un gran número de operaciones de entrada y salida (IOPS) por segundo. Las cuentas de almacenamiento pueden almacenar todos los objetos de datos y tener varias opciones de seguridad de la cuenta de almacenamiento .

Optimización de costos

La optimización de costos se centra en formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.

En esta sección se proporciona información sobre los precios de los distintos servicios implicados en esta solución y se mencionan las decisiones tomadas para este escenario con un conjunto de datos de ejemplo. Use esta configuración inicial en la calculadora de precios de Azure y ajustela para que se ajuste a su escenario.

Azure Synapse Analytics

Azure Synapse Analytics es una arquitectura sin servidor que puede usar para escalar los niveles de proceso y almacenamiento de forma independiente. Los recursos de proceso incurren en costos en función del uso. Puede escalar o pausar estos recursos a petición. Los recursos de almacenamiento incurren en costos por terabyte, por lo que los costos aumentan a medida que ingiere datos.

Canalizaciones de Azure Synapse Analytics

Tres componentes principales influyen en el precio de una canalización:

  • Actividades de canalización de datos y horas en entorno de ejecución de integración
  • Implementación e tamaño del clúster de flujos de datos
  • Cargos de operaciones

Para más información sobre los precios, consulte la pestaña de integración de datos de en precios de Azure Synapse Analytics.

El precio varía en función de los componentes o actividades, la frecuencia y el número de unidades del entorno de ejecución de integración.

Para el conjunto de datos de ejemplo, que usa el entorno de ejecución de integración hospedado en Azure estándar, actividad de copia de datos actúa como el núcleo de la canalización. Se ejecuta según una programación diaria para todas las entidades (tablas) de la base de datos de origen. El escenario no contiene flujos de datos. Y no incurre en costos operativos porque las canalizaciones ejecutan menos de un millón de operaciones al mes.

Grupo y almacenamiento dedicados de Azure Synapse Analytics

Para el conjunto de datos de ejemplo, puede aprovisionar 500 unidades de almacenamiento de datos (DWU) para proporcionar una experiencia fluida para cargas analíticas. Puede mantener el proceso durante el horario comercial con fines de informes. Si la solución pasa a producción, use la capacidad reservada del almacenamiento de datos como una estrategia rentable. Use varias técnicas para maximizar las métricas de costo y rendimiento.

Para más información sobre los precios de un grupo dedicado de Azure Synapse Analytics, consulte la pestaña almacenamiento de datos de precios de Azure Synapse Analytics. En el modelo de consumo dedicado, los clientes incurren en costos para cada DWU aprovisionado, por hora de tiempo de actividad. Considere también los costos de almacenamiento de datos, incluido el tamaño de los datos en reposo, las instantáneas y la redundancia geográfica.

Blob Storage

Considere la posibilidad de usar la capacidad reservada de Azure Storage para reducir los costos de almacenamiento. Con este modelo, se obtiene un descuento si se reserva una capacidad de almacenamiento fija durante uno o tres años. Para más información, consulte Optimización de los costos de Blob Storage con capacidad reservada. Este escenario no usa el almacenamiento persistente.

Power BI Premium

En este escenario se usan áreas de trabajo de Power BI Premium con mejoras de rendimiento integradas para satisfacer las necesidades analíticas exigentes.

Para obtener más información, consulte precios de Power BI.

Excelencia operativa

La excelencia operativa abarca los procesos de operaciones que implementan una aplicación y lo mantienen en ejecución en producción. Para obtener más información, vea Lista de comprobación de revisión de diseño para la excelencia operativa.

  • Use una canalización de versión de Azure DevOps y Acciones de GitHub para automatizar la implementación de un área de trabajo de Azure Synapse Analytics en varios entornos. Para más información, consulte Integración continua y entrega continua para un área de trabajo de Azure Synapse Analytics.

  • Coloque cada carga de trabajo en una plantilla de implementación independiente y almacene los recursos en sistemas de control de código fuente. Puede implementar las plantillas juntas o individualmente como parte de un proceso de integración continua y entrega continua (CI/CD). Este enfoque simplifica el proceso de automatización. Esta arquitectura tiene cuatro cargas de trabajo principales:

    • Servidor de almacenamiento de datos y recursos relacionados
    • Canalizaciones de Azure Synapse Analytics
    • Recursos de Power BI, incluidos paneles, aplicaciones y conjuntos de datos
    • Escenario simulado de local a la nube
  • Considere la posibilidad de almacenar provisionalmente las cargas de trabajo donde sea práctico. Implemente la carga de trabajo en varias fases. Ejecute comprobaciones de validación en cada fase antes de pasar a la siguiente fase. Este enfoque inserta actualizaciones en los entornos de producción de forma controlada y minimiza los problemas de implementación imprevistos. Use implementación azul-verde y estrategias de lanzamiento controlado para actualizar los entornos de producción en directo.

  • Use una estrategia de reversión para controlar las implementaciones con errores. Por ejemplo, puede volver a implementar automáticamente una implementación anterior que sea correcta desde el historial de implementación. Use la marca --rollback-on-error en la CLI de Azure.

  • Use azure Monitor para analizar el rendimiento del almacenamiento de datos y toda la plataforma de análisis de Azure para una experiencia de supervisión integrada. Azure Synapse Analytics proporciona una experiencia de supervisión dentro de Azure Portal que muestra la información a la carga de trabajo del almacenamiento de datos. Use Azure Portal para supervisar el almacenamiento de datos. Proporciona períodos de retención configurables, alertas, recomendaciones y gráficos y paneles personalizables para métricas y registros.

Para obtener más información, consulte los siguientes recursos:

Eficiencia del rendimiento

La eficiencia del rendimiento hace referencia a la capacidad de escalado de la carga de trabajo para satisfacer las demandas de los usuarios de forma eficaz. Para obtener más información, vea Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.

En esta sección se proporcionan detalles sobre las decisiones de ajuste de tamaño para adaptarse a este conjunto de datos.

Grupo aprovisionado de Azure Synapse Analytics

Puede usar varias configuraciones de almacenamiento de datos .

DWU Número de nodos de proceso Número de distribuciones por nodo
DW100c 1 60
-- TO --
DW30000c 60 1

Para ver las ventajas de rendimiento del escalado horizontal, especialmente para DWU más grandes, use al menos un conjunto de datos de 1 TB. Para encontrar el mejor número de DWU para el grupo de SQL dedicado, intente escalar y reducir verticalmente. Ejecute consultas que tengan diferentes números de DWU después de cargar los datos. El escalado es rápido, por lo que puede experimentar fácilmente con varios niveles de rendimiento.

Buscar el mejor número de DWU

Para un grupo de SQL dedicado en desarrollo, seleccione un pequeño número de DWU como punto de partida, como DW400c o DW200c. Supervise el rendimiento de la aplicación para cada número de DWU. Supongamos una escala lineal y determine cuánto necesita aumentar o disminuir las DWU. Continúe realizando ajustes hasta llegar a un nivel de rendimiento adecuado para sus requerimientos empresariales.

Escalado de un grupo de SQL de Azure Synapse Analytics

Para conocer las características de escalabilidad y optimización del rendimiento de las canalizaciones en Azure Synapse Analytics y de la actividad de copia que usa, consulte Guía de rendimiento y escalabilidad de la actividad de copia.

Para obtener más información, consulte los siguientes recursos:

Power BI Premium y Fabric

En este artículo se usa el de capacidad de power BI Premium F64 para demostrar las funcionalidades de BI. Las capacidades dedicadas de Power BI en Fabric van desde F64 (8 núcleos virtuales) a F1024 (128 núcleos virtuales).

Para determinar la cantidad de capacidad que necesita:

  • Evaluar el de carga en la capacidad.
  • Instale la aplicación de métricas de capacidad de Fabric para la supervisión en curso.
  • Considere la posibilidad de usar técnicas de optimización de capacidad relacionadas con la carga de trabajo.

Colaboradores

Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.

Creadores de entidad de seguridad:

Otros colaboradores:

Para ver perfiles de LinkedIn no públicos, inicie sesión en LinkedIn.

Pasos siguientes