Azure SQL Database Edge: Bereitstellen, Sichern und Wiederherstellen

August 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 ist über den Azure Marketplace als Modul für Azure IoT Edge und in zwei Versionen verfügbar: Azure SQL Edge für Produktionsbereitstellungen und Azure SQL Edge Developer nur für die Entwicklung. 

 

In diesem Artikel erfahren Sie: 

Globales Netzwerkkonzept. IoT (Internet der Dinge). IKT (Informationskommunikationsnetz). Netzwerk physischer Geräte mit Netzwerkkonnektivität

Was ist Azure SQL Database Edge? 

Azure SQL Database Edge is an optimized database engine for Internet of Things (IoT) and IoT Edge workloads that require verteilter Speicher Strategien. Es wird auch als SQL Edge bezeichnet.  

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 basiert auf derselben Engine wie Azure SQL-Datenbank. Auf diese Weise können T-SQL-Funktionen und Portabilität zwischen Ihren Cloud-Ressourcen, Rechenzentren und IoT Edge-Geräten bereitgestellt werden.  

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. 

 

Diese Versionen sind:  

  • Azure SQL Kante- Für Produktionsbereitstellungen gedacht. Diese Version bietet Zugriff auf Edge-Container mit bis zu acht CPU-Kernen und 64 GB Speicher.  
  • Azure SQL Edge-Entwickler—meant for development only. This version provides access to Edge containers with up to four CPU cores and 32GB of memory.  


Azure SQL Edge-Funktionen 

Zwei Hauptfunktionen zeichnen Azure SQL Database Edge aus: die Fähigkeit, Daten zu streamen, und die Funktionen für maschinelles Lernen. 

 

Streaming-Funktionen 

SQL Edge enthält integrierte Funktionen für das Streaming, die Sie auf die Verarbeitung komplexer Ereignisse und Echtzeitanalysen anwenden können. Diese Funktionen sind auf Ausfallsicherheit, effiziente Bandbreitennutzung, geringe Latenz und Compliance ausgelegt.  

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. 

 

Maschinelles Lernen 

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.

 

So stellen Sie Azure SQL Edge bereit 

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 Hier.  

 

Voraussetzungen 

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. 
  • Anmelden beim Azure-Portal. 
  • 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. 
  • Registrieren Ihres IoT Edge-Geräts in Ihrem Hub. Sie können Ihr Gerät über das Portal, in Visual Studio Code oder über die CLI registrieren. 
  • Preparing your IoT Edge device to deploy the Edge modules of your choice. You can add modules to your device through the Portal. 

 

Bereitstellen von Azure SQL Edge 

Führen Sie die folgenden Schritte aus, um SQL Edge auf Ihren Geräten bereitzustellen, sobald Ihre Voraussetzungen erfüllt sind.  

  1. In demMarktplatz, finde das Azure SQL Kantenmodul.
  1. Finden Sie die Option, die Ihren Anforderungen entspricht, und wählen Sie ausErstellen.
  1. In demZielgeräte für das IoT-Edge-Modul Bildschirm, definieren Sie Folgendes. Wenn Sie fertig sind, wählen Sie Erstellen
  • Abonnement—ties the module to your subscription. This should match the subscription used for your IoT Hub. 
  • IoT Hub- der Hub, an dem Ihr beabsichtigtes Gerät registriert ist. Sie sollten die Option "Auf einem Gerät bereitstellen" auswählen.  
  • IoT Edge-Gerätename—the name of the device you want to deploy SQL Edge to.
  1. Im Abschnitt Bereitstellungsmodule desModule einstellen Klicken Sie auf die Seite Konfigurieren Schaltfläche neben dem SQL Edge-Modul.
  1. Navigieren Sie zuIoT Edge Custom Module 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. 

Im Folgenden sehen Sie ein Beispiel für die JSON-Datei, in der diese Einstellungen definiert sind:  

  {
"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. Als nächstes noch in derBenutzerdefinierte IoT Edge-Module Bildschirm, stellen Sie Folgendes ein und wählen Sie Speichern. 
  • Wunsched Status zu rennen  
  • Richtlinie neu starten zu immer
  1. Sie sollten zum gebracht werdenModule einstellen Seite. Klicken Nächster und geben Sie Ihre Modul-zu-Modul- und Modul-zu-Hub-Routen an. Sobald dies erledigt ist, können Sie klicken Nächster und dann einreichen um Ihre Bereitstellung abzuschließen.
     

So sichern und wiederherstellen Sie Datenbanken in Azure SQL Edge 

Azure SQL Database Edge basiert auf der neuesten Version des Linux SQL Server-Datenbankmoduls (weitere Informationen zum Ausführen Linux-Workloads unter Azure). Diese gemeinsam genutzte Basis ermöglicht das Sichern und Wiederherstellen Ihrer SQL Edge-Datenbank wie jede andere SQL-Datenbank.  

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.  

 

Sicherung auf lokaler Festplatte 

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. 
 
Wiederherstellung von einer lokalen Festplatte 

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'

 

Wie kann die Kantenverarbeitung genutzt werden?

In einigen Fällen verfügen die Edge-Geräte über freie Verarbeitungsleistung und einen kleinen lokalen Speicher, der zusätzlich genutzt werden kann. In einer solchen Situation ist es möglicherweise besser, eine IoT-Edge-fokussierte Datenbank wie die von Raima zu verwenden Raima Database Manager (RDM) um die Ressourcen noch effizienter zu nutzen als nur 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.

 

Fazit 

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.