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.

Um diagrama de arquitetura exibe dispositivos IoT que fornecem dados do cliente a um dispositivo IoT Edge que executa diversos módulos e encaminha os dados ao Hub IoT no 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.

Um diagrama que descreve o processo da Sincronização de Dados SQL do Azure entre um banco de dados SQL do Azure no Edge e um banco de dados SQL do Azure.

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.

    A tela de visão geral do módulo SQL do Azure no Edge é exibida com o botão “Obter agora” realçado.

  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.

    Um formulário modal exibe a solicitação de informações de perfil e plano de software. O botão “Continuar” é realçado.

  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.

    Um formulário exibe uma solicitação do nome do dispositivo IoT Edge. O botão “Criar” é realçado.

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

    A lista “Módulos” do IoT Edge é exibida com o módulo AzureSQLEdge realçado.

  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.

    A guia “Variáveis de ambiente do módulo do IoT Edge” está selecionada com o valor de MSSQL_SA_PASSWORD. O botão “Atualizar” está realçado.

  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.

    A folha “Definir módulos no dispositivo” é exibida com o botão “Revisar + criar” realçado.

  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.

    A tela do dispositivo IoT Edge é exibida com o módulo AzureSQLEdge em execução. O botão “Atualizar” está realçado no menu da barra de ferramentas.

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