Editar

Aplicações inteligentes com a Base de Dados do Azure para PostgreSQL

Azure App Service
Azure AI services
Azure Database for PostgreSQL
Azure Machine Learning
Power BI

Ideias de soluções

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

Este artigo apresenta uma solução para automatizar a análise e visualização de dados usando inteligência artificial (IA). Os componentes principais 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.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Uma atividade do Azure Function permite acionar um Aplicativo do Azure Functions no pipeline do 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 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 de 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 Azure Machine Learning usa algoritmos personalizados de aprendizado de máquina para fornecer mais informações sobre os dados.
    • Se você estiver abordando a etapa de aprendizado de máquina com uma perspetiva sem código, poderá implementar outras operações de análise de texto nos dados, como hash de recursos, Word2Vetor e extração de n-gramas.
    • Se preferir uma abordagem code-first, você pode 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 informações interpretáveis por humanos no Power BI ou em um aplicativo Web personalizado.

Componentes

  • O Serviço de Aplicativo do Azure fornece uma plataforma totalmente gerenciada para criar, implantar e dimensionar rapidamente aplicativos Web e APIs.
  • 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 da função do Azure no 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, escalabilidade elástica, aplicação de patches 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 aprendizado de máquina. O estúdio suporta abordagens code-first e no-code.
  • O Power BI é uma coleção de serviços de software e aplicativos que exibem informações de análise e ajudam você a obter insights dos dados.

Detalhes do cenário

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

  • Os Serviços Cognitivos usam IA para resposta a perguntas, análise de sentimentos e tradução de texto.
  • O Azure Machine Learning fornece ferramentas de aprendizagem automática 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 suporta 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 da infraestrutura: o Azure Functions é um serviço gerenciado que permite que os desenvolvedores se concentrem em trabalhos inovadores que agreguem valor ao negócio.
  • Escalabilidade: o Azure Functions fornece recursos de computação sob demanda, para que as instâncias de função sejam dimensionadas conforme necessário. À medida que as solicitações caem, os recursos e as instâncias de aplicativos caem automaticamente.

Potenciais casos de utilização

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 deteção de fraudes
  • E-commerce: Mecanismos de previsão e recomendação de rotatividade 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 orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

  • Para a maioria dos recursos, o Cognitive Service for Language API 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 limites de dados e taxa, consulte Limites de serviço para o Serviço Cognitivo do Azure para Idioma.

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

    • Base 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 utilizavam a API de Análise de Texto dos Serviços Cognitivos. O Serviço Cognitivo do Azure para Idiomas agora unifica três serviços de idioma individuais nos Serviços Cognitivos: Análise de Texto, QnA Maker e Compreensão de Idiomas (LUIS). Você pode migrar facilmente da API de Análise de Texto para a API do Serviço Cognitivo para Idiomas. Para obter instruções, consulte Migrar para a versão mais recente do Serviço Cognitivo do Azure para Idioma.

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

Todos os dados no Banco de Dados do Azure para PostgreSQL são automaticamente criptografados e copiados . Você pode configurar o Microsoft Defender for Cloud para mitigação adicional de ameaças. Para obter 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 GitHub MLOps com Azure ML.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

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 Serviço cognitivo para preços de idiomas.

Próximos passos