Describir SQL Edge
Muchas organizaciones tienen inversiones sustanciales en la infraestructura de IoT. Una arquitectura de solución de IoT típica incluye dispositivos IoT responsables de leer sensores ambientales para generar datos de los clientes. Normalmente, estos datos se procesan en el sitio mediante dispositivos Edge. Además, un dispositivo de IoT Edge puede ejecutar contenedores compatibles con Docker que contengan lógica de negocios personalizada o versiones ligeras de servicios en la nube, como Azure Stream Analytics, Azure Machine Learning, Azure Functions, Azure SQL, etc. La ventaja de IoT Edge es que el procesamiento se produce en la red local, lo que da lugar a un bucle de comentarios más rápido si es necesario realizar cualquier acción, al mismo tiempo que se minimizan los costos de ancho de banda y procesamiento en la nube.
Azure SQL Edge es un motor de base de datos relacional optimizado diseñado específicamente para cargas de trabajo de IoT. Proporciona funcionalidades para transmitir, procesar y analizar datos relacionales y no relacionales, como JSON, grafos y datos de serie temporal. Azure SQL Edge se basa en la versión más reciente del SQL Server Motor de base de datos: el mismo motor que sirve como base de SQL Server y Azure SQL. Azure SQL Edge aporta funcionalidades de programación de T-SQL, rendimiento líder del sector, seguridad y procesamiento de consultas al perímetro.
Ventajas
Sintaxis y herramientas de T-SQL conocidas
Los desarrolladores y administradores de SQL pueden seguir aprovechando la conocida sintaxis y herramientas de T-SQL, ya que Azure SQL Edge se basa en el Motor de base de datos de SQL Server. Las herramientas disponibles incluyen Azure Portal, SQL Server Management Studio, Azure Data Studio, Visual Studio Code y SQL Server Data Tools en Visual Studio.
Portabilidad
Azure SQL Edge es una versión en contenedor del Motor de base de datos de SQL Server optimizada para IoT. Azure SQL Edge se puede implementar en varios servidores basados en Windows y Linux capaces de ejecutar el entorno de ejecución de IoT Edge, que van desde servidores completos eficaces hasta dispositivos basados en ARM más pequeños.
Compatibilidad con varios estados de conexión y sincronización de datos
En IoT, la conectividad a Internet no siempre es posible ni confiable. Por lo tanto, los módulos de IoT Edge deben admitir todos los estados de conectividad. Azure SQL Edge admite escenarios conectados, desconectados e híbridos semiconectados. La sincronización de datos incrementales es posible con el servicio Azure SQL Data Sync y la configuración de grupos de sincronización para sincronizar las tablas que elija bidireccionalmente entre varias bases de datos en Azure SQL e instancias de SQL Server.
El siguiente diagrama representa visualmente el modelo de sincronización personalizada. El proceso de sincronización usa un agente de sincronización en Azure SQL Edge para sincronizar datos con la base de datos central. Desde la perspectiva del centro, el proceso de sincronización se controla mediante una aplicación de sincronización guiada por los detalles disponibles en la base de datos de sincronización, donde se almacenan los metadatos y los registros de sincronización.
Streaming de datos integrado y aprendizaje automático
Azure SQL Edge tiene compatibilidad integrada con el streaming de datos hacia y desde varias entradas y salidas. Esta funcionalidad toma prestada la misma tecnología que impulsa Azure Stream Analytics y permite la introspección de los datos de serie temporal entrantes mediante la detección de anomalías, la ventana de tiempo, la agregación y el filtrado. Azure SQL Edge también tiene funciones de T-SQL que admiten la consulta de datos de serie temporal. Además, Azure SQL Edge admite la inferencia de aprendizaje automático y la instrucción PREDICT
.
Consideraciones sobre la seguridad
La seguridad en Azure SQL Edge aporta controles de cifrado, clasificación y acceso de datos desde el SQL Server Motor de base de datos. Además, Azure SQL Edge proporciona seguridad de nivel de fila, enmascaramiento dinámico de datos y cifrado de datos transparente (TDE) como una ventaja de seguridad adicional. También es beneficioso cifrar los archivos de copia de seguridad creados mediante un certificado o una clave asimétrica.
En cuanto al transporte de red, Azure SQL Edge utiliza la seguridad de la capa de transporte (TLS) y los certificados para cifrar toda la comunicación. Por último, Microsoft Defender para IoT proporciona una solución de seguridad centralizada y unificada para detectar e identificar dispositivos IoT, vulnerabilidades y amenazas. Al igual que con cualquier solución relacionada con los datos, también es prudente asegurarse de que a los usuarios de la base de datos se les concede el privilegio mínimo en los objetos de base de datos.
Implementación de Azure SQL Edge desde el Azure Marketplace
Azure SQL Edge está disponible en el Azure Marketplace con dos planes, Azure SQL Desarrollador de Edge (solo para desarrollo, limitado a 4 núcleos y 32 GB de memoria) y Azure SQL Edge (para producción, limitado a 8 núcleos y 64 GB de memoria).
Como requisito previo para implementar Azure SQL Edge, debe tener un IoT Hub aprovisionado con al menos un dispositivo IoT Edge. En este ejemplo, se ha aprovisionado previamente un IoT Hub denominado org-iot-hub y un dispositivo de IoT Edge basado en Linux denominado iot-edge-device-1.
Busque el módulo Azure SQL Edge en el Azure Marketplace y seleccione el botón Obtener ahora.
En el formulario modal, seleccione la SKU de plan de software deseada. En este ejemplo, se elige Azure SQL Desarrollador de Edge. A continuación, rellene cualquier otra información de perfil requerida por el formulario y seleccione Continuar.
En la pantalla Dispositivos de destino para Módulos de IoT Edge, escriba el valor de IoT Edge Nombre del dispositivo manualmente o use la funcionalidad Buscar dispositivo para buscar el dispositivo perimetral en el IoT Hub seleccionado. En este ejemplo, el nombre del dispositivo Edge es iot-device-edge-1. A continuación, seleccione el botón Crear.
En la hoja Establecer módulos en el dispositivo, elija el elemento AzureSQLEdge en Módulos de IoT Edge.
En la hoja Actualizar Módulo de IoT Edge, seleccione la pestaña Variables de entorno. A continuación, reemplace la contraseña de la cuenta de administrador de SQL Edge estableciendo el valor de la variable MSSQL_SA_PASSWORD. Opcionalmente, agregue opciones de configuración en la pestaña Opciones de creación de Container. Una vez completado, seleccione el botón Actualizar.
Si vuelve al panel Establecer módulos en el dispositivo, puede configurar el enrutamiento de mensajes para el módulo debajo de la pestaña Rutas. Una vez completado, seleccione Revisar y crear y Crear una vez más en la pantalla de validación.
Se mostrará la pantalla del dispositivo de IoT Edge. Espere unos instantes y la lista de módulos notificados del dispositivo mostrará AzureSQLEdge en un estado en ejecución. Si el inicio del módulo no está completo, indicará temporalmente un estado de error: espere unos minutos y actualice.
Use el método de conexión deseado y empiece a usar Azure SQL Edge.