Importante: Se aplica a SQL Server 2019.
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 para permitir leer, escribir y procesar macrodatos desde Transact-SQL o Spark, lo que permite combinar y analizar fácilmente los datos relacionales de alto valor con grandes volúmenes de datos.
En el siguiente diagrama podrás ver los componentes de un clúster de macrodatos de SQL Server:
El controlador proporciona administración y seguridad para el clúster. Contiene el servicio de control, el almacén de configuración y otros servicios a nivel de clúster, como Kibana, Grafana y Elastic Search.
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
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.
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.
Este grupo permite la implementación de aplicaciones en clústeres de macrodatos de SQL Server, proporcionando interfaces para crear, administrar y ejecutar aplicaciones.
Los clústeres de macrodatos de SQL Server ofrecen flexibilidad a la hora de interactuar con los macrodatos. Estos son capaces de consultar orígenes de datos externos, almacenar macrodatos en HDFS administrados por SQL Server o consultar datos de varios orígenes de datos externos, permitiendo también usar los datos en tareas de inteligencia artificial, aprendizaje automático y otras tareas de análisis.
Con los clústeres de macrodatos de SQL Server podrás:
· Implementar clústeres escalables de contenedores de SQL Server, Spark y HDFS ejecutados 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.
· Implementar y ejecutar aplicaciones en clústeres de macrodatos.
· Virtualizar datos con PolyBase. Consulta datos de orígenes de datos externos de SQL Server, Oracle, Teradata, MongoDB y ODBC genérica con tablas externas.
· Proporcionar alta disponibilidad para la instancia maestra de SQL Server y todas las bases de datos mediante la tecnología de grupos de disponibilidad AlwaysOn.
Gracias a 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 presenta nuevos conectores para los orígenes de datos.
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.
Los clústeres de macrodatos de SQL Server permiten tareas de inteligencia artificial y aprendizaje automático en los datos almacenados en los grupos de almacenamiento HDFS y en losgrupos de datos. Puede usar Spark, así como las herramientas de inteligencia artificial integradas en SQL Server usando R, Python, Scala o Java.
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).
Un clúster de Big Data de SQL Server es un Clúster de contenedores de código abierto orquestados por Kubernetes.
Kubernetes puede escalar las implementaciones de contenedores según las necesidades. La siguiente tabla define algunos términos importantes:
| Término | Descripción |
|---|---|
| Cluster | 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, mientras que los nodos restantes pasan a ser nodos trabajadores. Este nodo maestro será responsable de distribuir el trabajo entre los nodos trabajadores y de monitorear 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áquinas físicas y máquinas virtuales. |
| Pod | Se trata de 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 y este puede ejecutar uno o más pods. El maestro de Kubernetes asigna automáticamente pods a los nodos del clúster. |
En SQL Server Big Data Clusters, Kubernetes es responsable del estado del clúster. Kubernetes construye y configura los nodos del clúster, asigna pods a los nodos y monitorea el estado del clúster.
Los clústeres de Big Data requieren un conjunto específico de herramientas de cliente. Antes de implementar un clúster de este tipo en Kubernetes, debes instalar herramientas específicas para su implementación según el escenario en cuestión. Obten una lista completa de herramientas y enlaces de instalación, accediendo a Instalar herramientas de Big Data de SQL Server 2019.
Los clústeres de big data se implementan como una serie de contenedores interrelacionados que se administran en Kubernetes . Puede alojar Kubernetes de diversas formas. Incluso si ya tiene un entorno Kubernetes existente, debe revisar los requisitos relacionados para los clústeres de big data.
· Servicio Azure Kubernetes (AKS):Te permite implementar un clúster de Kubernetes administrado en Azure. Solo tendrás que gestionar y mantener los nodos del agente, sin la necesidad de aprovisionar el propio hardware para el clúster. También tienes la posibilidad de utilizar un Script de Python o un Cuaderno de implementación para crear el clúster de AKS e implementar el clúster de Big Data en un solo paso.
· Azure Red Hat OpenShift (ARO): ARO permite implementar un clúster de Red Hat OpenShift administrado en Azure. Como en AKS, sólo tendrás que administrar y mantener los nodos del agente y tampoco es necesario aprovisionar el propio hardware para el clúster. Para este caso también podrás utilizar un Script de Python para crear el clúster de ARO e implementar el clúster de Big Data en un solo paso. Comentar que este modelo de implementación se presenta en SQL Server 2019 CU5.
· Varias máquinas: También puedes implementar Kubernetes en varias máquinas Linux, que podrían ser servidores físicos o máquinas virtuales. La herramienta kubeadm se puede usar para crear el clúster de Kubernetes. Puedes usar un Script de Bash para automatizar este tipo de implementación. Este método funciona bien si ya tienes una infraestructura existente que quieres usar para el clúster de Big Data.
· Red Hat OpenShift: Implementación en tu propio clúster de Red Hat OpenShift. Este modelo de implementación se presenta en SQL Server 2019 CU5.
Después de configurar Kubernetes, tendrás que implementar un clúster de Big Data con el comando azdata bdc create. Al implementar, podrás optar por las siguientes opciones.
· Si vas a implementar un entorno de desarrollo y pruebas, puedes optar por usar una de las configuraciones predeterminadas que proporciona azdata.
· Para personalizar la implementación, puedes crear y usar tus propios archivos de configuración de implementación.
· En el caso de una instalación completamente desatendida, puedes pasar todas las demás configuraciones en variables de entorno. Para obtener más información, consulta implementaciones desatendidas.
Los scripts de implementación pueden ayudar a implementar tanto Kubernetes como clústeres de Big Data en un solo paso. También suelen proporcionar valores predeterminados para la configuración.
Scripts de implementación disponibles:
· Script de Python: Implementación de un clúster de Big Data en Azure Kubernetes Service (AKS).
· Script Bash:Implementación de un clúster de Big Data en un clúster kubeadm de un solo nodo.
También puedes implementar un clúster de Big data ejecutando un cuaderno de Azure Data Studio. Para obtener más información sobre cómo usar un cuaderno para implementar en AKS, consulta el siguiente artículo de Microsoft:
· Implementa un clúster de big data con Azure Data Studio Notebooks.
Conoce la solución de Microsoft para el gobierno de datos. Con ella podrás administrar y controlar los datos de tu entorno de una manera fácil y unificada.
¿Quieres conocer en detalle todos los sistemas de almacenes de datos disponibles? ¡Adelante!