Aplicativos inteligentes usando o Banco de Dados do Azure para PostgreSQL

Serviço de Aplicativo
Serviços Cognitivos
Banco de Dados para PostgreSQL
Machine Learning
Power BI

Ideias de solução

Este artigo é uma ideia de solução. Se você quiser expandir o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou diretrizes de preços, informe-nos fornecendo comentários do GitHub.

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

Arquitetura

Diagrama de ArquiteturaBaixe um arquivo PNG dessa arquitetura.

Fluxo de dados

  1. Uma atividade do Azure Function permite disparar um aplicativo Azure Functions no pipeline Azure Data Factory. 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 são provenientes de várias fontes, incluindo o Armazenamento do Azure e Hubs de Eventos do Azure para dados de alto volume. Quando o pipeline recebe novos dados, ele dispara o aplicativo Azure Functions.
  3. O aplicativo Azure Functions chama a API dos 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 os resultados da API dos Serviços Cognitivos em Banco de Dados do Azure para PostgreSQL.
  6. O Azure Machine Learning usa algoritmos de machine learning personalizados para fornecer mais informações sobre os dados.
    • Se você estiver se aproximando da 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 recursos, Word2Vector e extração de n-gram.
    • Se você preferir uma abordagem de primeiro código, poderá executar um modelo NLP (processamento de linguagem natural) de software livre como um experimento no Estúdio do Machine Learning.
  7. O conector do PostgreSQL para Power BI possibilita explorar insights interpretáveis por humanos no Power BI ou em um aplicativo Web personalizado.

Componentes

  • Serviço de Aplicativo do Azure fornece uma plataforma totalmente gerenciada para criar, implantar e dimensionar aplicativos Web e APIs rapidamente.
  • O Functions é uma plataforma de computação sem servidor orientada a eventos. Para obter informações sobre como usar uma atividade para executar uma função como parte de um pipeline do Data Factory, consulte Atividade do Azure Function em Azure Data Factory.
  • Os Hubs de Eventos são uma plataforma de streaming de Big Data totalmente gerenciada.
  • Os Serviços Cognitivos fornecem um conjunto de serviços de IA e APIs que você pode usar para criar inteligência cognitiva em aplicativos.
  • O Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional totalmente gerenciado. Ele fornece alta disponibilidade, dimensionamento elástico, aplicação de patch e outros recursos de gerenciamento para PostgreSQL.
  • O Azure Machine Learning é um serviço de nuvem que você pode usar para treinar, implantar e automatizar modelos de machine learning. O estúdio dá suporte a abordagens de código e sem código.
  • O Power BI é uma coleção de serviços de software e aplicativos que exibem informações de análise e ajudam você a derivar insights de dados.

Detalhes do cenário

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

  • Os Serviços Cognitivos usam IA para respostas a perguntas, análise de sentimento e tradução de texto.
  • O Azure Machine Learning fornece ferramentas de machine learning para análise preditiva.

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

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

A arquitetura usa um aplicativo 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: Azure Functions é um serviço gerenciado que permite que os desenvolvedores se concentrem em trabalhos inovadores que fornecem valor para o negócio.
  • Escalabilidade: Azure Functions fornece recursos de computação sob demanda, portanto, as instâncias de função são dimensionadas conforme necessário. À medida que as solicitações caem, os recursos e as instâncias de aplicativo são suspensos automaticamente.

Possíveis casos de uso

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 risco e detecção de fraudes
  • Comércio eletrônico: mecanismos de previsão e recomendação de rotatividade do cliente
  • Telecomunicações: otimização de desempenho
  • Utilitários: prevenção contra 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 Linguagem.

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

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

    Se você minerar grandes cargas de trabalho de opiniões e revisões do cliente, use o Azure Cosmos DB for PostgreSQL. Em 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 é Banco de Dados do Azure para PostgreSQL?.

  • As versões anteriores dessa solução usavam os Serviços Cognitivos Análise de Texto API. O Serviço Cognitivo do Azure para Linguagem agora unifica três serviços de linguagem individuais nos Serviços Cognitivos: Análise de Texto, QnA Maker e LUIS (Reconhecimento vocal). Você pode migrar facilmente da API Análise de Texto para a API do Serviço Cognitivo para Linguagem. Para obter instruções, consulte Migrar para a versão 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 em Banco de Dados do Azure para PostgreSQL são criptografados e copiados automaticamente. Você pode configurar Microsoft Defender para Nuvem para mitigação adicional de ameaças. Para obter mais informações, consulte Habilitar Microsoft Defender para bancos de dados relacionais de software livre e responder a alertas.

DevOps

Você pode configurar GitHub Actions para se conectar ao banco de dados Banco de Dados do Azure para PostgreSQL usando sua cadeia de conexão e configurando um fluxo de trabalho. Para obter mais informações, consulte Início Rápido: use GitHub Actions para se conectar ao PostgreSQL do Azure.

Você também pode automatizar o ciclo de vida do machine learning usando o Azure Pipelines. Para obter informações sobre como implementar um fluxo de trabalho do MLOps e criar um pipeline de CI/CD para seu projeto, consulte o repositório do GitHub MLOps 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 Serviço Cognitivo para Linguagem oferece vários tipos de preço. O número de registros de texto que você processa afeta seu custo. Para obter mais informações, confira Preços do Serviço Cognitivo para Linguagem.

Próximas etapas