Aplicativos inteligentes usando o Banco de Dados do Azure para PostgreSQL

Serviço de aplicativo do Azure
Serviços de IA do Azure
Banco de Dados do Azure para PostgreSQL
Azure Machine Learning
Power BI

Ideias de soluções

Esse artigo é uma ideia de solução. Caso deseje que ampliemos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco enviando seus comentários no GitHub.

Este artigo apresenta uma solução para automatizar a análise e visualização de dados usando inteligência artificial (IA). Os principais componentes da solução são o Azure Functions, os Serviços Cognitivos do Azure e o Banco de Dados do Azure para PostgreSQL.

Arquitetura

Diagram that shows the dataflow of an intelligent application using Azure Database for PostgreSQL.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Uma atividade do Azure Functions para acionar um aplicativo do Azure Functions em um pipeline do Azure Data Factory ou do Azure Synapse. Você cria uma conexão de serviço vinculado e usa o serviço vinculado com uma atividade para especificar a Função do Azure que deseja executar.
  2. Os dados vêm de várias fontes, incluindo o Armazenamento do Azure e os Hubs de Eventos do Azure para dados de alto volume. Quando o pipeline recebe novos dados, ele aciona o Aplicativo Azure Functions.
  3. O Aplicativo Azure Functions chama a API de Serviços Cognitivos para analisar os dados.
  4. A API dos Serviços Cognitivos retorna os resultados da análise no formato JSON para o Aplicativo Azure Functions.
  5. O Aplicativo Azure Functions armazena os dados e resultados da API de Serviços Cognitivos no Banco de Dados do Azure para PostgreSQL.
  6. O Aprendizado de Máquina do Azure usa algoritmos de aprendizado de máquina personalizados para fornecer mais informações sobre os dados.
    • Se você estiver abordando a etapa de aprendizado de máquina com uma perspectiva sem código, poderá implementar outras operações de análise de texto nos dados, como hash de recurso, Word2Vector e extração de n-gramas.
    • Se você preferir uma abordagem de código primeiro, poderá executar um modelo de processamento de linguagem natural (NLP) de código aberto como um experimento no estúdio de Machine Learning.
  7. O conector PostgreSQL para Power BI torna possível explorar insights interpretáveis por humanos no Power BI ou em um aplicativo Web personalizado.

Componentes

Detalhes do cenário

O pipeline automatizado usa os seguintes serviços para analisar os dados:

  • Os Serviços Cognitivos usam IA para responder a perguntas, análise de sentimentos e tradução de texto.
  • O Azure Machine Learning fornece ferramentas de aprendizado de máquina para análise preditiva.

Para armazenar dados e resultados, a solução usa o Banco de Dados do Azure para PostgreSQL. O banco de dados PostgreSQL oferece suporte a dados não estruturados, consultas paralelas e particionamento declarativo. Esse suporte torna o Banco de Dados do Azure para PostgreSQL uma escolha eficaz para tarefas de IA e aprendizado de máquina altamente intensivas em dados.

A solução automatiza a entrega da análise de dados. Um conector vincula o Banco de Dados do Azure para MySQL a ferramentas de visualização como o Power BI.

A arquitetura usa um Aplicativo do Azure Functions para ingerir dados de várias fontes de dados. É uma solução sem servidor que oferece os seguintes benefícios:

  • Manutenção de infraestrutura: o Azure Functions é um serviço gerenciado que permite que os desenvolvedores se concentrem em trabalhos inovadores que agreguem valor aos negócios.
  • Escalabilidade: o Azure Functions fornece recursos de computação sob demanda, para que as instâncias de função sejam dimensionadas conforme necessário. Conforme as solicitações caírem, recursos e instâncias de aplicativo cairão automaticamente.

Possíveis casos de uso

O Banco de Dados do Azure para PostgreSQL é uma solução baseada em nuvem. Como resultado, essa solução não é recomendada para aplicativos móveis. É mais apropriado para análise downstream nos seguintes setores e outros:

  • Transporte: Previsão de manutenção
  • Finanças: Avaliação de riscos e detecção de fraudes
  • E-commerce: Mecanismos de previsão e recomendação de churn de clientes
  • Telecomunicações: Otimização de desempenho
  • Utilitários: Prevenção de interrupções

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

  • Para a maioria dos recursos, a API do Serviço Cognitivo para Linguagem tem um tamanho máximo de 5120 caracteres para um único documento. Para todos os recursos, o tamanho máximo da solicitação é de 1 MB. Para obter mais informações sobre dados e limites de taxa, consulte Limites de serviço para o Serviço Cognitivo do Azure para Idioma.

  • No Banco de Dados do Azure para PostgreSQL, o volume e a velocidade de entrada determinam sua seleção de serviço e modo de implantação. Dois serviços estão disponíveis:

    • Banco de Dados do Azure para PostgreSQL
    • Azure Cosmos DB para PostgreSQL, que anteriormente era conhecido como modo Hyperscale (Citus)

    Se você minerar grandes cargas de trabalho de opiniões e avaliações de clientes, use o Azure Cosmos DB para PostgreSQL. No Banco de Dados do Azure para PostgreSQL, dois modos estão disponíveis: servidor único e servidor flexível. Para entender quando usar cada modo de implantação, consulte O que é o Banco de Dados do Azure para PostgreSQL?.

  • As versões anteriores desta solução usavam a API de Análise de Texto dos Serviços Cognitivos. Os Serviços Cognitivos do Azure para Linguagem agora unificam três serviços de linguagem individuais em Serviços Cognitivos: Análise de Texto, QnA Maker e Reconhecimento de Linguagem (LUIS). Você pode migrar facilmente da API de Análise de Texto para a API do Serviço Cognitivo para Linguagem. Para obter instruções, consulte Migrar para a mais recente do Serviço Cognitivo do Azure para Linguagem.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

Todos os dados no Banco de Dados do Azure para PostgreSQL são criptografados e armazenados em backup automaticamente. Você pode configurar o Microsoft Defender for Cloud para mitigação adicional de ameaças. Para mais informações, consulte Habilitar o Microsoft Defender para bancos de dados relacionais de código aberto e responder a alertas.

DevOps

Você pode configurar as Ações do GitHub para se conectar ao Banco de Dados do Azure para banco de dados PostgreSQL usando sua cadeia de conexão e configurando um fluxo de trabalho. Para obter mais informações, consulte Guia de início rápido: usar ações do GitHub para se conectar ao Azure PostgreSQL.

Você também pode automatizar seu ciclo de vida de aprendizado de máquina usando o Azure Pipelines. Para obter informações sobre como implementar um fluxo de trabalho MLOps e criar um pipeline de CI/CD para seu projeto, consulte o repositório MLOps do GitHub com o Azure ML.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

O Cognitive Service for Language oferece vários níveis de preços. O número de registros de texto que você processa afeta seu custo. Para obter mais informações, consulte preços do Serviço Cognitivo para Linguagem.

Próximas etapas