Azure SQL Database Edge: cómo implementar, realizar copias de seguridad y restaurar

agosto 12

Azure SQL Database Edge enables you to create high-performance data storage and processing layers for Internet of Things (IoT) and IoT Edge workloads. SQL Edge provides capabilities for streaming and analyzing relational and non-relational data.  

SQL Edge está disponible a través de Azure Marketplace, como un módulo para Azure IoT Edge, y en dos versiones: Azure SQL Edge para implementaciones de producción y Azure SQL Edge Developer solo para desarrollo. 

 

En este artículo, aprenderá: 

Concepto de red global. IoT (Internet de las cosas). TIC (Red de Comunicación de la Información). Red de dispositivos físicos con conectividad de red

¿Qué es Azure SQL Database Edge? 

Azure SQL Database Edge is an optimized database engine for Internet of Things (IoT) and IoT Edge workloads that require almacenamiento distribuido estrategias. También se conoce como SQL Edge.  

The SQL Edge engine enables you to create a high-performance processing and data storage layer for your IoT devices and applications. It includes features for streaming, processing, and analyzing relational and non-relational data, including time-series, graph, and JSON data.  

SQL Edge se basa en el mismo motor que Base de datos SQL de Azure. Esto le permite proporcionar funcionalidad y portabilidad de T-SQL entre sus recursos en la nube, centros de datos y dispositivos IoT Edge.  

You can access SQL Edge through the Azure Marketplace, where it is available as a module for Azure IoT Edge. You can choose from two editions that differ based on the CPU and memory resources you need and your required usage rights. 

 

Estas versiones son:  

  • Azure SQBorde L: Destinado a las implementaciones de producción. Esta versión proporciona acceso a contenedores Edge con hasta ocho núcleos de CPU y 64 GB de memoria.  
  • Desarrollador de Azure SQL Edge—meant for development only. This version provides access to Edge containers with up to four CPU cores and 32GB of memory.  


Características de Azure SQL Edge 

Dos capacidades principales hacen que Azure SQL Database Edge se destaque: su capacidad para transmitir datos y sus características de aprendizaje automático. 

 

Capacidades de transmisión 

SQL Edge incluye funciones integradas para la transmisión que puede aplicar al procesamiento de eventos complejos y al análisis en tiempo real. Estas características están diseñadas para brindar resistencia, uso eficiente del ancho de banda, baja latencia y cumplimiento.  

These features are based on the same design as Azure Stream Analytics. Features provide similar capabilities to those available through the Azure Stream Analytics on IoT Edge service. 

 

Capacidades de aprendizaje automático 

Azure SQL Database Edge includes built-in analytics and machine learning (ML) features based on the Open Neural Network Exchange (ONNX) runtime. This format enables you to exchange neural network and deep learning models between ML frameworks.  

Using the ONNX runtime, you can flexibly develop ML models using the tools and languages of your choice. Once completed, you can then convert these models with ONNX and execute them in SQL Edge.

 

Cómo implementar Azure SQL Edge 

Below is a brief tutorial showing how to deploy SQL Edge to your cloud environment. This tutorial is adapted from a more detailed walkthrough in the Azure documentation. You can find this walkthrough aquí.  

 

Prerrequisitos 

Before you can get started deploying Azure SQL Database Edge, there are a few prerequisites you need to take care of. These include: 

  • Having an active Azure subscription. If you need an account, free trial accounts are available. 
  • Iniciar sesión en el portal de Azure. 
  • Creating an Azure IoT Hub to serve as a backend for your devices. You can create this hub through the Azure Portal from the Marketplace. 
  • Registro de su dispositivo IoT Edge en su hub. Puede registrar su dispositivo a través del Portal, en Visual Studio Code o mediante la CLI. 
  • Preparing your IoT Edge device to deploy the Edge modules of your choice. You can add modules to your device through the Portal. 

 

Implementación de Azure SQL Edge 

Una vez que se cumplan los requisitos previos, siga los siguientes pasos para implementar SQL Edge en sus dispositivos.  

  1. En elMercado, encuentra el Azure SQL Módulo de borde.
  1. Encuentre la opción que se adapte a sus necesidades y seleccioneCrear.
  1. En elDispositivos de destino para el módulo IoT Edge pantalla, defina lo siguiente. Cuando termine, elija Crear
  • Suscripción—ties the module to your subscription. This should match the subscription used for your IoT Hub. 
  • IoT Hub: El concentrador donde está registrado el dispositivo previsto. Debe elegir la opción de "implementar en un dispositivo".  
  • Nombre del dispositivo de IoT Edge—the name of the device you want to deploy SQL Edge to.
  1. En la sección de módulos de implementación delEstablecer módulos página, haga clic en el Configurar junto al módulo SQL Edge.
  1. Navega hasta elIoT Edge personalizado Módulos screen. In this pane, you need to define your environmental variables and set the properties and create options for your module. These include your password, SQL Server language, and collation settings.
  1. On the same screen, define the correctHostPort for your container. If you are deploying more than one module, you also need to update your mount option so a new source and target pair are created for your persistent volumes. 

Puede ver un ejemplo del archivo JSON que define estas configuraciones a continuación:  

  {
"HostConfig": {
"Binds": [
"sqlvolume:/sqlvolume"
],
"PortBindings": {
"1433/tcp": [
{
"HostPort<": "1433"
}
]
},
"Mounts": [
{
"Type": "volume",
"Source": "sqlvolume",
"Target": "/var/opt/mssql"
}
]
},
"Env": [
"MSSQL_AGENT_ENABLED=TRUE",
"MSSQL_PID=Developer"
]
}
  1. A continuación, todavía en elMódulos personalizados de IoT Edge pantalla, configure lo siguiente y elija Ahorrar. 
  • Desirestado ed a correr  
  • Política de reinicio para siempre
  1. Debería ser llevado alEstablecer módulos página. Hacer clic próximo y especifique su módulo a módulo y módulo a rutas de concentrador. Una vez hecho esto, puede hacer clic en próximo y entonces Enviar para finalizar su implementación.
     

Cómo realizar copias de seguridad y restaurar bases de datos en Azure SQL Edge 

Azure SQL Database Edge se basa en la versión más reciente del motor de base de datos de Linux SQL Server (obtenga más información sobre cómo ejecutar Cargas de trabajo de Linux en Azure). Esta base compartida permite realizar copias de seguridad y restaurar su base de datos SQL Edge como cualquier otra base de datos SQL.  

Backing up your SQL Edge deployment helps you minimize the chance of data loss and preserves versions prior to modifications. This preservation can help you rollback changes made in error and enable recovery from database failures.  

 

Copia de seguridad en disco local 

To backup your database to a local disk, you can use the T-SQL BACKUP DATABASE command. Below is a quick guide how to perform a backup with this method. 

 

  1. Start by creating a folder for your backups in the container you are backing up. Then, on the host where your instance is running, execute the following command. Be sure to substitute your container name where indicated.

sudo docker exec -it yourEdgeContainer mkdir /var/opt/mssql/backup 

 

  1. Through Azure Data Studio or the SQL Server Management Studio (SSMS), connect to your Edge instance. Once connected, run the following command with the proper substitutions:
BACKUP DATABASE [yourDatabaseName]
TO DISK = N'/var/opt/mssql/backup/yourDatabaseBackup.bak'  
WITH NOFORMAT, NOINIT, NAME = N'yourDatabaseName-Full Database Backup', 
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO

 
  1. As long as the command is executed successfully, you should see an output similar to the following in the results section of the tool you used.
10 percent processed. 
... 
... 
100 percent processed. 
Processed 51652 pages for database 'yourDatabaseName', file 'yourDatabaseName' on file 1. 
Processed 2 pages for database 'yourDatabaseName', file 'yourDatabaseName_log' on file 1. 
BACKUP DATABASE successfully processed 51652 pages in 3.658 seconds (114.451 MB/sec. 
 
Restaurar desde un disco local 

Once backups are made, you can then restore those backups when needed. You can also use backups to create mirrored databases for testing or development.  

If your backup file isn’t already stored in your target container, move the file there first. You can then connect to your SQL Edge instance using the same method as you used to create the backup. Once connected, run the following command, substituting your resource and file names where indicated.  
 
Restore FilelistOnly from disk = N'/var/opt/mssql/backup/yourDatabaseBackup.bak'
Restore Database yourDatabaseName_2 
From disk = N'/var/opt/mssql/backup/yourDatabaseBackup.bak' 
WITH MOVE 'yourDatabaseName' TO '/var/opt/mssql/data/yourDatabaseName_Primary_2.mdf', 
MOVE 'yourDatabaseName_log' TO '/var/opt/mssql/data/yourDatabaseName_Primary_2.ldf'

 

¿Cómo se puede utilizar el procesamiento de bordes?

En algunos casos, los dispositivos de borde tienen capacidad de procesamiento adicional y un pequeño almacenamiento local que se puede utilizar adicionalmente. En tal situación, puede ser mejor utilizar una base de datos enfocada en el borde de IoT como la de Raima. Administrador de bases de datos Raima (RDM) para utilizar los recursos de manera aún más eficiente que solo usar Azure SQL Database Edge.

RDM allows for the application developer to run a very small footprint database on the resource-constrained edge device.  They can do some local processing of the data before sending it over to be consumed on the Azure instance. This reduces the amount of data being transferred over the network.  Additionally, RDM allows for some local calculations from the application with a live set of data and data buffering/backup to occur should there be a connection interruption. Using RDM gives more flexibility to the developer in terms of what their applications can do without a dependency on maintaining a connection to an Azure instance.

 

Conclusión 

Azure SQL Database Edge comes with a set of powerful capabilities, which you can leverage to stream and analyze IoT and edge data. SQL Edge is based on the same engine as Azure SQL Database, and provides portability across cloud resources, as well as connected data sources and devices. The brief tutorial in this article should provide you with the basic principles of deploying Azure SQL Edge, as well as backing up and restoring your data. If a data connection is unreliable or there is a need for local device processing, Raima’s RDM may be a better fit than Azure as well. For more information, you can check out the official documentation.  

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.