Azure Synapse Analytics es una evolución innovadora de Azure SQL Data Warehouse. Azure Synapse es un servicio de análisis de datos integrado y totalmente administrado que combina almacenamiento de datos, integración de datos y procesamiento de Big Data con aceleración del tiempo de obtención de conocimientos para formar un único servicio.
En este capítulo, examinaremos Azure Synapse Analytics al abordar los siguientes temas:
• Información general de Azure Synapse Analytics
• Introducción a los espacios de trabajo de Synapse y Synapse Studio
• Migrar los sistemas antiguos existentes a Azure Synapse Analytics
• Migrar los datos y esquemas de almacenamiento de datos existentes a Azure
Synapse Analytics
• Volver a desarrollar procesos ETL escalables mediante Azure Data Factory
• Problemas y soluciones comunes sobre la migración
• Cuestiones de seguridad
• Herramientas que te ayudarán a migrar a Azure Synapse Analytics
Azure Synapse Analytics
Hoy en día, con un almacenamiento barato y altas capacidades de almacenamiento flexible,
las organizaciones están acumulando más datos que nunca. El diseño de una solución para
analizar volúmenes de datos tan masivos para ofrecer conocimientos significativos sobre
una empresa puede ser todo un desafío. Un obstáculo al que se enfrentan muchas empresas
es la necesidad de administrar y mantener dos tipos de sistemas de análisis:
- Almacenes de datos: proporcionan conocimientos cruciales sobre el negocio.
- Data lakes: proporcionan conocimientos útiles sobre clientes, productos, empleados
y procesos a través de diversas metodologías de análisis.
Ambos sistemas de análisis son cruciales para las empresas, ya que funcionan de manera
independiente uno de otro. Mientras tanto, las empresas necesitan obtener conocimientos
de todos sus datos organizativos para seguir siendo competitivas y para innovar sus
procesos con el fin de obtener mejores resultados.
Los arquitectos que tengan que crear sus propias canalizaciones de datos integrales
deberán seguir los pasos que se describen a continuación:
- Adquirir datos procedentes de distintos orígenes de datos
- Cargar todos estos orígenes de datos en un data lake para su procesamiento posterior
- Limpiar los datos con distintas estructuras y de distintos tipos
- Preparar, transformar y modelar los datos
- Servir los datos limpios a miles de usuarios a través de herramientas y aplicaciones de BI
Hasta ahora, cada uno de estos pasos ha requerido una herramienta diferente. No hace falta
decir que con tantos servicios, aplicaciones y herramientas diferentes disponibles en el
mercado, elegir los más adecuados puede ser una tarea abrumadora.
Hay numerosos servicios disponibles para ingerir, cargar, preparar y servir datos. También
hay innumerables servicios para limpiar los datos basados en el lenguaje de elección del
desarrollador. Además, algunos desarrolladores pueden preferir usar SQL, otros quizá
deseen usar Spark, mientras que otros preferirán usar entornos sin necesidad de programar
para transformar los datos.
Incluso después de seleccionar la colección aparentemente adecuada de herramientas,
a menudo hay una curva de aprendizaje pronunciada para estas herramientas. Además,
los arquitectos podrían encontrarse con problemas logísticos inesperados al mantener
una canalización de datos a través de plataformas y lenguajes diferentes debido a
incompatibilidades. Con todos estos factores, implementar y mantener una plataforma
de análisis basada en el cloud puede resultar difícil.
Azure Synapse Analytics resuelve estos y otros problemas. Simplifica todo el patrón
de almacenamiento de datos moderno y permite a los arquitectos centrarse en crear
soluciones de análisis integrales en un entorno unificado.
Un escenario común para los arquitectos
Uno de los escenarios más comunes a los que se enfrenta un arquitecto es tener que crear
un plan para migrar las soluciones de almacenamiento de datos heredadas existentes a
una solución de análisis empresarial moderna. Con su escalabilidad ilimitada y experiencia
unificada, Azure Synapse se ha convertido en una de las principales opciones que muchos
arquitectos tienen en cuenta. Más adelante en este capítulo, también analizaremos
consideraciones de la arquitectura comunes para la migración desde una solución de
almacenamiento de datos heredada existente a Azure Synapse Analytics.
En la siguiente sección, proporcionaremos información general técnica de las características
clave de Azure Synapse Analytics. Los arquitectos que sean nuevos en el ecosistema de Azure
Synapse obtendrán los conocimientos necesarios sobre Synapse después de leer este capítulo.
Información general de Azure Synapse Analytics
Azure Synapse Analytics permite a los profesionales de datos crear soluciones de análisis
integrales y aprovechar a la vez una experiencia unificada. Ofrece funcionalidades
enriquecidas para desarrolladores de SQL, consultas a petición sin servidor, compatibilidad
con machine learning, la capacidad de integrar Spark de forma nativa, blocs de notas de
colaboración e integración de datos en un único servicio. Los desarrolladores pueden
elegir entre varios lenguajes compatibles (por ejemplo, C#, SQL, Scala y Python) a través
de diferentes motores.
Algunas de las principales funcionalidades de Azure Synapse Analytics son:
- Análisis SQL con grupos (aprovisionados por completo) y a petición (sin servidor).
- Spark con compatibilidad completa con Python, Scala, C# y SQL.
- Flujo de datos con la experiencia de transformación de Big Data sin código.
- Integración y orquestación de datos para integrar datos y aplicar el desarrollo de código.
- Una versión nativa del cloud de procesamiento transaccional/analítico híbrido
(HTAP), distribuida por Azure Synapse Link.
Para acceder a todas las funcionalidades mencionadas, Azure Synapse Studio proporciona
una única interfaz de usuario web unificada.
Este servicio único de datos integrado es ventajoso para las empresas, ya que acelera la
distribución de BI, IA, machine learning, Internet de las cosas y aplicaciones inteligentes.
Azure Synapse Analytics permite obtener y entregar conocimientos a partir de todos
los datos que residen en el almacén de datos y en sistemas de análisis de Big Data a
una velocidad sorprendente. Permite a los profesionales de datos usar lenguajes familiares,
como SQL, para consultar bases de datos relacionales y no relacionales a escala de petabytes.
Además, características avanzadas como la simultaneidad ilimitada, la administración
inteligente de las cargas de trabajo y el aislamiento de cargas de trabajo contribuyen a
optimizar el rendimiento de todas las consultas en cargas de trabajo decisivas.
¿Qué es el aislamiento de cargas de trabajo?
Una de las características clave de la ejecución de almacenes de datos empresariales
a escala es el aislamiento de cargas de trabajo. Se trata de la capacidad de garantizar
reservas de recursos dentro de un clúster de computación para que varios equipos
puedan trabajar en los datos sin molestarse, como se ilustra en la Figura 18.1:
Puedes crear grupos de cargas de trabajo dentro de un clúster si estableces un par de
umbrales sencillos. Estos se ajustan automáticamente en función de la carga de trabajo
y el clúster, pero siempre garantizan una experiencia de calidad para los usuarios que
ejecutan las cargas de trabajo. Consulta https://techcommunity.microsoft.com/t5/
data-architecture-blog/configuring-workload-isolation-in-azure-synapse-analytics/
ba-p/1201739 para obtener más información sobre cómo configurar el aislamiento de
cargas de trabajo en Azure Synapse Analytics.
Para apreciar plenamente los beneficios de Azure Synapse, primero echaremos un vistazo
a los espacios de trabajo de Synapse y a Synapse Studio.
Introducción a los espacios de trabajo de Synapse y Synapse Studio
Azure Synapse se basa en una unidad denominada «espacio de trabajo». El área de trabajo
es el recurso de nivel superior que incluye la solución de análisis en un almacén de datos.
El espacio de trabajo de Synapse admite procesamiento de datos relacional y de Big Data.
Azure Synapse proporciona una experiencia de interfaz de usuario web unificada para las
tareas de preparación de datos, administración de datos, almacenamiento de datos, análisis de
Big Data, BI e IA, conocida como Synapse Studio. Junto con los espacios de trabajo de Synapse,
Synapse Studio es un entorno ideal para que ingenieros de datos y científicos de datos
compartan sus soluciones de análisis y colaboren en ellas, tal como se muestra en la Figura 18.2:
En las secciones siguientes se destacan las funcionalidades, las características clave,
los detalles de la plataforma y los servicios para el usuario final de los espacios de trabajo
de Synapse y Synapse Studio:
Funcionalidades:
- Almacén de datos rápido, seguro y altamente flexible, líder del sector en rendimiento
y seguridad - Capacidad para explorar Azure Data Lake Storage y almacenes de datos mediante
la popular sintaxis T-SQL utilizando consultas SQL y SQL a petición (sin servidor) - Apache Spark integrado con Azure Machine Learning
- Integración de datos híbridos para acelerar la ingesta de datos y la operativización
del proceso de análisis (ingesta, preparación, transformación y servicio) - Generación y servicio de informes empresariales con integración de Power BI
Características clave:
- Creación y operativización de canalizaciones para la ingesta y orquestación de datos.
- Exploración directa de los datos de Azure Data Lake Storage, de un almacén de datos
o de cualquier conexión externa al espacio de trabajo mediante Synapse Studio. - Programación con blocs de notas y editores de consultas T-SQL.
- Herramienta de transformación de datos sin necesidad de programar para quienes
prefieren no tener que escribir su propio código. - Supervisión, protección y administración de espacios de trabajo sin salir del entorno.
- Experiencia de desarrollo basada en web para todas las soluciones de análisis.
- La característica de copia de seguridad y restauración del grupo de SQL de Azure
Synapse permite crear puntos de restauración para facilitar la recuperación o copia
de un almacén de datos a un estado anterior. - Capacidad para ejecutar consultas T-SQL simultáneas mediante grupos de SQL en
petabytes de datos para prestar servicio a herramientas y aplicaciones de BI. - SQL a petición proporciona consultas SQL sin servidor para facilitar la exploración
y el análisis de datos en Azure Data Lake Storage sin ningún tipo de configuración
o mantenimiento de la infraestructura. - Responde a todas las necesidades de análisis, desde la ingeniería de datos hasta
la ciencia de datos, haciendo uso de diversos lenguajes, como Python, Scala,
C# y Spark SQL. - Grupos de Spark, que mitigan la complejidad en la configuración y el mantenimiento
de clústeres y simplifican el desarrollo de aplicaciones de Spark y el uso de blocs de
notas de Spark.
- Ofrece una profunda integración entre Spark y SQL, lo que permite a los ingenieros de
datos preparar datos en Spark, escribir los resultados procesados en un grupo de SQL
y usar cualquier combinación de Spark con SQL para fines de ingeniería y análisis de
datos, con compatibilidad integrada con Azure Machine Learning. - Capacidad de integración de datos híbridos altamente escalable que acelera la
adquisición y la operativización de los datos mediante canalizaciones de datos
automatizadas. - Proporciona un servicio integrado sin fricciones, con seguridad, implementación,
supervisión y facturación unificadas.
Plataforma
- Admite procesos aprovisionados y sin servidor. Ejemplos de procesos aprovisionados
serían los procesos de SQL y de Spark. - Los procesos aprovisionados permiten a los equipos segmentar sus recursos de
computación, de forma que puedan controlar el coste y el uso de una forma mejor
adaptada a su estructura organizativa. - Por otro lado, los procesos sin servidor permiten a los equipos usar el servicio
a petición sin necesidad de aprovisionar ni administrar ninguna infraestructura
subyacente. - Profunda integración entre los motores Spark y SQL.
En la siguiente sección, vamos a ver otras características de Azure Synapse, como Apache
Spark para Synapse, Synapse SQL, SQL a petición, canalizaciones de Synapse y Azure
Synapse Link para Cosmos DB.
Apache Spark para Synapse
Para los clientes que desean Apache Spark, Azure Synapse dispone de compatibilidad con
productos de Microsoft a través de Azure Databricks y está totalmente administrado por
Azure. Los usuarios tendrán disponible automáticamente la última versión de Apache Spark,
junto con todos los parches de seguridad. Puedes crear rápidamente blocs de notas con el
lenguaje que prefieras, como Python, Scala, Spark SQL y .NET para Spark.
Si usas Spark en Azure Synapse Analytics, este se proporciona como oferta de software
como servicio. Por ejemplo, puedes usar Spark sin configurar ni administrar tus propios
servicios, como una red virtual. Azure Synapse Analytics se encargará de la infraestructura
subyacente. Esto te permite usar Spark en tu entorno Azure Synapse Analytics con carácter
inmediato.
En la siguiente sección, explicaremos con más detalle Synapse SQL.
Synapse SQL
Synapse SQL permite el uso de T-SQL para consultar y analizar datos. Hay dos modelos
entre los que elegir:
- Modelo totalmente aprovisionado
- Modelo SQL a petición (sin servidor)
SQL a petición
SQL a petición proporciona consultas SQL sin servidor. Esto facilita la exploración y el
análisis de datos en Azure Data Lake Storage sin ninguna configuración ni mantenimiento
de infraestructura:
Características clave:
- Los analistas pueden centrarse en analizar los datos sin preocuparse de administrar
ningún tipo de infraestructura. - Los clientes pueden beneficiarse de un modelo de precios sencillo y flexible, ya que
solo pagan por aquello que usan.
- Utiliza la conocida sintaxis del lenguaje T-SQL y el mejor optimizador de consultas
SQL del mercado. El optimizador de consultas SQL es el cerebro del motor de
consultas. - Puedes escalar fácilmente tus recursos de computación y almacenamiento, de forma
independiente, a medida que crecen tus necesidades. - Consigue una integración sin fisuras con el grupo de SQL Analytics y Spark mediante
sincronización de metadatos y conectores nativos.
Canalizaciones de Synapse
Las canalizaciones de Synapse permiten a los desarrolladores crear flujos de trabajo
integrales para escenarios de transferencia de datos y procesamiento de datos. Azure
Synapse Analytics se sirve de la tecnología de Azure Data Factory (ADF) para proporcionar
características de integración de datos. Las características clave de ADF que son esenciales
para la canalización del almacén de datos moderno están disponibles en Azure Synapse
Analytics. Todas estas características se distribuyen dentro de un modelo de seguridad
común con control de acceso basado en roles (RBAC) en el espacio de trabajo de Azure
Synapse Analytics.
En la Figura 18.3 se muestra un ejemplo de una canalización de datos y de las actividades de
ADF que se integran directamente dentro del entorno de Azure Synapse Analytics:
Características clave:
- Servicios de plataforma integrados para administración, seguridad, supervisión
y administración de metadatos. - Integración nativa entre Spark y SQL Utiliza una única línea de código para leer
y escribir con Spark desde/en SQL Analytics. - Capacidad para crear una tabla de Spark y consultarla de forma inmediata con SQL
Analytics sin definir un esquema. - Entorno «libre de claves». Con inicio de sesión único y paso a través de Azure Active
Directory no se necesita ninguna clave ni inicio de sesión para interactuar con
Azure Data Lake Storage (ADLS)/bases de datos.
En la siguiente sección, vamos a ver Azure Synapse Link para Cosmos DB.
Azure Synapse Link para Cosmos DB
Azure Synapse Link es una versión nativa del cloud de HTAP. Es una extensión de Azure
Synapse. Como hemos aprendido anteriormente, Azure Synapse es un único servicio
administrado para realizar análisis en data lakes y almacenes de datos, utilizando
computación sin servidor y aprovisionada. Con Azure Synapse Link, este alcance también
se puede extender a los orígenes de datos operativos.
Azure Synapse Link elimina el cuello de botella de los sistemas operativos y analíticos
tradicionales. Azure Synapse lo hace posible al separar la computación del almacenamiento
en todos sus servicios de datos. Por la parte transaccional, Cosmos DB es un servicio de
base de datos multimodelo de alto rendimiento y con replicación geográfica. Por la parte
del análisis, Azure Synapse proporciona una escalabilidad ilimitada. Puedes escalar los
recursos para transacciones y para análisis de forma independiente. En conjunto, esto
hace que el HTAP nativo del cloud sea una realidad. Tan pronto como el usuario indique
qué datos de Cosmos DB desea poner a disposición para el análisis, los datos estarán
disponibles en Synapse. Toma los datos operativos que deseas analizar y mantiene
automáticamente una versión en columnas orientada al análisis. Como resultado,
cualquier cambio en los datos operativos de Cosmos DB se actualiza continuamente
en los datos de Azure Synapse Link y Synapse.
La mayor ventaja de usar Azure Synapse Link es que alivia la necesidad de procesamiento
por lotes programado o de tener que crear y mantener canalizaciones operativas.
Como se ha mencionado anteriormente, Azure Synapse es la plataforma más elegida por los
arquitectos para migrar las soluciones de almacenamiento de datos heredadas existentes
a una solución de análisis empresarial moderna. En la siguiente sección analizaremos
consideraciones de la arquitectura comunes para la migración desde una solución de
almacenamiento de datos heredada existente a Azure Synapse Analytics.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics
Hoy en día, muchas organizaciones están migrando sus soluciones de almacenamiento de
datos heredadas a Azure Synapse Analytics para obtener las ventajas de la alta disponibilidad,
seguridad, velocidad, escalabilidad, ahorro de costes y rendimiento de Azure Synapse.
Para las empresas que ejecutan sistemas de almacenamiento de datos heredados como
Netezza, la situación es aún más grave porque IBM ha anunciado el fin del soporte para
Netezza (https://www.ibm.com/support/pages/end-support-dates-netezza-5200-
netezza-8x50z-series-and-netezza-10000-series-appliances).
Hace muchas décadas, algunas empresas eligieron Netezza para administrar y analizar
grandes volúmenes de datos. En la actualidad, a medida que evolucionan las tecnologías,
las ventajas de disponer de una solución de almacenamiento de datos basada en el cloud
superan con creces a sus homólogas on-premises. Azure Synapse es un servicio de análisis
basado en el cloud ilimitado con un tiempo para obtener conocimiento sin precedentes
que acelera la entrega de BI, IA y aplicaciones inteligentes para las empresas. Con sus
varios clústeres y su arquitectura independiente de computación y almacenamiento,
Azure Synapse se puede escalar de forma instantánea de formas que no son posibles
con sistemas antiguos como Netezza.
Esta sección aborda las consideraciones de la arquitectura y la metodología de alto nivel
para la planificación, preparación y ejecución de una migración correcta de un sistema
de almacenamiento de datos heredado a Azure Synapse Analytics. Cuando sea apropiado,
se proporcionarán ejemplos específicos y referencias a Netezza. Este capítulo no pretende
ser un manual exhaustivo paso a paso para la migración, sino más bien una información
general práctica que te ayudará con la planificación de la migración y el control de
proyectos.
Este capítulo también identifica algunos de los problemas de migración comunes y sus
posibles soluciones. También proporciona detalles técnicos sobre las diferencias entre
Netezza y Azure Synapse Analytics. Deben tenerse en cuenta como parte de tu plan de
migración.
¿Por qué debes migrar tu almacén de datos heredado a Azure Synapse
Analytics?
Al migrar a Azure Synapse Analytics, las empresas con sistemas de almacenamiento de
datos heredados pueden beneficiarse de las últimas innovaciones en tecnologías de cloud
y delegar tareas como el mantenimiento de la infraestructura y la actualización de la
plataforma a Azure.
Los clientes que han migrado a Azure Synapse ya están disfrutando de muchas de sus
ventajas, incluidas las siguientes.
Rendimiento
Azure Synapse Analytics ofrece un rendimiento óptimo de la base de datos relacional
mediante técnicas como el procesamiento paralelo masivo (MPP) y el almacenamiento
en caché automático in-memory. Para obtener más información, revisa la arquitectura de
Azure Synapse Analytics (https://docs.microsoft.com/azure/synapse-analytics/sql-datawarehouse/
massively-parallel-processing-mpp-architecture).
Velocidad
El almacenamiento de datos requiere muchos procesos. Implica la ingesta, la transformación,
la limpieza, la agregación y la integración de datos, así como la producción de visualización
de datos e informes. Los numerosos procesos implicados en el traslado de datos desde sus
orígenes a un almacén de datos son complejos e interdependientes. Un único cuello de
botella puede ralentizar toda la canalización y un aumento inesperado en el volumen de
datos amplifica la necesidad de velocidad. Cuando la puntualidad de los datos es importante,
Azure Synapse Analytics satisface la demanda de procesamiento rápido.
Seguridad y cumplimiento mejorados
Azure es una plataforma en el cloud de alta escalabilidad y seguridad a nivel mundial. Ofrece
muchas características de seguridad, como Azure Active Directory, RBAC, identidades
administradas y puntos de conexión privados administrados. Azure Synapse Analytics,
que reside dentro del ecosistema de Azure, hereda todas las ventajas antes mencionadas.
Elasticidad y eficiencia de costes
En un almacén de datos, las demandas de procesamiento de cargas de trabajo pueden
fluctuar. A veces, estas fluctuaciones pueden variar drásticamente entre picos y valles.
Por ejemplo, pueden producirse picos repentinos en los volúmenes de los datos de ventas
durante las temporadas festivas. La elasticidad del cloud permite que Azure Synapse
aumente y disminuya rápidamente su capacidad en función de la demanda sin ningún
impacto en la disponibilidad de la infraestructura, su estabilidad, rendimiento y seguridad.
Y lo mejor de todo es que solo pagas por el uso real.
Infraestructura administrada
La eliminación de la sobrecarga de la administración y las operaciones del centro de datos
para el almacén de datos permite a las empresas reasignar los recursos valiosos allá donde
se genera valor y centrarse en usar el almacén de datos para ofrecer la mejor información
y los mejores conocimientos. Esto reduce el coste total de propiedad general y proporciona
un mejor control de los costes operativos.
Escalabilidad
El volumen de datos en un almacén de datos suele crecer conforme pasa el tiempo y
cuando se recopila el historial. Azure Synapse Analytics puede escalar para adaptarse
a este crecimiento al agregar recursos de forma incremental a medida que aumentan
los datos y la carga de trabajo.
Ahorro económico
La ejecución de un centro de datos heredado on-premises es costosa (teniendo en cuenta
los costes de servidores y hardware, las redes, el espacio físico de la estancia, la electricidad,
la refrigeración y el personal). Estos gastos se pueden minimizar de forma sustancial con
Azure Synapse Analytics. Con la separación de las capas de computación y almacenamiento,
Azure Synapse ofrece una relación precio-rendimiento muy lucrativa.
Azure Synapse Analytics te ofrece una verdadera escalabilidad del cloud con pago por
uso sin necesidad de una reconfiguración complicada conforme aumenten tus datos
o tus cargas de trabajo.
Ahora que has aprendido por qué resulta beneficioso migrar a Azure Synapse Analytics,
comenzaremos nuestro análisis del proceso de migración.
El proceso de migración en tres pasos
Un proyecto de migración de datos exitoso comienza por un plan bien diseñado. Un plan
eficaz explica los numerosos componentes que hay que tener en cuenta, prestando especial
atención a la arquitectura y la preparación de los datos. A continuación se muestra el plan
de proceso de migración en tres pasos.
Preparación
- Definir el ámbito de lo que se va a migrar.
- Crear un inventario de datos y procesos para la migración.
- Definir los cambios en el modelo de datos (si los hay).
- Definir el mecanismo de extracción de datos de origen.
- Identificar las herramientas y servicios adecuados de Azure (y de terceros) que se usarán.
- Formar al personal desde el principio en la nueva plataforma.
- Configurar la plataforma de destino de Azure.
Migración
- Empezar poco a poco y de forma sencilla.
- Automatizar siempre que sea posible.
- Aprovechar las herramientas y características integradas de Azure para reducir el
esfuerzo de migración. - Migrar metadatos para tablas y vistas.
- Migrar los datos históricos que se deben mantener.
- Migrar o refactorizar los procedimientos almacenados y los procesos empresariales.
- Migrar o refactorizar los procesos de carga incremental ETL/ELT.
Después de la migración
- Supervisar y documentar todas las etapas del proceso.
- Usar la experiencia adquirida para crear una plantilla para futuras migraciones.
- Rediseñar el modelo de datos si es necesario.
- Probar aplicaciones y herramientas de consulta.
- Realizar bancos de pruebas y optimizar el rendimiento de consultas.
A continuación, hablaremos sobre los dos tipos de estrategias de migración.
Los dos tipos de estrategias de migración
Los arquitectos deben empezar la planificación de migración mediante la evaluación del
almacén de datos existente para determinar qué estrategia de migración funciona mejor en
su situación. Existen dos tipos de estrategias de migración que deben tenerse en cuenta.
Estrategia lift-and-shift
Para la estrategia lift-and-shift, el modelo de datos existente se migra sin cambios a la
nueva plataforma de Azure Synapse Analytics. Esto se hace para minimizar el riesgo y el
tiempo necesario para la migración reduciendo el ámbito de los cambios al mínimo.
Lift-and-shift es una buena estrategia para entornos de almacenamiento de datos
heredados, como Netezza, donde se aplica cualquiera de las siguientes condiciones:
- Se debe migrar un solo data mart.
- Los datos ya están en un esquema de estrella o copo de nieve bien diseñado.
- Hay presiones de tiempo y costes inmediatas para migrar a un entorno de cloud
moderno.
Estrategia de rediseño
En escenarios en los que el almacén de datos heredado ha evolucionado con el tiempo,
puede que sea esencial rediseñarlo para mantener los niveles de rendimiento óptimos
o admitir nuevos tipos de datos. Esto podría incluir un cambio en el modelo de datos
subyacente.
Para reducir el riesgo al mínimo, se recomienda migrar primero mediante la estrategia
lift-and-shift y, a continuación, modernizar gradualmente el modelo de datos de
almacenamiento de datos en Azure Synapse Analytics mediante la estrategia de rediseño.
Un cambio completo en el modelo de datos aumentará los riesgos porque afectará al origen
en los trabajos de ETL de almacenamiento de datos y en los data marts en niveles inferiores.
En la siguiente sección, haremos algunas recomendaciones sobre cómo reducir la
complejidad de tu almacén de datos heredado existente antes de migrar.
Reducir la complejidad de tu almacén de datos heredado existente antes
de migrar
En la sección anterior, presentamos las dos estrategias de migración. Como práctica
recomendada, durante el paso de evaluación inicial, debes ser consciente de cualquier
forma de simplificar tu almacén de datos existente y de documentarlo. El objetivo consiste
en reducir la complejidad de tu sistema de almacenamiento de datos heredado existente
antes de la migración para facilitar el proceso.
Aquí tienes algunas recomendaciones sobre cómo reducir la complejidad de tu almacén de
datos heredado existente:
- Eliminar y archivar las tablas no utilizadas antes de migrar: evita migrar datos que ya
no se utilicen. Esto ayudará a reducir el volumen general de datos que se va a migrar. - Convertir data marts físicos en data marts virtuales: minimiza lo que tienes que
migrar, reduce el coste total de propiedad y mejora la agilidad.
En la siguiente sección, analizaremos de cerca por qué deberías considerar la posibilidad de
convertir un data mart físico en un data mart virtual.
Convertir data marts físicos en data marts virtuales
Antes de migrar el almacén de datos heredado, ten en cuenta la posibilidad de convertir
los data marts físicos actuales en data marts virtuales. Mediante el uso de los data marts
virtuales, puedes eliminar los almacenes de datos físicos y los trabajos de ETL para data
marts sin perder ninguna funcionalidad antes de la migración. El objetivo aquí consiste en
reducir el número de almacenes de datos que migrar, reducir las copias de datos, reducir
el coste total de propiedad y mejorar la agilidad. Para lograrlo, tendrás que cambiar de data
marts físicos a virtuales antes de migrar tu almacén de datos. Esto se puede considerar un
paso de modernización del almacén de datos previo a la migración.
Desventajas de los data marts físicos
- Varias copias de los mismos datos
- Mayor coste total de propiedad
- Es difícil cambiar dado que los trabajos de ETL se ven afectados
Ventajas de los data marts virtuales
- Simplifica la arquitectura de almacenamiento de datos
- No es necesario almacenar copias de datos
- Mayor agilidad
- Menor coste total de propiedad
- Usa la optimización de aplicación para aprovechar la potencia de Azure Synapse Analytics
- Fácil de cambiar
- Es fácil ocultar datos confidenciales
En la siguiente sección, hablaremos sobre cómo migrar esquemas de almacenamiento de
datos existentes a Azure Synapse Analytics.
Migrar esquemas de almacenamiento de datos existentes a Azure
Synapse Analytics
La migración de esquemas de un almacén de datos heredado existente implica la migración
de las tablas de almacenamiento provisional existentes, el almacenamiento de datos
heredado y los esquemas de data mart dependientes.
Para ayudarte a conocer la magnitud y el alcance de la migración de tu esquema,
te recomendamos que crees un inventario de tu almacén de datos y data mart heredado
existente.
Aquí tienes una lista de comprobación que te ayudará a recopilar la información necesaria:
- Recuento de filas
- Tamaño de los datos de almacenamiento provisional, almacenamiento de datos y data
mart: tablas e índices - Ratios de compresión de datos
- Configuración de hardware actual
- Tablas (incluidas particiones): identificar tablas de dimensiones pequeñas
- Tipos de datos
- Vistas
- Índices
- Dependencias de objetos
- Uso de objetos
- Funciones: funciones «out of the box» y funciones definidas por el usuario (UDF)
- Procedimientos almacenados
- Requisitos de escalabilidad
- Previsiones de crecimiento
- Requisitos de carga de trabajo: usuarios simultáneos
Con el inventario completado, ahora puedes tomar decisiones sobre el ámbito del esquema
que deseas migrar. Esencialmente, hay cuatro opciones para el ámbito de la migración del
esquema de almacenamiento de datos heredado:
- Migrar un data mart a la vez:
2. Migrar todos los data marts a la vez y, después, el almacén de datos:
3. Migrar el almacén de datos y el área de almacenamiento provisional:
4. Migrar todo a la vez:
Ten en cuenta a la hora de elegir tu opción que el objetivo es lograr un diseño de base de
datos física que coincida o supere tu sistema de almacenamiento de datos heredado actual
en rendimiento y preferiblemente a un menor coste.
Para resumir, estas son algunas de las recomendaciones para la migración de esquemas:
- Evitar la migración de objetos o procesos innecesarios.
- Plantearse el uso de data marts virtuales para reducir o eliminar el número de data
marts físicos. - Automatizar siempre que sea posible. La implementación de DataOps debe tenerse en
cuenta junto con la migración a Azure Synapse. - Usar metadatos de las tablas de catálogo del sistema en el sistema de almacenamiento
de datos heredado para generar lenguaje de definición de datos (DDL) para Azure
Synapse Analytics. - Realizar cualquier cambio de modelo de datos u optimización de asignación de datos
requeridos en Azure Synapse Analytics.
En la siguiente sección, hablaremos sobre cómo migrar datos históricos de un almacén de
datos heredado a Azure Synapse Analytics.
Migrar datos históricos desde tu almacén de datos heredado a Azure
Synapse Analytics
Una vez que se ha determinado el ámbito de la migración del esquema, ya estamos listos
para tomar decisiones sobre cómo migrar los datos históricos.
Los pasos para migrar los datos históricos son los siguientes:
- Crear tablas de destino en Azure Synapse Analytics.
- Migrar los datos históricos existentes.
- Migrar las funciones y los procedimientos almacenados según sea necesario.
- Migrar el almacenamiento provisional y los procesos de carga incremental (ETL/ELT)
de los datos entrantes. - Aplicar cualquier opción de ajuste del rendimiento que sea necesaria.
En la tabla 18.2 se describen las cuatro opciones de migración de datos y sus ventajas
e inconvenientes:
En la siguiente sección, hablaremos sobre cómo migrar procesos ETL existentes a Azure
Synapse Analytics.
Migrar procesos ETL existentes a Azure Synapse Analytics
Hay una serie de opciones disponibles para migrar tus procesos ETL existentes a Azure
Synapse Analytics. En la tabla 18.3 se describen algunas de las opciones de migración de
ETL en función de cómo se han creado los trabajos de ETL existentes:
En la siguiente sección, hablaremos sobre cómo volver a desarrollar procesos ETL
escalables mediante ADF.
Volver a desarrollar procesos ETL escalables mediante ADF
Otra opción para gestionar los procesos ETL heredados existentes consiste en volver a
desarrollarlos con ADF. ADF es un servicio de integración de datos de Azure para la creación
de flujos de trabajo basados en datos (conocidos como canalizaciones) para orquestar
y automatizar el movimiento de datos y su transformación. Puedes usar ADF para crear y
programar canalizaciones con el fin de adquirir datos de distintos almacenes de datos. ADF
puede procesar y transformar los datos usando servicios de computación tales como Spark,
Azure Machine Learning, Azure HDInsight, Hadoop y Azure Data Lake Analytics:
En la siguiente sección veremos algunas recomendaciones para migrar consultas, informes
de BI, paneles y otras visualizaciones.
Recomendaciones para migrar consultas, informes de BI, paneles y otras
visualizaciones
La migración de consultas, informes de BI, paneles y otras visualizaciones desde tu almacén
de datos heredado a Azure Synapse Analytics es sencilla si el sistema heredado usa SQL
estándar.
Sin embargo, a veces este no es el caso. En esta situación, se debe adoptar una estrategia
diferente:
- Identificar los informes de alta prioridad que se desea migrar primero.
- Emplear las estadísticas de uso para identificar los informes que nunca se usan.
- Evitar la migración de elementos que ya no estén en uso.
- Una vez que hayas creado la lista de informes para migrar, sus prioridades y los informes
que no se usan y se deben omitir, confirma esta lista con las partes interesadas. - Para los informes que estás migrando, identifica las incompatibilidades pronto para
calibrar el proceso de migración. - Ten en cuenta la virtualización de datos para proteger las herramientas y aplicaciones
de BI de los cambios estructurales en el modelo de datos del almacén de datos y/o
data mart que se pueden producir durante la migración.
Problemas y soluciones comunes sobre la migración
Durante el proceso de migración, es posible que encuentres algunos problemas que
debes superar. En esta sección, haremos hincapié algunos de los problemas comunes y te
proporcionaremos las soluciones que puedes implementar.
Problema n.º 1: tipos de datos y soluciones no admitidos
En la tabla 18.4 se muestran los tipos de datos de los sistemas de almacenamiento de datos
heredados que no son compatibles, así como las soluciones alternativas adecuadas para
Azure Synapse Analytics:
Problema n.º 2: diferencias de tipos de datos entre Netezza y Azure Synapse
En la tabla 18.5 se asignan los tipos de datos de Netezza a sus tipos de datos equivalentes de
Azure Synapse:
Problema n.º 3: diferencias de restricción de integridad
Presta mucha atención a las diferencias de restricción de integridad entre el almacén de
datos heredado o data mart y Azure Synapse Analytics. En la Figura 18.9, el lado izquierdo
representa el antiguo sistema de almacenamiento de datos heredado con restricciones
de clave principal y clave externa y, en el lado derecho, se encuentra el nuevo entorno de
Azure Synapse Analytics:
En las secciones siguientes, abarcaremos por completo cómo resolver otras incompatibilidades
comunes de SQL durante la migración desde un almacén de datos heredado a Azure Synapse
Analytics.
Incompatibilidades y soluciones de SQL comunes
Esta sección proporciona detalles técnicos sobre incompatibilidades y soluciones comunes
de SQL entre los sistemas de almacenamiento de datos heredados y Azure Synapse
Analytics. En la sección se explican y comparan las diferencias y se proporcionan soluciones
utilizando una tabla de referencia rápida que podrás consultar más adelante cuando te
embarques en tu proyecto de migración.
Los temas que trataremos son los siguientes:
- Diferencias y soluciones del lenguaje de definición de datos (DDL) de SQL
- Diferencias y soluciones del lenguaje de manipulación de datos (DML) de SQL
- Diferencias y soluciones del lenguaje de control de datos (DCL) de SQL
- Diferencias de SQL extendido y soluciones
Diferencias y soluciones del DDL de SQL
En esta sección, analizaremos las diferencias y soluciones del DDL de SQL entre los
sistemas de almacenamiento de datos heredados y Azure Synapse Analytics.
Diferencias y soluciones del DML de SQL
En esta sección, analizaremos las diferencias y soluciones del DML de SQL entre los
sistemas de almacenamiento de datos heredados y Azure Synapse Analytics:
A continuación, hablaremos sobre las diferencias y soluciones del DCL de SQL entre los
sistemas de almacenamiento de datos heredados y Azure Synapse Analytics.
Diferencias y soluciones del DCL de SQL
En esta sección, analizaremos las diferencias y soluciones del DCL de SQL entre los sistemas
de almacenamiento de datos heredados y Azure Synapse Analytics. Netezza admite dos tipos
de derechos de acceso: administrador y objeto. En la tabla 18.8 se asignan los derechos de
acceso de Netezza y sus equivalentes correspondientes de Azure Synapse para consultarlos
rápidamente.
Asignar los privilegios de administrador de Netezza a los equivalentes de Azure
Synapse
En la tabla 18.8 se asignan los privilegios de administrador de Netezza a los equivalentes de
Azure Synapse:
Asignar los privilegios de objeto de Netezza a sus equivalentes de Azure Synapse
En la tabla 18.9 se asignan los privilegios de objeto de Netezza a los equivalentes de Azure
Synapse para consultarlos rápidamente:
Diferencias de SQL extendido y soluciones
En la tabla 18.10 se describen las diferencias de SQL extendido y las posibles soluciones al
migrar a Azure Synapse Analytics:
siguiente sección, vamos a echar un vistazo a las cuestiones de seguridad que un arquitecto
debe tener en cuenta.
Cuestiones de seguridad
La protección de tus activos de datos es primordial en cualquier sistema de almacenamiento
de datos. Al planificar un proyecto de migración de almacenamiento de datos, también se
deben tener en cuenta la seguridad, la administración de acceso de los usuarios, las copias
de seguridad y las restauraciones. Por ejemplo, el cifrado de datos puede ser obligatorio
para las normativas del sector y de la administración, como HIPAA, PCI y FedRAMP,
así como en sectores no regulados.
Azure incluye muchas características y funciones de serie que tradicionalmente tendrían
que estar construidas a la medida en productos de almacenamiento de datos heredados.
Azure Synapse admite el cifrado de datos en reposo y datos en movimiento de serie.
Cifrado de datos en reposo
- El cifrado de datos transparente (TDE) se puede habilitar para cifrar y descifrar
dinámicamente los datos, los registros y las copias de seguridad asociadas de Azure
Synapse. - Azure Data Storage también puede cifrar automáticamente los datos que no son de
la base de datos.
Datos en movimiento
Todas las conexiones a Azure Synapse Analytics se cifran de forma predeterminada,
mediante protocolos estándar del sector como TLS y SSH.
Además, el enmascaramiento dinámico de datos (DDM) se puede usar para ocultar los
datos de clases determinadas de usuarios en función de las reglas de enmascaramiento
de datos.
Como práctica recomendada, si el almacén de datos heredado contiene una jerarquía
compleja de permisos, usuarios y roles, plantéate el uso de técnicas de automatización
en tu proceso de migración. Puedes usar los metadatos existentes de tu sistema heredado
para generar el SQL necesario para migrar usuarios, grupos y privilegios en Azure Synapse
Analytics.
En la última sección de este capítulo, revisaremos algunas de las herramientas que los
arquitectos pueden elegir para que les ayuden a migrar desde sistemas de almacenamiento
de datos heredados a Azure Synapse Analytics.
Herramientas que te ayudarán a migrar a Azure Synapse Analytics
Ahora que hemos abordado la planificación, preparación e información general del proceso
de migración, vamos a echar un vistazo a las herramientas que se pueden usar para migrar
el almacén de datos heredado a Azure Synapse Analytics. Las herramientas que vamos
a analizar son:
- ADF
- Utilidad de migración del almacenamiento de datos de Azure
- Servicios de Microsoft para la transferencia de datos físicos
- Servicios de Microsoft para adquisición de datos
Empecemos.
ADF
ADF es un servicio de integración de datos híbrido, de pago por uso y totalmente administrado
para el procesamiento de ETL a escala del cloud. Ofrece las siguientes características:
- Procesa y analiza los datos en la memoria y en paralelo para escalar y maximizar
el rendimiento - Crea canalizaciones de migración de almacenamiento de datos que orquestan
y automatizan el movimiento de datos, la transformación de datos y la carga de
datos en Azure Synapse Analytics - También se puede usar para modernizar el almacén de datos mediante la ingesta de
datos en Azure Data Lake Storage, el procesamiento y el análisis de datos a escala y la
carga de datos en un almacén de datos - Admite interfaces de usuario basadas en roles para la asignación de flujos de datos
para profesionales de TI y la limpieza y transformación de datos de autoservicio para
usuarios empresariales - Puede conectarse a varios almacenes de datos que abarcan aplicaciones de SaaS,
centros de datos y clouds - Más de 90 conectores creados de forma nativa y sin mantenimiento disponibles
(https://azure.microsoft.com/services/data-factory) - Puede mezclar y combinar los flujos de datos de limpieza, transformación y asignación
en la misma canalización para preparar los datos a escala - La coordinación de ADF puede controlar la migración de almacenes de datos a Azure
Synapse Analytics - Puede ejecutar paquetes ETL de SSIS
Utilidad de migración del almacenamiento de datos de Azure
La utilidad de migración del almacenamiento de datos de Azure puede migrar datos desde
un almacén de datos on-premises basado en SQL Server a Azure Synapse. Ofrece las
siguientes características:
- Usa un enfoque similar a un asistente para realizar una migración lift-and-shift de
esquema y datos desde un almacén de datos on-premises basado en SQL Server. - Puedes seleccionar la base de datos on-premises que contiene las tablas que deseas
exportar a Azure Synapse. A continuación, puedes seleccionar las tablas que deseas
migrar y migrar el esquema. - Genera automáticamente el código T-SQL necesario para crear una base de datos
vacía equivalente y tablas en Azure Synapse. Una vez que proporciones los detalles de
conexión a Azure Synapse, puedes ejecutar el T-SQL generado para migrar el esquema. - Después de crear el esquema, puedes usar la utilidad para migrar los datos. Esto
exporta los datos desde el almacén de datos on-premises basado en SQL Server y
genera comandos Bulk Copy Program (BCP) para cargar esos datos en Azure Synapse.
Servicios de Microsoft para la transferencia de datos físicos
En esta sección, vamos a ver los servicios comunes de Microsoft que se pueden usar para
la transferencia de datos físicos, incluidos Azure ExpressRoute, AzCopy y Azure Databox.
Azure ExpressRoute
Azure ExpressRoute te permite establecer conexiones privadas entre tus centros de datos
y Azure sin tener que pasar por el Internet público. Ofrece las siguientes características:
- Ancho de banda de hasta 100 Gbps
- Baja latencia
- Se conecta directamente a la red de área extensa (WAN)
- Conexiones privadas a Azure
- Mayor velocidad y fiabilidad
AzCopy
AzCopy es una herramienta de línea de comandos para copiar archivos y blobs a/desde
cuentas de almacenamiento. Ofrece las siguientes características:
- Capacidad de copiar datos a/desde Azure a través de Internet.
- Una combinación de AzCopy con el ancho de banda de ExpressRoute necesario podría
ser una solución óptima para la transferencia de datos a Azure Synapse.
Azure Data Box
Azure Data Box te permite transferir grandes volúmenes de datos a Azure de forma rápida,
fiable y rentable. Ofrece las siguientes características:
- Es capaz de transferir grandes volúmenes de datos (desde decenas hasta cientos
de terabytes) - No presenta restricciones de conectividad de red
- Es ideal para la migración única y la transferencia masiva inicial
Servicios de Microsoft para adquisición de datos
En esta sección, vamos a ver los servicios comunes de Microsoft que se pueden utilizar
para la ingesta de datos, como:
- PolyBase
- BCP
- API SqlBulkCopy
- SQL estándar
PolyBase (método recomendado)
PolyBase proporciona la carga de datos masivos más rápida y escalable en Azure Synapse
Analytics. Ofrece las siguientes características:
- Usa la carga paralela para proporcionar el rendimiento más rápido
- Puede leer desde archivos planos en Azure Blob Storage o desde orígenes de datos
externos a través de conectores - Perfectamente integrado con ADF
- CREATE TABLE AS o INSERT … SELECT
- Puede definir una tabla de almacenamiento provisional como tipo amontonada para
una carga rápida - Admite filas de hasta 1 MB de longitud
BCP
BCP se puede usar para importar y exportar datos desde cualquier entorno de SQL Server,
incluido Azure Synapse Analytics. Ofrece las siguientes características:
- Admite filas de más de 1 MB de longitud
- Desarrollado originalmente para versiones anteriores de Microsoft SQL Server
Consulta https://docs.microsoft.com/sql/tools/bcp-utility para obtener más información
sobre la utilidad BCP.
API SqlBulkCopy
La API SqlBulkCopy es la API equivalente a la funcionalidad de BCP. Ofrece las siguientes
características:
- Permite la implementación de procesos de carga mediante programación
- Presenta la capacidad de cargar masivamente tablas de SQL Server con datos de
orígenes seleccionados
Consulta https://docs.microsoft.com/dotnet/api/system.data.sqlclient.sqlbulkcopy para
obtener más información sobre esta API.
Compatibilidad con SQL estándar
Azure Synapse Analytics admite SQL estándar, incluida la capacidad de:
- Carga de filas individuales o resultados de instrucciones SELECT en tablas de almacén
de datos. - Inserción masiva de datos a partir de datos extraídos a través de orígenes de datos
externos en tablas de almacén de datos mediante las instrucciones INSERT … SELECT
dentro de PolyBase.
En esta sección se han indicado las consideraciones de la arquitectura y la metodología de
alto nivel para la planificación, preparación y ejecución de una migración correcta de un
sistema de almacenamiento de datos heredado a Azure Synapse Analytics. Contiene una
gran cantidad de información que podrás consultar más adelante cuando te embarques
en tu proyecto de migración a Azure Synapse Analytics.
Resumen
Azure Synapse Analytics es un servicio de análisis ilimitado con un tiempo para obtener
conocimiento sin precedentes que acelera la entrega de BI, IA y aplicaciones inteligentes
para las empresas. Disfrutarás de muchas ventajas al migrar tu almacén de datos heredado
a Azure Synapse Analytics, incluidos el rendimiento, la velocidad, la seguridad y el
cumplimiento mejorados, la elasticidad, la infraestructura administrada, la escalabilidad
y el ahorro de costes.
Con Azure Synapse, los profesionales de datos con distintos conocimientos pueden
colaborar, administrar y analizar sus datos más importantes con facilidad, y todo ello desde
un mismo servicio. La integración de Apache Spark con el potente motor SQL de confianza
y la posibilidad de integrar y administrar datos sin necesidad de programar demuestran que
Azure Synapse está pensado para todos los profesionales de datos.
Este capítulo ha proporcionado las consideraciones de la arquitectura y la metodología de
alto nivel necesarias para preparar y ejecutar la migración de un sistema de almacenamiento
de datos heredado existente a Azure Synapse Analytics.
Los proyectos de migración de datos exitosos comienzan con un plan bien diseñado.
Un plan eficaz explica los numerosos componentes que hay que tener en cuenta, prestando
especial atención a la arquitectura y la preparación de los datos.
Después de haber migrado correctamente a Azure Synapse, puedes explorar tecnologías de
Microsoft adicionales en el rico ecosistema analítico de Azure para seguir modernizando tu
arquitectura de almacenamiento de datos.
Estas son algunas ideas para reflexionar:
- Descarga tus áreas de almacenamiento provisional y el procesamiento de ELT en
Azure Data Lake Storage y ADF. - Crea productos de datos de confianza en formato de modelo de datos común
y consúmelos en todas partes, no solo en tu almacén de datos. - Permite el desarrollo colaborativo de las canalizaciones de preparación de datos por
empresa y TI mediante la asignación de ADF y la limpieza y transformación de flujos
de datos. - Crea canalizaciones analíticas en ADF para analizar los datos en lote y en tiempo real.
- Crea e implementa modelos de machine learning para añadir conocimientos
adicionales a lo que ya sabes. - Integra tu almacén de datos con datos de streaming en directo.
- Simplifica el acceso a los datos y a los conocimientos en varios almacenes de datos
analíticos de Azure mediante la creación de un almacén de datos lógico con PolyBase.