Opciones de macrodatos en la plataforma Microsoft SQL Server

Se aplica a: SQL Server 2019 (15.x)

Clústeres de macrodatos de Microsoft SQL Server 2019 es un complemento para la plataforma SQL Server que permite implementar clústeres escalables de contenedores de SQL Server, Spark y HDFS que se ejecutan en Kubernetes. Estos componentes se ejecutan en paralelo para que se puedan leer, escribir y procesar macrodatos mediante las bibliotecas de Transact-SQL o Spark, lo que permite combinar y analizar fácilmente los datos relacionales de alto valor con grandes volúmenes de macrodatos no relacionales. Los clústeres de macrodatos también permiten virtualizar datos con PolyBase, para poder consultar datos de orígenes externos de SQL Server, Oracle, Teradata, MongoDB y otros orígenes de datos mediante tablas externas. El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 proporciona alta disponibilidad para la instancia maestra de SQL Server y todas las bases de datos mediante la tecnología de grupos de disponibilidad AlwaysOn.

El complemento Clústeres de macrodatos de SQL Server 2019 se ejecuta de forma local y en la nube mediante la plataforma Kubernetes, para cualquier implementación estándar de Kubernetes. Además, el complemento Clústeres de macrodatos de SQL Server 2019 se integra con Active Directory e incluye el control de acceso basado en rol para satisfacer las necesidades de seguridad y cumplimiento de su empresa.

Retirada del complemento Clústeres de macrodatos de SQL Server 2019

El 28 de febrero de 2025 se retirará el componente Clústeres de macrodatos de SQL Server 2019. Todos los usuarios existentes de SQL Server 2019 con Software Assurance serán totalmente compatibles con la plataforma, y el software se seguirá conservando a través de actualizaciones acumulativas de SQL Server hasta ese momento. Para obtener más información, vea la entrada de blog del anuncio.

Cambios en la compatibilidad con PolyBase en SQL Server

En relación con la retirada de Clústeres de macrodatos de SQL Server 2019 hay algunas características relacionadas con las consultas de escalamiento.

Se ha retirado la característica de los grupos de escalado horizontal de PolyBase de Microsoft SQL Server. La funcionalidad de los grupos de escalabilidad horizontal se quitará del producto en SQL Server 2022 (16.x). Las versiones SQL Server 2019, 2017 y 2016 que están en el mercado seguirán ofreciendo compatibilidad con esta funcionalidad hasta que termine el ciclo de vida de esos productos. La virtualización de datos de PolyBase seguirá siendo totalmente compatible como una característica de escalado vertical en SQL Server.

Los orígenes de datos externos Cloudera (CDP) y Hadoop de Hortonworks (HDP) también se retirarán para todas las versiones de SQL Server que están en el mercado y no se incluirán en SQL Server 2022. A partir de ahora, la compatibilidad con orígenes de datos externos se limitará a las versiones del producto que incluyan soporte estándar por parte del proveedor correspondiente. Se recomienda usar la nueva integración de almacenamiento de objetos disponible en SQL Server 2022 (16.x).

En SQL Server 2022 (16.x), los usuarios tendrán que configurar sus orígenes de datos externos para usar nuevos conectores al conectarse a Azure Storage. En la tabla siguiente se resume el cambio:

Origen de datos externo De En
Azure Blob Storage wasb[s] abs
ADLS Gen2 abfs[s] adls

Nota: Azure Blob Storage (abs) requerirá el uso de la firma de acceso compartido para el SECRETO en la credencial con ámbito de la base de datos. En SQL Server 2019 y versiones anteriores, el conector wasb[s] usaba la clave de cuenta de almacenamiento con credenciales con ámbito de la base de datos al autenticarse en la cuenta de Azure Storage.

Descripción de la arquitectura de Clústeres de macrodatos para opciones de sustitución y migración

Para crear su solución de reemplazo para un sistema de almacenamiento y procesamiento de macrodatos, es importante entender lo que ofrece Clústeres de macrodatos de SQL Server 2019, y su arquitectura puede ayudar a fundamentar sus decisiones. La arquitectura de un clúster de macrodatos es la siguiente:

Diagrama en el que se muestra información general sobre la arquitectura de Clústeres de macrodatos de SQL Server 2019

Esta arquitectura proporciona la siguiente asignación de funcionalidades:

Componente Prestación
Kubernetes Orquestador de código abierto para implementar y administrar aplicaciones basadas en contenedores a gran escala. Proporciona un método declarativo para crear y controlar la resistencia, la redundancia y la portabilidad para todo el entorno con un escalado elástico.
Controlador de Clústeres de macrodatos Proporciona seguridad y administración para el clúster. Contiene el servicio de control, el almacén de configuración y otros servicios en el nivel de clúster, como Kibana, Grafana y búsqueda elástica.
Grupo de proceso Ofrece recursos de proceso para el clúster. Contiene nodos que ejecutan SQL Server en pods de Linux. Los pods del grupo de proceso se dividen en instancias de proceso de SQL para tareas de procesamiento específicas. Este componente también proporciona virtualización de datos mediante PolyBase para consultar orígenes de datos externos sin mover ni copiar los datos.
Grupo de datos Proporciona persistencia de datos para el clúster. El grupo de datos consta de uno o varios pods que ejecutan SQL Server en Linux. Se usa para ingerir datos de consultas SQL o trabajos de Spark.
Grupo de almacenamiento El grupo de almacenamiento consiste en módulos de almacenamiento que se componen de SQL Server en Linux, Spark y HDFS. Todos los nodos de almacenamiento de un clúster de macrodatos son miembros de un clúster de HDFS.
Grupo de aplicaciones Permite la implementación de aplicaciones en un clúster de macrodatos al ofrecer interfaces para crear, administrar y ejecutar aplicaciones.

Para más información sobre estas funciones, consulte Introducción a Clústeres de macrodatos de SQL Server.

Opciones de sustitución de funcionalidades para macrodatos y SQL Server

La funcionalidad de los datos operativos que ofrece SQL Server dentro de Clústeres de macrodatos se puede reemplazar por SQL Server local en una configuración híbrida o mediante la plataforma Microsoft Azure. Microsoft Azure ofrece una selección de bases de datos relacionales, NoSQL y en memoria totalmente administradas, que abarcan motores propietarios y de código abierto, para adaptarse a las necesidades de los desarrolladores de aplicaciones modernas. La administración de la infraestructura, incluida la escalabilidad, la disponibilidad y la seguridad, se automatiza, le ahorra tiempo y dinero, y le permite centrarse en la creación de aplicaciones, mientras que las bases de datos administradas por Azure le facilitan el trabajo al mostrar información de rendimiento a través de inteligencia insertada, escalado sin límites y administración de amenazas de seguridad. Para más información, consulte Bases de datos en Azure.

La siguiente decisión que hay que tomar son las ubicaciones de proceso y almacenamiento de datos para el análisis. Las dos opciones de arquitectura son las implementaciones híbridas y en la nube. La mayoría de las cargas de trabajo de análisis se pueden migrar a la plataforma Microsoft Azure. Los datos "nacidos en la nube" (originados en aplicaciones basadas en la nube) son candidatos ideales para estas tecnologías, y los servicios de movimiento de datos pueden migrar datos locales a gran escala de forma segura y rápida. Para más información sobre las opciones de movimiento de datos, consulte Soluciones para la transferencia de datos.

Microsoft Azure tiene sistemas y certificaciones que permiten proteger los datos y su procesamiento en diferentes herramientas. Para más información sobre estas certificaciones, consulte Centro de confianza.

Nota:

La plataforma Microsoft Azure proporciona un alto nivel de seguridad y varias certificaciones para diversos sectores y, además, respeta la soberanía de los datos para los requisitos gubernamentales. Microsoft Azure también tiene una plataforma en la nube dedicada para las cargas de trabajo gubernamentales. La seguridad por sí sola no debe ser la decisión principal para los sistemas locales. Debe evaluar detenidamente el nivel de seguridad proporcionado por Microsoft Azure antes de tomar la decisión de conservar las soluciones de macrodatos locales.

En la opción de la arquitectura en la nube, todos los componentes residen en Microsoft Azure. Es responsable de los datos y el código que cree para el almacenamiento y el procesamiento de las cargas de trabajo. Esas opciones se tratan con más detalle en este artículo.

  • Esta opción es más conveniente para aprovechar una amplia variedad de componentes para el almacenamiento y el procesamiento de los datos, y cuando desea centrarse en los datos y en el construcciones de procesamiento en lugar de en la infraestructura.

En las opciones de arquitectura híbrida, algunos componentes se conservan de forma local y otros se hospedan en un proveedor de servicios en la nube. La conectividad entre ambas ubicaciones está diseñada para ofrecer el mejor hospedaje para el procesamiento respecto a los datos.

  • Esta opción es más conveniente cuando tiene una inversión considerable en arquitecturas y tecnologías locales, pero quiere aprovechar las ofertas de Microsoft Azure, o cuando tiene destinos de procesamiento y aplicaciones que residen en el entorno local o si la audiencia es mundial.

Para más información sobre la creación de arquitecturas escalables, consulte Creación de un sistema escalable para datos masivos.

En la nube

Azure SQL con Synapse

Puede reemplazar la funcionalidad de Clústeres de macrodatos de SQL Server mediante una o varias opciones de base de datos de Azure SQL para los datos operativos y también con Microsoft Azure Synapse para las cargas de trabajo de análisis.

Microsoft Azure Synapse es un servicio de análisis empresarial que acelera el tiempo necesario para obtener información de los sistemas de almacenamientos de datos y de macrodatos mediante el procesamiento distribuido y las construcciones de datos. Azure Synapse reúne lo mejor de las tecnologías SQL que se usan en el almacenamiento de datos empresariales, las tecnologías de Spark que se utilizan para macrodatos, Pipelines para la integración de datos y ETL/ELT, y la integración profunda con otros servicios de Azure, como Power BI, Cosmos DB y Azure Machine Learning.

Use Microsoft Azure Synapse para reemplazar a Clústeres de macrodatos de SQL Server 2019 cuando necesite:

  • Utilizar modelos de recursos sin servidor y dedicados. Para obtener un rendimiento y un costo predecibles, cree grupos de SQL dedicados para reservar la capacidad de procesamiento de los datos almacenados en tablas SQL.
  • Procesar cargas de trabajo no planeadas o de "ráfaga" y acceder a un punto de conexión de SQL sin servidor siempre disponible.
  • Usar las funcionalidades integradas de streaming para destinar datos de los orígenes de datos en la nube a tablas SQL.
  • Integrar la IA con SQL mediante el uso de modelos de Machine Learning para puntuar los datos mediante la función PREDICT de T-SQL.
  • Utilizar modelos de ML con algoritmos de SparkML e integración de Azure Machine Learning para la compatibilidad de Apache Spark 2.4 con Linux Foundation Delta Lake.
  • Usar un modelo de recursos simplificado que evita tener que preocuparse por la administración de clústeres.
  • Procesar datos que requieran un inicio rápido de Spark y un escalado automático agresivo.
  • Procesar datos con .NET para Spark, para poder volver a usar la experiencia en C# y el código .NET existente en una aplicación Spark.
  • Trabajar con tablas definidas en el lago de datos, que Spark o Hive puedan utilizar sin problemas.
  • Usar SQL con Spark para explorar y analizar directamente los archivos Parquet, CSV, TSV y JSON almacenados en un lago de datos.
  • Habilitar una carga de datos rápida y escalable entre las bases de datos de SQL y de Spark.
  • Ingerir datos de más de 90 orígenes de datos.
  • Habilitar ETL "sin código" con actividades de flujo de datos.
  • Orquestar cuadernos, trabajos de Spark, procedimientos almacenados, scripts de SQL, etc.
  • Supervisar los recursos, el uso y los usuarios en SQL y Spark.
  • Usar el control de acceso basado en rol para simplificar el acceso a los recursos de análisis.
  • Escribir código SQL o Spark e integrarlo con procesos de CI/CD empresariales.

La arquitectura de Microsoft Azure Synapse es la siguiente:

Diagrama en el que se muestra la información general sobre la arquitectura de Azure Synapse

Para obtener más información sobre Microsoft Azure Synapse, consulte ¿Qué es Azure Synapse Analytics?

Azure SQL más Azure Machine Learning

Puede reemplazar la funcionalidad de Clústeres de macrodatos de SQL Server mediante una o varias opciones de base de datos de Azure SQL para los datos operativos y también con Microsoft Azure Machine Learning para las cargas de trabajo predictivas.

Azure Machine Learning es un servicio basado en la nube que se puede usar para todos los tipos de aprendizaje automático, desde el ML clásico hasta el aprendizaje profundo, supervisado y no supervisado. Independientemente de que prefiera escribir código de Python o de R con el SDK o trabajar con las opciones de los tipos sin código/código bajo en Studio, puede crear, entrenar y realizar un seguimiento de los modelos tanto de aprendizaje automático como de aprendizaje profundo en un área de trabajo de Azure Machine Learning. Con Azure Machine Learning, puede comenzar a entrenar en la máquina local y luego escalar horizontalmente a la nube. El servicio también interopera con herramientas aprendizaje profundo y de código abierto populares, como PyTorch, TensorFlow, scikit-learn y Ray RLlib.

Use Microsoft Azure Machine Learning para reemplazar a Clústeres de macrodatos de SQL Server 2019 cuando necesite:

  • Un entorno web basado en diseñador para Machine Learning: módulos de arrastrar y colocar para compilar los experimentos e implementar canalizaciones en un entorno de poco código.
  • Cuadernos de Jupyter Notebook: use nuestros cuadernos de ejemplo o cree los suyos propios para aprovechar los ejemplos del SDK para Python para el aprendizaje automático.
  • Scripts o cuadernos de R en los que usa el SDK para R para escribir su propio código, o use los módulos de R en el diseñador.
  • El acelerador de soluciones Many Models se basa en Azure Machine Learning y permite entrenar, usar y administrar cientos o incluso miles de modelos de Machine Learning.
  • Las extensiones de Machine Learning para Visual Studio Code (versión preliminar) proporcionan un entorno de desarrollo completo para crear y administrar proyectos de aprendizaje automático.
  • La interfaz de la línea de comandos (CLI) de Machine Learning, Azure Machine Learning, es una extensión de la CLI de Azure que proporciona comandos para administrarlos con los recursos de Azure Machine Learning desde la línea de comandos.
  • Integración con marcos de código abierto como PyTorch, TensorFlow y scikit-learn, entre muchos otros, para entrenar, implementar y administrar el proceso de aprendizaje automático de un extremo a otro.
  • Aprendizaje de refuerzo con Ray RLlib.
  • MLflow para realizar un seguimiento de las métricas e implementar modelos o Kubeflow para crear canalizaciones de flujos de trabajo de un extremo a otro.

La arquitectura de una implementación de Microsoft Azure Machine Learning es la siguiente:

Diagrama en el que se muestra la arquitectura de Azure Machine Learning de un área de trabajo y sus componentes

Para obtener más información sobre Microsoft Azure Machine Learning, vea Funcionamiento de Azure Machine Learning.

Azure SQL de Databricks

Puede reemplazar la funcionalidad de Clústeres de macrodatos de SQL Server mediante una o varias opciones de base de datos de Azure SQL para los datos operativos y también con Microsoft Azure Databricks para las cargas de trabajo de análisis.

Azure Databricks es una plataforma de análisis de datos optimizada para la plataforma de servicios en la nube de Microsoft Azure. Azure Databricks ofrece dos entornos para desarrollar aplicaciones con un uso intensivo de datos: Azure Databricks SQL Analytics y Azure Databricks Workspace.

Azure Databricks SQL Analytics proporciona una plataforma fácil de usar para analistas que desean ejecutar consultas SQL en su lago de datos, crear varios tipos de visualización para explorar los resultados de las consultas desde distintas perspectivas y crear y compartir paneles.

Azure Databricks Workspace proporciona un área de trabajo interactiva que permite la colaboración entre ingenieros de datos, científicos de datos e ingenieros de aprendizaje automático. Para una canalización de macrodatos, los datos (estructurados o sin formato) se ingieren en Azure mediante Azure Data Factory en lotes o transmitidos casi en tiempo real con Apache Kafka, Event Hubs o IoT Hub. Estos datos llegan a un lago de datos para un almacenamiento persistente a largo plazo en Azure Blob Storage o Azure Data Lake Storage. Como parte del flujo de trabajo de análisis, use Azure Databricks para leer datos de varios orígenes de datos y convertirlos en información importante mediante Spark.

Use Microsoft Azure Databricks para reemplazar a Clústeres de macrodatos de SQL Server 2019 cuando necesite:

  • Clústeres de Spark totalmente administrados con Spark SQL y DataFrames.
  • Streaming para el procesamiento y análisis de datos en tiempo real para aplicaciones analíticas e interactivas, integración con HDFS, Flume y Kafka.
  • Acceder a la biblioteca de Machine Learning que consta de algoritmos y utilidades de aprendizaje comunes, como la clasificación, la regresión, la agrupación en clústeres, el filtrado colaborativo, la reducción de dimensionalidad y las primitivas de optimización subyacentes.
  • Documentar el progreso en cuadernos en R, Python, Scala o SQL.
  • Visualizar datos en unos pocos pasos, mediante herramientas conocidas como Matplotlib, ggplot o d3.
  • Paneles interactivos para crear informes dinámicos.
  • GraphX, para gráficos y cálculo gráfico para una amplia gama de casos de uso, desde los análisis cognitivos hasta la exploración de datos.
  • Creación de clústeres en segundos, con clústeres de escalado automático dinámico, que se comparten entre equipos.
  • Acceder al clúster de programación mediante las API de REST.
  • Acceder inmediatamente a las últimas características de Apache Spark con cada versión.
  • Spark Core API: incluye compatibilidad con R, SQL, Python, Scala y Java.
  • Un área de trabajo interactiva de exploración y visualización.
  • Puntos de conexión SQL totalmente administrados en la nube.
  • Consultas SQL que se ejecutan en puntos de conexión SQL totalmente administrados con un tamaño acorde a la latencia de la consulta y el número de usuarios simultáneos.
  • Integración con Azure Active Directory.
  • Acceso basado en rol para tener permisos de usuario específicos para los cuadernos, los clústeres, los trabajos y los datos.
  • Acuerdos de Nivel de Servicio de clase empresarial.
  • Paneles para compartir información, donde se combinan visualizaciones y texto para compartir la información que se obtiene de las consultas.
  • Alertas que le ayudan a supervisar e integrar y a recibir notificaciones cuando un campo devuelto por una consulta alcanza un umbral. Úselas para supervisar su empresa o intégrelas en herramientas para iniciar flujos de trabajo, como la incorporación de usuarios o las incidencias de soporte técnico.
  • Seguridad empresarial, incluida la integración de Azure Active Directory, controles basados en roles y Acuerdos de Nivel de Servicio que protegen los datos y la empresa.
  • Integración con los servicios de Azure y los almacenes y las bases de datos de Azure, incluidos Synapse Analytics, Cosmos DB, Data Lake Store y Blob Storage.
  • Integración con Power BI y otras herramientas de BI, como Tableau Software.

La arquitectura de una implementación de Microsoft Azure Databricks es la siguiente:

Diagrama: arquitectura de un área de Azure Databricks y sus componentes y flujos de datos, desde personas a aplicaciones

Para más información sobre Microsoft Azure Databricks, consulte ¿Qué es la ingeniería y la ciencia de datos de Databricks?&

Híbrido

SQL Server 2022 (16.x) contiene una nueva característica que permite la conectividad entre las tablas de SQL Server y la plataforma Microsoft Azure Synapse, Azure Synapse Link para SQL. Azure Synapse Link para SQL Server 2022 (16.x) proporciona fuentes de cambios automáticas que capturan los cambios dentro de SQL Server y los cargan en Azure Synapse Analytics. Proporciona análisis casi en tiempo real y procesamiento transaccional y analítico híbrido con un impacto mínimo en los sistemas operativos. Una vez que los datos están en Synapse, puede combinarlos con muchos orígenes de datos diferentes, independientemente de su tamaño, escala o formato, y ejecutar análisis eficaces en todos ellos con la solución de su elección, como Azure Machine Learning, Spark o Power BI. Dado que las fuentes de cambios automatizadas solo insertan lo nuevo o diferente, la transferencia de datos se produce mucho más rápido y ahora ofrece información casi en tiempo real, con un impacto mínimo en el rendimiento de la base de datos de origen en SQL Server 2022 (16.x).

Para las cargas de trabajo operativas e incluso para la gran mayoría de las cargas de trabajo de análisis, SQL Server puede controlar tamaños de base de datos masivas. Para obtener más información sobre las especificaciones de capacidad máxima para SQL Server, consulte Límites de la capacidad de cálculo de cada edición de SQL Server. El uso de varias instancias de SQL Server en equipos independientes con solicitudes T-SQL con particiones habilita un entorno de escalabilidad horizontal para las aplicaciones.

El uso de PolyBase permite que la instancia de SQL Server consulte datos con T-SQL directamente desde SQL Server, Oracle, Teradata, MongoDB y Cosmos DB sin necesidad de instalar de forma independiente ningún software de conexión de cliente. También puede usar el conector ODBC genérico en una instancia basada en Microsoft Windows para conectarse a proveedores adicionales mediante controladores ODBC de terceros. PolyBase permite que las consultas T-SQL combinen los datos de orígenes externos con tablas relacionales en una instancia de SQL Server. Esto permite que los datos permanezcan en su ubicación y formato originales. Puede virtualizar los datos externos a través de la instancia de SQL Server, para que se puedan consultar in situ como cualquier otra tabla de SQL Server. SQL Server 2022 (16.x) también permite consultas ad-hoc y opciones de almacenamiento de hardware o software de copia de seguridad/restauración a través del almacén de objetos (mediante la API de S3).

Dos arquitecturas de referencia generales son usar SQL Server en un servidor independiente para consultas de datos estructurados y una instalación independiente de un sistema no relacional de escalabilidad horizontal (como Apache Hadoop o Apache Spark) para Link en Synapse local y, por otra parte, usar un conjunto de contenedores en un clúster de Kubernetes con todos los componentes de la solución.

Microsoft SQL Server en Windows, Apache Spark y Object Storage local

Puede instalar SQL Server en Windows o Linux y escalar verticalmente la arquitectura de hardware, aprovechando la funcionalidad de consulta object-storage de SQL Server 2022 (16.x) y la característica PolyBase para habilitar consultas en todos los datos del sistema.

La instalación y configuración de una plataforma de escalabilidad horizontal como Apache Hadoop o Apache Spark permite consultar datos no relacionales a gran escala. El uso de un conjunto central de sistemas Object-Storage compatibles con S3-API permite que tanto SQL Server 2022 (16.x) como Spark accedan al mismo conjunto de datos en todos los sistemas.

El conector de Apache Spark de Microsoft para SQL Server y Azure SQL también permite consultar datos directamente desde SQL Server mediante trabajos de Spark. Para más información sobre el conector de Apache Spark para SQL Server y Azure SQL, consulte Conector de Apache Spark: SQL Server y Azure SQL.

También puede usar el sistema de orquestación de contenedores de Kubernetes para la implementación. Esto habilita una arquitectura declarativa que se puede ejecutar de forma local o en cualquier nube que admita Kubernetes o la plataforma Red Hat OpenShift. Para más información sobre la implementación de SQL Server en un entorno de Kubernetes, consulte Implementación de un contenedor de SQL Server en Kubernetes con Azure Kubernetes Service (AKS) o Implementación de SQL Server 2019 en Kubernetes.

Use SQL Server y el entorno local de Hadoop o Spark para reemplazar a Clústeres de macrodatos de SQL Server 2019 cuando necesite:

  • Conservar toda la solución a nivel local.
  • Usar hardware dedicado para todas las partes de la solución.
  • Acceder a datos relacionales y no relacionales desde la misma arquitectura, en ambas direcciones.
  • Compartir un único conjunto de datos no relacionales entre SQL Server y el sistema no relacional de escalabilidad horizontal.

Realización de la migración

Una vez que elija una ubicación (en la nube o híbrida) para la migración, debe sopesar el tiempo de inactividad y los vectores de costo para determinar si ejecutará un nuevo sistema y moverá los datos del sistema anterior al nuevo en tiempo real (migración en paralelo), o bien una copia de seguridad y restauración, o un nuevo inicio del sistema desde orígenes de datos existentes (migración en contexto).

La siguiente decisión es reescribir la funcionalidad actual en el sistema mediante la nueva opción de arquitectura o mover la mayor parte del código posible al nuevo sistema. Aunque la elección anterior puede tardar más, le permite aprovechar los nuevos métodos, conceptos y ventajas que proporciona la nueva arquitectura. En ese caso, el acceso a los datos y los mapas de funcionalidad son las principales tareas de planeamiento en las que debe centrarse.

Si tiene previsto migrar el sistema actual con el mínimo cambio de código posible, la compatibilidad de lenguajes es en lo que debe centrarse principalmente para el planeamiento.

Migración del código

El siguiente paso consiste en auditar el código que usa el sistema actual y los cambios que necesita para ejecutarse en el nuevo entorno.

Hay dos vectores principales que se deben tener en cuenta para la migración del código:

  1. Orígenes y receptores
  2. Migración funcional

Orígenes y receptores

La primera tarea de la migración del código consiste en identificar los métodos, las cadenas o las API de conexión del origen de datos que usa el código para acceder a los datos que se importan, su ruta de acceso y su destino final. Documente esos orígenes y cree un mapa para las ubicaciones de la nueva arquitectura.

  • Si la solución actual usa un sistema de canalización para mover los datos a través del sistema, asigne los nuevos orígenes de arquitectura, pasos y receptores a los componentes de la canalización.
  • Si la nueva solución también reemplaza la arquitectura de canalización, trate el sistema como una nueva instalación con fines de planeamiento, incluso si va a volver a usar el hardware o la plataforma en la nube como una opción alternativa.

Migración de funcionalidades

El trabajo más complejo necesario en una migración es actualizar o crear la documentación de la funcionalidad del sistema actual o hacer referencia a ella. Si planea una actualización local e intenta reducir la cantidad de reescritura de código tanto como sea posible, este paso llevará más tiempo.

Sin embargo, una migración a partir de una tecnología anterior suele ser un momento óptimo para actualizarse con los últimos avances tecnológicos y beneficiarse de las construcciones que esto proporciona. Una reescritura del sistema actual suele proporcionar más seguridad, rendimiento e incluso opciones de características, e incluso optimizaciones de costos.

En cualquier caso, hay dos factores principales implicados en la migración: el código y los lenguajes que admite el nuevo sistema y las opciones en torno al movimiento de datos. Normalmente, debería poder cambiar simplemente las cadenas de conexión del clúster de macrodatos actual a la instancia de SQL Server y el entorno de Spark. La información sobre la conexión de datos y la transferencia de código deben ser mínimas.

Si pretende realizar una reescritura de la funcionalidad actual, asigne las nuevas bibliotecas, paquetes y DLL a la arquitectura que eligió para la migración. Encontrará una lista de cada una de las bibliotecas, lenguajes y funciones que ofrece cada solución en la documentación de referencia que se muestra en las secciones anteriores. Asigne los lenguajes sospechosos o no admitidos y planee la sustitución por la arquitectura elegida.

Opciones para la migración de datos

Hay dos enfoques comunes para el movimiento de datos en un sistema analítico a gran escala. El primero consiste en crear un proceso de "transferencia" en el que el sistema original continúe procesando los datos, de tal forma que esos datos se acumulen en un conjunto más pequeño de orígenes de datos de informes agregados. A continuación, el nuevo sistema comienza con datos nuevos y se usa a partir de la fecha de migración.

En algunos casos, todos los datos deben transferirse del sistema heredado al nuevo. En este caso, puede montar los almacenes de archivos originales desde Clústeres de macrodatos de SQL Server si el nuevo sistema lo admite y, a continuación, copiar los datos en el nuevo sistema, o bien puede crear una transferencia física.

La migración de los datos actuales de Clústeres de macrodatos de SQL Server 2019 a otro sistema depende en gran medida de dos factores: la ubicación de los datos actuales y que el destino sea local o en la nube.

Migración de datos locales

Para las migraciones entre entornos locales, puede migrar los datos de SQL Server con una estrategia de copia de seguridad y restauración, o bien puede configurar la replicación para mover algunos o todos los datos relacionales. También se puede usar SQL Server Integration Services para copiar datos de SQL Server a otra ubicación. Para obtener más información sobre cómo mover datos con SSIS, consulte SQL Server Integration Services.

Para los datos de HDFS del entorno actual de los clústeres de macrodatos de SQL Server, el enfoque estándar es montar los datos en un clúster de Spark independiente y usar el proceso de Object Storage para mover los datos para que una instancia de SQL Server 2022 (16.x) pueda acceder a ellos o dejarlos tal y como están y continuar procesándolos con trabajos de Spark.

Migración de datos a la nube

Para los datos ubicados en un almacenamiento en la nube o en un entorno local, puede usar Azure Data Factory, que tiene más de 90 conectores para una canalización completa de transferencia, con programación, supervisión, alertas y otros servicios. Para obtener más información sobre Azure Data Factory, consulte ¿Qué es Azure Data Factory?

Si desea mover grandes cantidades de datos de forma segura y rápida desde el almacenamiento de datos local a Microsoft Azure, puede usar el servicio Azure Import/Export. El servicio Azure Import/Export se usa para importar de forma segura grandes cantidades de datos a Azure Blob Storage y Azure Files mediante el envío de unidades de disco a un centro de datos de Azure. También se puede usar este servicio para transferir datos desde Azure Blob Storage hasta las unidades de disco y enviarlas al sitio local. Se pueden importar los datos de una o varias unidades a Azure Blob Storage o Azure Files. Para volúmenes de datos muy grandes, el uso de este servicio puede ser la ruta de acceso más rápida.

Si desea transferir datos con los discos proporcionados por Microsoft, puede usar Azure Data Box Disk para importar datos en Azure. Para obtener más información, vaya a ¿Qué es el servicio Azure Import/Export?

Para más información sobre estas opciones y las decisiones relacionadas, consulte Uso de Azure Data Lake Storage Gen1 para requisitos de macrodatos.

Referencias

Recursos

  • La comunidad de la arquitectura de datos de Azure tiene un foro, blogs, artículos y otra información que pueden resultar útiles para diseñar una arquitectura de macrodatos. Para acceder a esta comunidad, consulte el espacio de discusión sobre la arquitectura de datos.