Descrever o SQL no Edge

Concluído

Muitas organizações têm investimentos substanciais na infraestrutura de IoT. Uma arquitetura da solução de IoT típica inclui dispositivos IoT responsáveis pela leitura de sensores ambientais para gerar dados do cliente. Normalmente, esses dados são processados no local usando dispositivos do Edge. Além disso, um dispositivo do IoT Edge pode executar contêineres compatíveis com o Docker contendo lógica de negócios personalizada ou versões leves de serviços de nuvem, como o Azure Stream Analytics, o Azure Machine Learning, o Azure Functions, o SQL do Azure e muito mais. O benefício do IoT Edge é que o processamento ocorre na rede local, resultando em um loop com retorno mais rápido caso seja necessário executar qualquer ação, ao mesmo tempo em que minimiza os custos de processamento de nuvem e de largura de banda.

An architecture diagram displays IoT devices providing customer data to an IoT Edge device running various modules then forwarding data to IoT Hub in Azure.

O SQL do Azure no Edge é um mecanismo de banco de dados relacional otimizado projetado propositalmente para cargas de trabalho de IoT. Ele fornece recursos para transmitir, processar e analisar dados relacionais e não relacionais, tais como JSON, grafos e de série temporal. O SQL do Azure no Edge é baseado na última versão do Mecanismo de Banco de Dados do SQL Server – o mesmo mecanismo que serve como base do SQL Server e do SQL do Azure. O SQL do Azure no Edge traz recursos de programação T-SQL, bem como desempenho, segurança e processamento de consultas líderes do setor para o Edge.

Benefícios

Sintaxe e ferramentas de T-SQL familiares

Administradores e desenvolvedores de SQL podem continuar a aproveitar a sintaxe e as ferramentas de T-SQL familiares, uma vez que o SQL do Azure no Edge se baseia no Mecanismo de Banco de Dados do SQL Server. As ferramentas disponíveis incluem o portal do Azure, o SQL Server Management Studio, o Azure Data Studio, o Visual Studio Code e o SQL Server Data Tools no Visual Studio.

Portabilidade

O SQL do Azure no Edge é uma versão em contêineres do Mecanismo de Banco de Dados do SQL Server otimizado para IoT. O SQL do Azure no Edge pode ser implantado em vários servidores baseados em Windows e Linux capazes de executar o runtime do IoT Edge, de servidores avançados completos a dispositivos menores baseados no ARM.

Suporte para vários estados de conexão e sincronização de dados

No IoT, a conectividade com a Internet nem sempre é possível ou confiável. Portanto, os módulos do IoT Edge precisam dar suporte a todos os estados de conectividade. O SQL do Azure no Edge dá suporte a cenários conectados, desconectados e híbridos semiconectados. A sincronização de dados incremental é possível com o serviço de Sincronização de Dados SQL do Azure e a configuração de grupos de sincronização para sincronizar as tabelas escolhidas bidirecionalmente entre vários bancos de dados em instâncias de SQL do Azure e do SQL Server.

O diagrama abaixo ilustra o processo de sincronização. O processo de sincronização usa um agente de sincronização no SQL do Azure no Edge para sincronizar dados com o banco de dados Hub. Da perspectiva do Hub, o processo de sincronização é controlado por um aplicativo de Sincronização guiado por detalhes disponíveis no banco de dados de Sincronização, em que os metadados e os logs de sincronização são armazenados.

A diagram depicting the Azure SQL Data Sync process between an Azure SQL Edge database and an Azure SQL database.

Machine learning e streaming de dados internos

O SQL do Azure no Edge tem suporte interno para streaming de dados de e para várias entradas e saídas. Essa funcionalidade emprega a mesma tecnologia que alimenta o Azure Stream Analytics e permite a introspecção de dados de série temporal de entrada usando detecção de anomalias, janelas de tempo, agregação e filtragem. O SQL do Azure no Edge também tem funções T-SQL que dão suporte à consulta de dados de série temporal. Além disso, o SQL do Azure no Edge dá suporte à inferência de machine learning e à instrução PREDICT.

Considerações de segurança

A Segurança no SQL do Azure no Edge traz criptografia de dados, classificação e controles de acesso do Mecanismo de Banco de Dados do SQL Server. Além disso, o SQL do Azure no Edge fornece segurança em nível de linha, mascaramento de dados dinâmico e TDE (Transparent Data Encryption) como um benefício de segurança extra. Também é benéfico criptografar os arquivos de backup criados usando um certificado ou uma chave assimétrica.

Quanto ao transporte de rede, o SQL do Azure no Edge utiliza o protocolo TLS e certificados para criptografar toda a comunicação. Por fim, o Microsoft Defender para IoT fornece uma solução de segurança centralizada e unificada para descobrir e identificar dispositivos IoT, vulnerabilidades e ameaças. Assim como ocorre com qualquer solução relacionada a dados, também é prudente garantir que os usuários do banco de dados recebam privilégio mínimo em objetos de banco de dados.

Implantando o SQL do Azure no Edge do Azure Marketplace

O SQL do Azure no Edge está disponível no Azure Marketplace com dois planos, o SQL do Azure no Edge Desenvolvedor (somente para desenvolvimento, limitado a 4 núcleos e 32 GB de memória) e o SQL do Azure no Edge (para produção, limitado a 8 núcleos e 64 GB de memória).

Como pré-requisito para implantar o SQL do Azure no Edge, você precisa ter um Hub IoT provisionado com pelo menos um dispositivo do IoT Edge. Neste exemplo, um Hub IoT chamado org-iot-hub e um dispositivo do IoT Edge baseado em Linux chamado iot-edge-device-1 foram pré-provisionados.

  1. Localize o módulo do SQL do Azure no Edge no Azure Marketplace e selecione o botão Obter agora.

    The Azure SQL Edge module overview screen displays with the Get It Now button highlighted.

  2. No formulário modal, selecione a SKU do plano de software desejado. Neste exemplo, o SQL do Azure no Edge Desenvolvedor é escolhido. Em seguida, preencha qualquer outra informação de perfil exigida pelo formulário e selecione Continuar.

    A modal form displays prompting for software plan and profile information. The Continue button is highlighted.

  3. Na tela Dispositivos de Destino para o Módulo do IoT Edge, insira manualmente o valor do Nome do Dispositivo do IoT Edge ou use a funcionalidade Localizar Dispositivo para localizar o dispositivo do Edge do Hub IoT selecionado. Neste exemplo, o nome do dispositivo do Edge é iot-device-edge-1. Em seguida, selecione o botão Criar.

    A form displays prompting for IoT Edge Device Name. The Create button is highlighted.

  4. Na folha Definir módulos no dispositivo, escolha o item AzureSQLEdge em Módulos do IoT Edge.

    The IoT Edge Modules list displays with the AzureSQLEdge module highlighted.

  5. Na folha Atualizar Módulo do IoT Edge, selecione a guia Variáveis de Ambiente. Em seguida, substitua a senha da conta de administrador do SQL Edge definindo o valor da variável MSSQL_SA_PASSWORD. Opcionalmente, adicione opções de configuração na guia Opções de Criação de Contêiner. Após concluir, selecione o botão Atualizar.

    The IoT Edge Module Environment Variables tab is selected along with the value for MSSQL_SA_PASSWORD. The Update button is highlighted.

  6. Voltando para a folha Definir módulos no dispositivo, opcionalmente, configure o roteamento de mensagens para o módulo abaixo da guia Rotas. Após a conclusão, selecione Examinar + criar e Criar mais uma vez na tela de validação.

    The Set modules on device blade displays with the Review + create button highlighted.

  7. A tela do dispositivo do IoT Edge será exibida. Aguarde alguns instantes e a lista de módulos relatados do dispositivo exibirá AzureSQLEdge com o estado em execução. Se a inicialização do módulo não estiver concluída, ele indicará temporariamente um estado de erro: aguarde alguns minutos e atualize.

    The IoT Edge device screen displays with the AzureSQLEdge module running. The Refresh button is highlighted on the toolbar menu.

  8. Use o método de conexão desejado e comece a usar o SQL do Azure no Edge!