Introducción a Clústeres de macrodatos de SQL Server

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

Importante

El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 se va a retirar. La compatibilidad con Clústeres de macrodatos de SQL Server 2019 finalizará el 28 de febrero de 2025. 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 más información, consulte la entrada de blog sobre el anuncio y Opciones de macrodatos en la plataforma Microsoft SQL Server.

En SQL Server 2019 (15.x), los clústeres de macrodatos de SQL Server permiten implementar clústeres escalables de contenedores de SQL Server, Spark y HDFS que se ejecutan en Kubernetes. Estos componentes se ejecutan en paralelo con objeto de que se puedan leer, escribir y procesar macrodatos de Transact-SQL o Spark, lo que permite combinar y analizar fácilmente los datos relacionales de alto valor con grandes volúmenes de datos.

Introducción

Arquitectura de clústeres de macrodatos

En el diagrama siguiente se muestran los componentes de un clúster de macrodatos de SQL Server:

Introducción a la arquitectura de clústeres de macrodatos

Controller

El controlador 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

El grupo de proceso proporciona recursos de cálculo al 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.

Grupo de datos

El grupo de datos se usa para la persistencia de datos. 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.

Bloque 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 de SQL Server son miembros de un clúster de HDFS.

Sugerencia

Para obtener una visión detallada de la arquitectura y la instalación del clúster de macrodatos, consulte Taller: Arquitectura de los clústeres de macrodatos de Microsoft SQL Server.

Grupo de aplicaciones

La implementación de la aplicación permite la implementación de aplicaciones en Clústeres de macrodatos de SQL Server proporcionando interfaces para crear, administrar y ejecutar aplicaciones.

Escenarios y características

Los clústeres de macrodatos de SQL Server ofrecen flexibilidad a la hora de interactuar con los macrodatos. Puede consultar orígenes de datos externos, almacenar macrodatos en HDFS administrados por SQL Server o consultar datos de varios orígenes de datos externos a través del clúster. Luego puede usar los datos en tareas de inteligencia artificial, aprendizaje automático y otras tareas de análisis.

Use los clústeres de macrodatos de SQL Server para:

  • Implementación de clústeres escalables de contenedores de SQL Server, Spark y HDFS que se ejecutan en Kubernetes.
  • Leer, escribir y procesar macrodatos desde Transact-SQL o Spark.
  • Combinar y analizar de forma sencilla datos relacionales de alto valor con macrodatos de gran volumen.
  • Consultar orígenes de datos externos.
  • Almacenar macrodatos en HDFS administrados mediante SQL Server.
  • Consultar datos de varios orígenes de datos externos a través del clúster.
  • Usar los datos para tareas de inteligencia artificial, aprendizaje automático y otras tareas de análisis.
  • Implementación y ejecución de aplicaciones en clústeres de macrodatos.
  • Virtualización de datos con PolyBase. Consulte datos de orígenes de datos externos de SQL Server, Oracle, Teradata, MongoDB y ODBC genérica con tablas externas.
  • Proporcione alta disponibilidad para la instancia maestra de SQL Server y todas las bases de datos mediante la tecnología de grupos de disponibilidad AlwaysOn.

En las secciones siguientes se proporciona más información sobre estos escenarios.

Virtualización de datos

Al aprovechar PolyBase, los clústeres de macrodatos SQL Server pueden consultar orígenes de datos externos sin tener que mover o copiar los datos. SQL Server 2019 (15.x) presenta nuevos conectores para los orígenes de datos. Para más información, consulte Novedades de PolyBase 2019.

Virtualización de datos

Data Lake

Un clúster de macrodatos de SQL Server incluye un bloque de almacenamiento de HDFS escalable. Se puede usar para almacenar macrodatos, que pueden ingerirse de varios orígenes externos. Una vez que los macrodatos se almacenan en HDFS en el clúster de macrodatos, se puede analizar y consultar los datos y combinarlos con los datos relacionales.

Data Lake

IA y Machine Learning integradas

Los clústeres de macrodatos de SQL Server permiten realizar tareas de aprendizaje automático y de inteligencia artificial en los datos almacenados en grupos de almacenamiento de HDFS y en los grupos de datos. Puede usar Spark y las herramientas de inteligencia artificial integradas en SQL Server, con R, Python, Scala o Java.

IA y ML

Administración y supervisión

Se ofrece administración y supervisión mediante una combinación de herramientas de línea de comandos, interfaces API, portales y vistas de administración dinámica.

Puede usar Azure Data Studio para realizar diversas tareas en el clúster de macrodatos:

  • Fragmentos de código integrados para las tareas de administración comunes.
  • Capacidad de examinar HDFS, cargar archivos, obtener una vista previa de los archivos y crear directorios.
  • Capacidad para crear, abrir y ejecutar cuadernos compatibles con Jupyter.
  • Asistente para la virtualización de datos para simplificar la creación de orígenes de datos externos (habilitado por la Extensión de virtualización de datos).

Conceptos de Kubernetes

Un clúster de macrodatos SQL Server es un clúster de contenedores de Linux organizados por Kubernetes.

Kubernetes es un orquestador de contenedores de código abierto, que puede escalar las implementaciones de contenedores según sea necesario. En la tabla siguiente se define alguna terminología importante de Kubernetes:

Término Descripción
Clúster Un clúster de Kubernetes es un conjunto de máquinas, conocidas como nodos. Un nodo controla el clúster y se designa como nodo maestro; los nodos restantes son nodos de trabajo. El maestro de Kubernetes es responsable de distribuir el trabajo entre los nodos de trabajo y de supervisar el estado del clúster.
Node Un nodo ejecuta aplicaciones en contenedores. Puede ser una máquina física o una máquina virtual. Un clúster de Kubernetes puede contener una combinación de nodos de máquina física y de máquina virtual.
Pod Un pod es la unidad de implementación atómica de Kubernetes. Un pod es un grupo lógico de uno o más contenedores y recursos asociados necesarios para ejecutar una aplicación. Cada pod se ejecuta en un nodo; un nodo puede ejecutar uno o varios pods. El maestro de Kubernetes asigna pods automáticamente a los nodos del clúster.

En los clústeres de macrodatos de SQL Server, Kubernetes es responsable del estado del clúster. Kubernetes compila y configura los nodos del clúster, asigna pods a los nodos y supervisa el estado del clúster.

Pasos siguientes

Más información

Módulos de aprendizaje de tecnologías relacionadas: