跳到內容

Azure SQL數據庫邊緣:如何部署,備份和還原

Azure SQL數據庫邊緣使您能夠為物聯網(IoT)和IoT Edge創建高性能數據存儲和處理層 工作量。 SQL Edge提供了用於流式傳輸和分析關係和非關係數據的功能。  

SQL Edge可通過Azure市場作為Azure IoT Edge的模塊使用,有兩個版本-用於生產部署的Azure SQL Edge和僅用於開發的Azure SQL Edge Developer。 

 

在本文中,您將學習: 

全球網絡的概念。物聯網(IoT)。 ICT(信息通信網絡)。具有網絡連接的物理設備網絡

什麼是Azure SQL數據庫邊緣 

Azure SQL數據庫邊緣是針對物聯網(IoT)和IoT Edge工作平台的優化數據庫引擎需要的廣告 分佈式存儲 策略。它也被稱為SQL Edge。  

SQL Edge引擎使您可以創建高性能的處理和數據存儲物聯網設備和應用程序的ge層。它包括用於流傳輸,處理和分析關係和非關係數據(包括時間序列,圖形和JSON數據)的功能。  

SQL Edge基於與以下引擎相同的引擎 Azure SQL數據庫。這使它能夠在雲資源,數據中心和IoT Edge設備之間提供T-SQL功能和可移植性。  

你可以 通過Azure市場訪問SQL Edge,在該市場可以將其作為Azure IoT Edge的模塊使用。您可以根據所需的CPU和內存資源以及所需的使用權限,從兩個版本中進行選擇。 

 

這些版本是:  

  • Azure SQL邊緣—意味著生產部署。此版本提供對具有最多8個CPU內核和64GB內存的Edge容器的訪問。  
  • Azure SQL Edge開發人員—僅表示發展。此版本提供對具有四個CP的Edge容器的訪問U核和32GB內存。  


Azure SQL Edge功能
 

Azure SQL數據庫邊緣的兩個主要功能使其脫穎而出-流數據的能力及其機器學習功能。 

 

流媒體功能 

SQL Edge包括用於流傳輸的內置功能,可以將其應用於復雜的事件處理和實時分析。這些功能旨在實現彈性,高效使用帶寬,低延遲和合規性。  

這些功能是基於sa我設計為Azure流分析。功能提供的功能類似於通過IoT Edge服務上的Azure流分析提供的功能。 

 

機器學習能力 

Azure SQL Database Edge包括內置分析和機器學習(ML)基於開放式神經網絡交換(昂尼克斯) 運行。這種格式使您可以在ML框架之間交換神經網絡和深度學習模型。  

使用 昂尼克斯 運行時,您可以使用工具和langua靈活地開發ML模型您選擇的日期。完成後,您可以將這些模型轉換為 昂尼克斯 並在SQL Edge中執行它們。

 

如何部署Azure SQL Edge 

下面是一個簡短的教程,顯示瞭如何將SQL Edge部署到您的雲環境。本教程改編自am有關詳細的演練,請參見Azure文檔。您可以找到此演練 這裡 

 

先決條件 

在開始部署Azure SQL Database Edge之前,請先這是您需要注意的一些先決條件。這些包括: 

  • 具有有效的Azure訂閱。 如果您需要一個帳戶,可以使用免費試用帳戶。 
  • 登錄到Azure門戶。 
  • 創建一個Azure IoT中心作為您的後端惡習。您可以從市場通過Azure門戶創建此中心。 
  • 在集線器中註冊IoT Edge設備。您可以通過門戶,Visual Studio Code或CLI來註冊設備。 
  • 準備部署IoT Edge設備 您選擇的Edge模塊。您可以通過門戶將模塊添加到設備中。 

 

部署Azure SQL Edge 

滿足先決條件後,請執行以下步驟將SQL Edge部署到設備。  

  1. 在裡面市場,找到Azure 的SQL 邊緣模塊.
  1. 找到適合您要求的選項,然後選擇創造.
  1. 在裡面物聯網邊緣模塊的目標設備 屏幕上,定義以下內容。完成後,選擇 創造. 
  • 訂閱-將模塊與您的訂閱相關聯。這應與您的IoT中心使用的訂閱匹配。 
  • 物聯網中心—在其中註冊了所需設備的集線器。您應該選擇“部署到設備”選項。  
  • IoT Edge設備名稱—您使用的設備的名稱 想要將SQL Edge部署到。
  1. 在“部署模塊”部分設置模塊 頁上,單擊 配置 SQL Edge模塊旁邊的按鈕。
  1. 導航到IoT Edge定制 模組 屏幕。在此窗格中,您需要定義環境變量並設置屬性並為模塊創建選項。其中包括您的密碼,SQL Server語言和排序規則設置。
  1. 在同一屏幕上,定義正確的主機端口 為你r容器。如果要部署多個模塊,則還需要更新安裝 選項 因此,將為您的持久卷創建一個新的源和目標對。 

您可以在下面看到定義這些設置的JSON文件的示例:  

  {
“ HostConfig”:{
“綁定”:[
“ sqlvolume:/ sqlvolume”
],
“ PortBindings”:{
“ 1433 / tcp”:[
{
“ HostPort <”:“ 1433”
}
]
},
“山”:[
{
“類型”:“體積”,
“來源”:“ sqlvolume”,
“目標”:“ / var / opt / mssql”
}
]
},
“ Env”:[
“ MSSQL_AGENT_ENABLED = TRUE”,
“ MSSQL_PID =開發人員”
]
}

  1. 接下來,仍然在IoT Edge自定義模塊 屏幕上,進行以下設置並選擇 保存。 
  • 慾望ed狀態 跑步  
  • 重新啟動政策 總是
  1. 您應該被帶到設置模塊 頁。點擊 下一個 並指定您的模塊到模塊和模塊到集線器路由。完成後,您可以點擊 下一個 然後 提交 完成部署。
     

如何在Azure SQL Edge中備份和還原數據庫 

Azure SQL Database Edge基於最新版本的Linux SQL Server數據庫引擎(了解有關運行的更多信息 Azure上的Linux工作負載)。這種共享基礎使您可以像其他任何SQL數據庫一樣備份和還原SQL Edge數據庫。  

備份SQL Edge部署可幫助您最大程度地減少數據丟失和壓力的機會erves版本,然後進行修改。這種保存可以幫助  進行錯誤的回滾更改,並允許從數據庫故障中進行恢復。  

 

備份到本地磁盤 

至 後備 您的數據庫到本地磁盤,您可以使用T-SQL 備份資料庫 命令。 以下是如何使用此方法執行備份的快速指南。 

 

  1. 首先在要備份的容器中為備份創建一個文件夾。然後,在運行實例的主機上,執行以下命令。一定要替代喲您的容器名稱(在指明的位置)。


sudo docker exec -it yourEdgeContainer mkdir / var / opt / mssql /備份 

 

  1. 通過Azure Data Studio或SQL Server Management Studio(短信服務),連接到您的Edge實例。連接後,運行以下命令並進行適當的替換:

備份數據庫[yourDatabaseName]
到磁盤= N'/ var / opt / mssql / backup / yourDatabaseBackup.bak ' 
使用NOFORMAT NOINIT ,NAME = N'yourDatabaseName-完整數據庫備份',
跳過,NOREWIND,空載,壓縮,統計= 10

 

  1. 只要命令執行成功,您就應該在resul中看到類似於以下內容的輸出您使用的工具的ts部分。

已處理10%。 
... 
... 
100%已處理。 
已處理數據庫“ yourDatabaseName ”,文件“ yourDatabaseName ”在文件1上的51652頁。 
已處理數據庫“ yourDatabaseName ”,文件“ yourDatabaseName_log 在文件1上的2頁。 
BACKUP DATABASE在3.658秒(114.451 MB /秒的速度)中成功處理了51652頁。 

 
從本地磁盤還原 

備份完成後,您便可以在需要時還原這些備份。您還可以使用備份為tes創建鏡像數據庫或發展。  

如果您的備份文件尚未存儲在目標容器中,請先將其移動到該位置。然後,可以使用與創建備份相同的方法連接到SQL Edge實例。連接後,運行以下命令mmand,在指示的位置替換您的資源和文件名。  
 
僅從磁盤還原Filelist = N'/ var / opt / mssql / backup / yourDatabaseBackup.bak '
恢復數據庫yourDatabaseName_2 
從磁盤= N'/ var / opt / mssql / backup / yourDatabaseBackup.bak ' 
WITH MOVE“yourDatabaseName”TO“的/ var /選擇/ MSSQL /data/yourDatabaseName_Primary_2.mdf', 
移動' yourDatabaseName_log '到'/ var / opt / mssql /data/yourDatabaseName_Primary_2.ldf'

 

如何利用邊緣處理

在某些情況下,邊緣設備具有備用處理能力和可額外利用的小型本地存儲。在這種情況下,最好使用像Raima's這樣的以物聯網邊緣為中心的數據庫 Raima數據庫管理器(RDM) 與僅使用Azure SQL數據庫邊緣相比,可以更有效地利用資源。

RDM允許應用程序開發人員在資源受限的邊緣設備上運行佔用空間很小的數據庫。他們可以對數據進行一些本地處理,然後再將其發送出去以在Azure實例上使用。 這減少了通過網絡傳輸的數據量。一種附加地,RDM 允許一些局部計算 從應用程序中獲取一組實時數據  數據 緩衝/如果有連接發生備份位置中斷。 在不依賴於維護與Azure實例的連接的情況下,使用RDM可為開發人員提供更大的靈活性,使其可以執行應用程序的操作。

 

結論 

Azure SQL數據庫邊緣具有一組強大的功能,您可以利用這些功能來流式傳輸和分析IoT和邊緣數據。 SQL Edge與Azure SQL數據庫基於相同的引擎,並提供跨雲資源和conne的可移植性cted數據源和設備。本文中的簡短教程應為您提供部署Azure SQL Edge以及備份和還原數據的基本原理。 如果有數據 聯繫 是不可靠的,或者需要本地設備處理,因此Raima的RDM可能比Azure更合適。 有關更多信息,您可以查看官方文檔。