Está en la página 1de 37

Azure Synapse

18
Analytics para
arquitectos
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.
602 | Azure Synapse Analytics para arquitectos

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:

1. Adquirir datos procedentes de distintos orígenes de datos

2. Cargar todos estos orígenes de datos en un data lake para su procesamiento posterior

3. Limpiar los datos con distintas estructuras y de distintos tipos

4. Preparar, transformar y modelar los datos

5. Servir los datos limpios a miles de usuarios a través de herramientas y aplicaciones de BI


Un escenario común para los arquitectos | 603

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.
604 | Azure Synapse Analytics para arquitectos

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:

Aislamiento de carga de trabajo

Ventas

60 % Computación de
1000c DWU
Marketing 40 %

40 %
In-Memory local + Caché SSD

Almacén de datos

Figura 18.1: Ejemplo de aislamiento de cargas de trabajo


Información general de Azure Synapse Analytics | 605

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:

Figura 18.2: Un espacio de trabajo de Synapse en Azure Synapse Studio

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:
606 | Azure Synapse Analytics para arquitectos

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.
Información general de Azure Synapse Analytics | 607

• 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.


608 | Azure Synapse Analytics para arquitectos

Synapse SQL
Synapse SQL permite el uso de T-SQL para consultar y analizar datos. Hay dos modelos
entre los que elegir:

1. Modelo totalmente aprovisionado

2. 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:

TI tradicional IaaS PaaS Sin servidor SaaS

Aplicación Aplicación Aplicación Aplicación Aplicación

Datos Datos Datos Datos Datos

Entorno de ejecución Entorno de ejecución Entorno de ejecución Entorno de ejecución Entorno de ejecución

Middleware Middleware Middleware Middleware Middleware

SO SO SO SO SO

Virtualización Virtualización Virtualización Virtualización Virtualización

Servidores Servidores Servidores Servidores Servidores

Almacenamiento Almacenamiento Almacenamiento Almacenamiento Almacenamiento

Redes Redes Redes Redes Redes

Administrado por ti
Tabla 18.1: Comparación entre distintas infraestructuras

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.
Información general de Azure Synapse Analytics | 609

• 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:

Figura 18.3: Canalizaciones de datos en Azure Synapse Analytics


610 | Azure Synapse Analytics para arquitectos

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 | 611

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.
612 | Azure Synapse Analytics para arquitectos

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-data-
warehouse/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.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 613

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.
614 | Azure Synapse Analytics para arquitectos

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.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 615

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


616 | Azure Synapse Analytics para arquitectos

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
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 617

• 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:
1. Migrar un data mart a la vez:

Figura 18.4: Migración de un data mart a la vez

2. Migrar todos los data marts a la vez y, después, el almacén de datos:

Figura 18.5: Migración de todos los data marts a la vez y, después, del almacén de datos
618 | Azure Synapse Analytics para arquitectos

3. Migrar el almacén de datos y el área de almacenamiento provisional:

Figura 18.6: Migración del almacén de datos y del área de almacenamiento provisional

4. Migrar todo a la vez:

Figura 18.7: Migración de 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.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 619

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:

1. Crear tablas de destino en Azure Synapse Analytics.

2. Migrar los datos históricos existentes.

3. Migrar las funciones y los procedimientos almacenados según sea necesario.

4. Migrar el almacenamiento provisional y los procesos de carga incremental (ETL/ELT)


de los datos entrantes.

5. Aplicar cualquier opción de ajuste del rendimiento que sea necesaria.


620 | Azure Synapse Analytics para arquitectos

En la tabla 18.2 se describen las cuatro opciones de migración de datos y sus ventajas


e inconvenientes:

Opción de Ventajas Inconvenientes


migración
de datos
Migrar primero • La migración de datos desde un • Hasta que se complete la migración,
los datos de data data mart a la vez es un enfoque tendrás algunos datos que existen
mart seguidos de de bajo riesgo incremental. También on-premises y en Azure.
los datos del proporcionará pruebas de negocio
más rápidas a los usuarios finales • El procesamiento de ETL desde
almacén
de análisis departamentales. el almacén de datos a los data
de datos
marts tendría que salvar el firewall
• La migración ETL posterior y cambiarse a Azure Synapse
se limita solo a los datos de los
como destino.
data marts dependientes migrados.
Migrar primero • Todos los datos históricos de • Dejar los data marts dependientes
los datos del almacenamiento de datos on-premises no es lo ideal, ya que l
almacén de se migran. os procesos ETL tienen que hacer
datos, seguidos que el flujo de datos vuelva al
de los data marts centro de datos.
• No hay oportunidad real para
la migración de datos incremental.
Migra el almacén • Todos los datos se migran • Mayor riesgo potencial.
de datos y los de una sola vez.
• Los ETL probablemente tendrán
data marts juntos
que migrarse juntos también.
Convierte marts • No hay almacenes de datos • Si las vistas anidadas no son
físicos en marts de data mart que migrar. capaces de admitir data marts
virtuales y migra virtuales, es probable que se
• No hay que migrar ETL de
solo el almacén necesiten programas
almacén de datos a marts.
de datos de virtualización de datos
• Solo los datos de almacenamiento de terceros en Azure.
de datos que se migrarán.
• Todos los marts tendrían que
• Menos copias de datos. convertirse antes de que se migren
los datos del almacén de datos.
• Sin pérdida de funcionalidad.
• Las asignaciones de marts virtuales
• Menor coste total de propiedad.
y almacén de datos a mart virtual
• Mayor agilidad. tendrán que migrarse al servidor de
• Arquitectura de datos general virtualización de datos en Azure
más sencilla. y redirigirse a Azure Synapse.

• Puede ser posible con vistas


en Azure Synapse.

Tabla 18.2: Opciones de migración de datos con sus ventajas e inconvenientes

En la siguiente sección, hablaremos sobre cómo migrar procesos ETL existentes a Azure
Synapse Analytics.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 621

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:

¿Cómo se han Opciones de migración Por qué migrar y qué buscar


creado los
trabajos de ETL
existentes?
Código y scripts • Planear volver a desarrollarlas • El código no proporciona un linaje
personalizados mediante ADF. de metadatos.
de 3GL
• Es difícil de mantener si los autores
se van.
• Si las tablas de almacenamiento
provisional están en el almacén
de datos heredado y SQL se usa
para transformar los datos,
a continuación, resolver las
diferencias con T-SQL.
Los • Planear volver a desarrollarlas • Es probable que haya diferencias
procedimientos mediante ADF. importantes entre el almacén de
almacenados datos heredado y Azure Synapse.
que se ejecutan
en el DBMS de • Sin linaje de metadatos.
almacenamiento
• Requiere una evaluación cuidadosa,
de datos
pero la ventaja clave podría ser
heredado
el enfoque de canalización como
código, que es posible con ADF.

Herramienta • Seguir usando la herramienta ETL • Evita tener que volver a desarrollar.
de ETL gráfica existente y cambiar el destino
(por ejemplo, a Azure Synapse. • Minimiza el riesgo y la migración
Informatica es más rápida.
• Es posible migrar a una versión
o Talend)
de Azure de la herramienta ETL
existente y portar los metadatos
para ejecutar trabajos de ELT
en Azure asegurándose de habilitar
el acceso a los orígenes de datos
on-premises.
• Controlar la ejecución de los
servicios ETL mediante ADF.
Software de • Seguir usando la herramienta ETL • Evita tener que volver a desarrollar.
automatización de existente, cambiando el destino
almacenamiento y el almacenamiento provisional • Minimiza el riesgo y la migración
de datos a Azure Synapse. es más rápida.

Tabla 18.3: Opciones de migración de ETL

En la siguiente sección, hablaremos sobre cómo volver a desarrollar procesos ETL


escalables mediante ADF.
622 | Azure Synapse Analytics para arquitectos

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:

Figura 18.8: Volver a desarrollar procesos ETL escalables mediante ADF

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.
Migrar los sistemas antiguos existentes a Azure Synapse Analytics | 623

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:

Tipo de datos Solución alternativa para Azure Synapse Analytics


no admitido
geometry varbinary
geography varbinary
hierarchyid nvarchar(4000)
image varbinary
text varchar
ntext nvarchar
sql_variant Dividir la columna en varias columnas con establecimiento inflexible de tipos
table Convertir en tablas temporales
timestamp Reutiliza el código para usar datetime2 y la función CURRENT_TIMESTAMP
xml varchar
Volver a convertir al tipo de datos nativo cuando sea posible

Tabla 18.4: Tipos de datos no admitidos y soluciones alternativas adecuadas para Azure Synapse Analytics
624 | Azure Synapse Analytics para arquitectos

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:

Tipo de datos de Netezza Tipo de datos de Azure Synapse


BIGINT BIGINT
BINARY VARYING(n) VARBINARY(n)
BOOLEAN BIT
BYTEINT TINYINT
CHARACTER VARYING(n) VARCHAR(n)
CHARACTER(n) CHAR(n)
DATE DATE
DECIMAL(p,s) DECIMAL(p,s)
DOUBLE PRECISION FLOAT
FLOAT(n) FLOAT(n)
INTEGER INT
INTERVAL Los tipos de datos INTERVAL no se admiten actualmente
de forma directa en Azure Synapse, aunque se pueden
calcular mediante funciones temporales, como DATEDIFF
MONEY MONEY
NATIONAL CHARACTER NVARCHAR(n)
VARYING(n)
NATIONAL CHARACTER(n) NCHAR(n)
NUMERIC(p,s) NUMERIC(p,s)
REAL REAL
SMALLINT SMALLINT
ST_GEOMETRY(n) Los tipos de datos espaciales como ST_GEOMETRY no se
admiten actualmente en Azure Synapse, aunque los datos
se pueden almacenar como VARCHAR o VARVARCHARARY
TIME TIME
TIME WITH TIME ZONE DATETIMEOFFSET
TIMESTAMP DATETIME

Tabla 18.5: Tipos de datos de Netezza y sus equivalentes de Azure Synapse


Incompatibilidades y soluciones de SQL comunes | 625

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:

Figura 18.9: Diferencias de restricción de integridad

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


626 | Azure Synapse Analytics para arquitectos

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.

Problemas Sistema de almacenamiento Resoluciones


de datos heredado
Tipos de • En el sistema heredado, identifica • Migrar a tablas estándar dentro
tablas cualquier uso de tipos de tablas de Azure Synapse Analytics.
propietarias propietarias.
• Para la serie temporal, el índice o la
partición en la columna fecha/hora.
• Habrá que agregar filtros adicionales
a las consultas temporales
pertinentes.
Vistas • Identifica las vistas de las tablas • Las vistas con extensiones o funciones
de catálogo y los scripts DDL. SQL propietarias tendrán
que reescribirse.
• Azure Synapse Analytics también
admite vistas materializadas y las
mantendrá y actualizará
automáticamente.
Valores • Los valores nulos se pueden tratar • Genera consultas SQL para probar
nulos de forma diferente en bases de datos valores nulos.
SQL heredadas.
Por ejemplo, en Oracle, una cadena • Informes de prueba que incluyen
vacía equivale a un valor nulo. columnas que aceptan valores nulos.
• Algunos DBMS tienen funciones SQL
propietarias para tratar los valores
nulos; por ejemplo, NVL en Oracle.

Tabla 18.6: Diferencias del DDL de SQL entre los sistemas heredados y Azure Synapse
Incompatibilidades y soluciones de SQL comunes | 627

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:

Función Netezza Equivalente de Azure Synapse


STRPOS SELECT STRPOS(‘ABCDEFG’, SELECT CHARINDEX(‘BCD’,
‘BCD’) … ‘ABCDEFG’) …
AGE SELECT AGE(’25-12-1940’, SELECT DATEDIFF( day, ‘1940-12-
’25-12- 2020’) FROM … 25’, ‘2020-12-25’) FROM …
NOW() NOW() CURRENT_TIMESTAMP
SEQUENCE CREATE SEQUENCE … Reescribir usando columnas
IDENTITY en Azure Synapse Analytics.
UDF Las UDF de Netezza se escriben Reescribir en T-SQL en Azure
en nzLua o C++. Synapse Analytics.
Procedimientos Los procedimientos almacenados Reescribir en T-SQL en Azure
almacenados de Netezza se escriben en NZPLSQL Synapse Analytics.
(basados en Postgres PL/pgSQL).

Tabla 18.7: Diferencias del DML de SQL entre Netezza y Azure Synapse

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.
628 | Azure Synapse Analytics para arquitectos

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:

Privilegio de Description Azure Synapse equivalent


administrador

Backup Permite a los usuarios crear copias de Característica de copia de


seguridad y ejecutar el comando nzbackup. seguridad y restauración en
el grupo de Azure Synapse SQL

[Create] Permite al usuario crear agregados definidos La función CREATE


Aggregate por el usuario (UDA). El permiso para operar FUNCTION de Azure Synapse
en UDA existentes se controla mediante incorpora la funcionalidad
privilegios de objeto. de suma de Netezza

[Create] Permite al usuario crear bases de datos. El CREATE DATABASE


Database permiso para operar en bases de datos existentes
se controla mediante privilegios de objeto.

[Create] Permite al usuario crear tablas externas. El CREATE TABLE


External permiso para operar en tablas existentes se
Table controla mediante privilegios de objeto.

[Create] Permite al usuario crear UDF. El permiso para CREATE FUNCTION


Function operar en UDF existentes se controla mediante
privilegios de objeto.

[Create] Permite al usuario crear grupos. El permiso CREATE ROLE


Group para operar en grupos existentes se controla
mediante privilegios de objeto.

[Create] Solo para el uso del sistema. Los usuarios CREATE INDEX
Index no pueden crear índices.

[Create] Permite al usuario crear bibliotecas compartidas. N/A


Library El permiso para operar en bibliotecas compartidas
existentes se controla mediante privilegios de objeto.

[Create] Permite al usuario crear vistas materializadas. CREATE VIEW


Materialized
View

[Create] Permite al usuario crear procedimientos CREATE PROCEDURE


Procedure almacenados. El permiso para operar en
procedimientos almacenados existentes se
controla mediante privilegios de objeto.

[Create] Permite al usuario crear esquemas. El permiso CREATE SCHEMA


Schema para operar en esquemas existentes se controla
mediante privilegios de objeto.
Incompatibilidades y soluciones de SQL comunes | 629

Privilegio de Descripción Equivalente de Azure Synapse


administrador

[Create] Permite al usuario crear secuencias de bases N/D


Sequence de datos.

[Create] Permite al usuario crear sinónimos. CREATE SYNONYM


Synonym

[Create] Permite al usuario crear tablas. El permiso para CREATE TABLE


Table operar en tablas existentes se controla mediante
privilegios de objeto.

[Create] Permite al usuario crear tablas temporales. CREATE TABLE


Temp Table El permiso para operar en tablas existentes s
e controla mediante privilegios de objeto.

[Create] Permite al usuario crear usuarios. El permiso para CREATE USER


User operar en usuarios existentes se controla mediante
privilegios de objeto.

[Create] Permite al usuario crear vistas. El permiso para CREATE VIEW


View operar en vistas existentes se controla mediante
privilegios de objeto.

[Manage] Permite al usuario ver el estado del hardware, Administrado automáticamente


Hardware administrar SPU, administrar la topología y el reflejo, a través de Azure Portal en
y ejecutar pruebas de diagnóstico. Azure Synapse

[Manage] Permite al usuario ejecutar comandos y operaciones Administrado automáticamente


Security relacionados con la administración y configuración a través de Azure Portal en
de bases de datos de historial; administrar objetos Azure Synapse
de seguridad de varios niveles, incluida la
especificación de seguridad para usuarios y grupos;
y administrar las claves de base de datos para
la firma digital de datos de auditoría.

[Manage] Permite al usuario realizar las siguientes operaciones Administrado automáticamente


System de administración: iniciar/detener/pausar/reanudar a través de Azure Portal en
el sistema, cancelar sesiones y ver el mapa de Azure Synapse
distribución, las estadísticas del sistema y los
registros. El usuario puede utilizar estos comandos:
nzsystem, nzstate, nzstats y nzsession.

Restore Permite al usuario restaurar el sistema. El usuario Se gestiona automáticamente


puede ejecutar el comando nzrestore. en Azure Synapse

Unfence Permite al usuario crear o modificar un UDF o agregar N/D


para que se ejecute en modo no cercado.

Tabla 18.8: Privilegios de administrador de Netezza y sus equivalentes de Azure Synapse


630 | Azure Synapse Analytics para arquitectos

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:

Privilegio Descripción Equivalente de


de objeto Azure Synapse

Abort Permite al usuario cancelar sesiones. Se aplica a grupos y usuarios. KILL DATABASE
CONNECTION

Alter Permite al usuario modificar atributos de objeto. Se aplica ALTER


a todos los objetos.

Delete Permite al usuario eliminar filas de tabla. Se aplica solo a tablas. ELIMINAR

Drop Permite al usuario colocar objetos. Se aplica a todos los tipos de objeto. DROP

Execute Permite al usuario ejecutar UDF, UDA o procedimientos almacenados. EXECUTE

GenStats Permite al usuario generar estadísticas sobre tablas o bases de datos. Se gestiona
El usuario puede ejecutar el comando GENERATE STATISTICS. automáticamente
en Azure Synapse

Groom Permite al usuario recuperar espacio en disco para las filas eliminadas Se gestiona
u obsoletas y reorganizar una tabla por las claves de organización automáticamente
o migrar datos de tablas que tienen varias versiones almacenadas. en Azure Synapse

Insert Permite al usuario insertar filas en una tabla. Se aplica solo a tablas. INSERTO

List Permite al usuario mostrar un nombre de objeto, ya sea en una lista LIST
o de otra manera. Se aplica a todos los objetos.

Select Permite al usuario seleccionar (o consultar) filas dentro de una tabla. SELECT
Se aplica a tablas y vistas.

Truncate Permite al usuario eliminar todas las filas de una tabla. Se aplica TRUNCATE
solo a tablas.

Update Permite al usuario modificar filas de tabla. Se aplica solo a tablas. ACTUALIZAR

Tabla 18.9: Privilegios de objeto de Netezza y sus equivalentes de Azure Synapse


Incompatibilidades y soluciones de SQL comunes | 631

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:

SQL Descripción Cómo realizar la migración


Extensión

UDF • Puede contener código arbitrario • Usar CREATE FUNCTION y volver


a programar en T-SQL.
• Se puede programar en varios
lenguajes (por ejemplo, Lua y Java)

• Se puede llamar dentro de una


instrucción SQL SELECT de la misma
manera que se usan funciones
integradas como SUM () y AVG ()

Procedimientos • Puede contener una o más • Volver a programar en T-SQL.


almacenados instrucciones SQL, así como lógica
de procedimientos en torno • Algunas herramientas de terceros
que pueden ayudar con la migración:
a esas instrucciones SQL
• Implementado en un lenguaje • Datometry
estándar (por ejemplo, Lua) o en un
lenguaje propio (por ejemplo, • WhereScape
Oracle PL/SQL)
Desencade- • No compatibles con Azure Synapse • La funcionalidad equivalente se puede
nadores lograr mediante el uso de otras partes
del ecosistema de Azure. Por ejemplo,
para datos de entrada de streaming,
utilizar Azure Stream Analytics.

Análisis • No compatibles con Azure Synapse • La ejecución de análisis avanzados,


en base como los modelos de machine
de datos learning a escala, consiste en usar
Azure Databricks.
• Azure Synapse abre la posibilidad
de realizar funciones de machine
learning con Spark MLlib.

• Como alternativa, migra a Azure SQL


Database y usa la función PREDICT.

Tipos de datos • No compatibles con Azure Synapse • Almacena datos geoespaciales, como
geoespaciales latitud/longitud, y formatos populares,
como Well-Known Text (WKT)
y Well-Known Binary (WKB), en
columnas VARCHAR o VARBINARY
y a los que acceden directamente las
herramientas de cliente geoespacial.

Tabla 18.10: Diferencias de SQL extendido y soluciones


632 | Azure Synapse Analytics para arquitectos

En esta sección, hemos hablado sobre los problemas de migración habituales que podrían
encontrar los arquitectos durante un proyecto de migración y las posibles soluciones. En la
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 | 633

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


634 | Azure Synapse Analytics para arquitectos

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.
Herramientas que te ayudarán a migrar a Azure Synapse Analytics | 635

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


636 | Azure Synapse Analytics para arquitectos

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.
Resumen | 637

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.

En el siguiente capítulo, conocerás en detalle Azure Cognitive Services, centrándote en el


diseño de soluciones que incluyen la inteligencia como motor principal.

También podría gustarte