O blog da AWS

Guia de referência para analisar dados transacionais quase em tempo real na AWS

por Jason Dalba, Evan Day, e Veerendra Nayak.

Líderes de negócios e analistas de dados usam dados de transações quase em tempo real para entender o comportamento do comprador e ajudar a desenvolver produtos. O principal desafio que as empresas enfrentam com análises quase em tempo real é preparar os dados para análise em tempo hábil, o que geralmente pode levar dias. As empresas geralmente mantêm equipes inteiras para facilitar o fluxo de dados, desde a ingestão até a análise.

A consequência de atrasos no fluxo de análise da sua organização pode ser cara. À medida que as transações on-line ganharam popularidade entre os consumidores, o volume e a velocidade da ingestão de dados geraram desafios no processamento de dados. Os consumidores esperam mudanças mais fluidas nos serviços e produtos. As organizações que não conseguem adaptar rapidamente sua estratégia de negócios para se alinhar ao comportamento do consumidor podem perder oportunidades e receitas em mercados competitivos.

Para superar esses desafios, as empresas precisam de uma solução que possa fornecer análises quase em tempo real dos dados transacionais com serviços que não causem processamento latente e aumentem o gerenciamento do pipeline. Com uma arquitetura implantada adequadamente usando as tecnologias mais recentes em inteligência artificial (IA), armazenamento de dados, ingestão de streaming e computação em nuvem, os dados se tornarão mais precisos, oportunos e acionáveis. Com essa solução, as empresas podem tomar decisões acionáveis quase em tempo real, permitindo que os líderes mudem a direção estratégica assim que o mercado mudar.

Neste post, discutimos como arquitetar uma solução de análise quase em tempo real com análises gerenciadas, IA, Machine Learning (ML) e serviços de banco de dados da AWS.

Visão geral da solução

Os workloads mais comuns, independente do setor, envolvem dados transacionais. Os volumes e a velocidade dos dados transacionais continuaram a se expandir rapidamente à medida que os workloads foram colocadas on-line. Dados quase em tempo real são dados armazenados, processados e analisados continuamente. Ele gera informações que estão disponíveis para uso quase imediatamente após serem geradas. Com o poder da análise quase em tempo real, as unidades de negócios de uma organização, incluindo vendas, marketing e operações, podem tomar decisões estratégicas e ágeis. Sem a arquitetura adequada para suportar análises quase em tempo real, as organizações dependerão de dados atrasados e, não conseguirão capitalizar as oportunidades emergentes. Oportunidades perdidas podem afetar a eficiência operacional, a satisfação do cliente ou a inovação do produto.

Os serviços gerenciados de análise e banco de dados da AWS permitem que cada componente da solução, da ingestão à análise, seja otimizado para maior velocidade, com pouca sobrecarga de gerenciamento. É fundamental que as soluções comerciais críticas sigam os seis pilares do AWS Well-Architected Framework, que ajuda os arquitetos de nuvem a criar a infraestrutura mais segura, de alto desempenho, resiliente e eficiente para workloads críticos.

O diagrama a seguir ilustra a arquitetura da solução.

Solution architecture

Ao combinar os serviços apropriados da AWS, sua organização pode executar análises quase em tempo real em um armazenamento de dados transacional. Nas seções a seguir, discutiremos os principais componentes da solução.

Armazenamento de dados transacionais

Nessa solução, usamos o Amazon DynamoDB como nosso armazenamento de dados transacional. O DynamoDB é uma solução gerenciada de banco de dados NoSQL que atua como um armazenamento de chave-valor para dados transacionais. Como uma solução NoSQL, o DynamoDB é otimizado para computação (em oposição ao armazenamento) e, portanto, os dados precisam ser modelados e fornecidos ao aplicativo com base em como o aplicativo precisa deles. Isso torna o DynamoDB ideal para aplicativos com padrões de acesso conhecidos, o que é uma propriedade de muitos workloads transacionais.

No DynamoDB, você pode criar, ler, atualizar ou excluir itens em uma tabela por meio de uma chave de partição. Por exemplo, se você quiser acompanhar quantas missões de condicionamento físico um usuário completou em seu aplicativo, você pode consultar a chave de partição do ID do usuário para encontrar o item com um atributo que contém dados relacionados às missões concluídas e, em seguida, atualizar o atributo relevante para refletir a conclusão de uma missão específica. Também há alguns benefícios adicionais do DynamoDB, como a capacidade de escalar para suportar grandes aplicativos globais em escala de Internet e, ao mesmo tempo, manter um desempenho consistente de latência de um dígito em milissegundos, porque os dados serão particionados horizontalmente nos nós de armazenamento subjacentes pelo próprio serviço, por meio das chaves de partição. Modelar seus dados aqui é muito importante para que o DynamoDB possa escalar horizontalmente com base em uma chave de partição, e é por isso que ele é uma boa opção para um armazenamento transacional. Em workloads transacionais, quando você sabe quais são os padrões de acesso, será mais fácil otimizar um modelo de dados em torno desses padrões do que criar um modelo de dados para aceitar solicitações ad hoc. Dito isso, o DynamoDB não executa escaneamentos em muitos itens com a mesma eficiência. Portanto, para essa solução, integramos o DynamoDB a outros serviços para ajudar a atender aos requisitos de análise de dados.

Streaming de dados

Agora que armazenamos os dados transacionais da nossa carga de trabalho no DynamoDB, precisamos mover esses dados para outro serviço que seja mais adequado para a análise desses dados. O tempo necessário para obter insights sobre esses dados é importante, então, em vez de enviar dados em lotes, transferimos os dados para um serviço de análise, o que nos ajuda a obter o aspecto quase em tempo real dessa solução.

Usamos o Amazon Kinesis Data Streams para transmitir os dados do DynamoDB para o Amazon Redshift para essa solução específica. O Kinesis Data Streams captura modificações em nível de item nas tabelas do DynamoDB e as replica em um stream de dados do Kinesis. Seus aplicativos podem acessar esse fluxo e visualizar as alterações no nível do item quase em tempo real. Você pode capturar e armazenar continuamente terabytes de dados por hora. Além disso, com a capacidade aprimorada de distribuição, você pode alcançar simultaneamente duas ou mais aplicações downstream. O Kinesis Data Streams também oferece durabilidade e elasticidade. O atraso entre o momento em que um registro é colocado no stream e o tempo em que ele pode ser recuperado (atraso de entrada para obtenção) geralmente é inferior a 1 segundo. Em outras palavras, um aplicativo do Kinesis Data Streams pode começar a consumir os dados do stream quase imediatamente após a adição dos dados. O aspecto de serviço gerenciado do Kinesis Data Streams alivia você da carga operacional de criar e executar um pipeline de entrada de dados. A elasticidade do Kinesis Data Streams permite que você aumente ou diminua a escala do stream, para que você nunca perca os registros de dados antes que eles expirem.

Armazenamento de dados analíticos

O próximo serviço dessa solução é o Amazon Redshift, um serviço de armazém de dados totalmente gerenciado em escala de petabytes na nuvem. Ao contrário do DynamoDB, que serve para atualizar, excluir ou ler dados mais específicos, o Amazon Redshift é mais adequado para consultas analíticas em que você recupera, compara e avalia grandes quantidades de dados em operações de vários estágios para produzir um resultado final. O Amazon Redshift obtém armazenamento eficiente e desempenho ideal de consultas por meio de uma combinação de processamento paralelo massivo, armazenamento de dados em colunas e esquemas de codificação de compressão de dados direcionados e muito eficientes.

Além do fato de o Amazon Redshift ter sido criado para consultas analíticas, ele pode se integrar de forma nativa aos mecanismos de streaming da Amazon. O Amazon Redshift Streaming Ingestion ingere centenas de megabytes de dados por segundo, para que você possa consultar dados quase em tempo real e impulsionar seus negócios com análises. Com essa abordagem de ETL zero, o Amazon Redshift Streaming Ingestion permite que você se conecte a vários streams de dados do Kinesis ou do Amazon Managed Streaming for Apache Kafka (Amazon MSK) e extraia dados diretamente para o Amazon Redshift sem armazenar dados no Amazon Simple Storage Service (Amazon S3). Você pode definir um esquema ou optar por ingerir dados semiestruturados com o tipo de dados SUPER. Com a ingestão de streaming, uma visualização materializada é a área de destino dos dados lidos do stream de dados do Kinesis, e os dados são processados à medida que chegam. Quando a visualização é atualizada, os nós de computação do Redshift alocam cada fragmento de dados em uma fatia computacional. Recomendamos que você habilite a atualização automática dessa visualização materializada para que seus dados sejam atualizados continuamente.

Análise e visualização de dados

Depois que o pipeline de dados é configurado, a última parte é a análise de dados com o Amazon QuickSight para visualizar as mudanças no comportamento do consumidor. O QuickSight é um serviço de business intelligence (BI) em escala de nuvem que você pode usar para fornecer insights fáceis de entender às pessoas com quem você trabalha, onde quer que estejam.

O QuickSight se conecta aos seus dados na nuvem e combina dados de várias fontes diferentes. Em um único painel de dados, o QuickSight pode incluir dados da AWS, dados de terceiros, big data, dados de planilhas, dados de SaaS, dados B2B e muito mais. Como um serviço totalmente gerenciado baseado em nuvem, o QuickSight fornece segurança de nível corporativo, disponibilidade global e redundância integrada. Ele também fornece as ferramentas de gerenciamento de usuários de que você precisa para escalar de 10 usuários para 10.000, tudo sem infraestrutura para implantar ou gerenciar.

O QuickSight oferece aos tomadores de decisão a oportunidade de explorar e interpretar informações em um ambiente visual interativo. Eles têm acesso seguro aos painéis de qualquer dispositivo em sua rede e de dispositivos móveis. Conectar o QuickSight ao resto da nossa solução completará o fluxo de dados, desde a ingestão inicial no DynamoDB até o streaming no Amazon Redshift. O QuickSight pode criar uma análise visual dos dados quase em tempo real porque esses dados estão relativamente atualizados, portanto, essa solução pode oferecer suporte a casos de uso para tomar decisões rápidas sobre dados transacionais.

O uso da AWS para serviços de dados permite que cada componente da solução, da ingestão ao armazenamento e à análise, seja otimizado para maior velocidade e com pouca sobrecarga de gerenciamento. Com esses serviços da AWS, líderes de negócios e analistas podem obter insights quase em tempo real para promover mudanças imediatas com base no comportamento do cliente, permitindo agilidade organizacional e, por fim, levando à satisfação do cliente.

Próximas etapas

A próxima etapa para criar uma solução para analisar dados transacionais quase em tempo real na AWS seria passar pelo workshop Habilitar análises quase em tempo real dos dados armazenados no Amazon DynamoDB usando o Amazon Redshift. No workshop, você conhecerá serviços práticos de análise gerenciada, IA/ML e banco de dados da AWS para se aprofundar em uma solução completa que fornece análises quase em tempo real sobre dados transacionais. Ao final do workshop, você terá examinado a configuração e a implantação das peças essenciais que permitirão aos usuários realizar análises em workloads transacionais.

Conclusão

O desenvolvimento de uma arquitetura que possa fornecer dados transacionais para análises quase em tempo real na AWS pode ajudar as empresas a se tornarem mais ágeis nas decisões críticas. Ao ingerir e processar dados transacionais entregues diretamente do aplicativo na AWS, as empresas podem otimizar seus níveis de inventário, reduzir os custos de manutenção, aumentar a receita e aumentar a satisfação do cliente.

A solução de ponta a ponta foi projetada para indivíduos em várias funções, como usuários corporativos, engenheiros de dados, cientistas de dados e analistas de dados, responsáveis por compreender, criar e supervisionar processos relacionados à previsão de estoque de varejo. No geral, ser capaz de analisar dados transacionais quase em tempo real na AWS pode fornecer às empresas uma visão oportuna, permitindo uma tomada de decisão mais rápida em setores de ritmo acelerado.

Este conteúdo é uma tradução do blog original em inglês (Link aqui).

Sobre os autores

Jason D’Alba é um arquiteto de soluções líder da AWS focado em aplicações corporativos e de banco de dados, ajudando clientes a arquitetar soluções de banco de dados altamente disponíveis e escaláveis.
Veerendra Nayak é arquiteto principal de soluções de banco de dados com sede na Bay Area, Califórnia. Ele trabalha com clientes para compartilhar as melhores práticas sobre migrações de bancos de dados, resiliência e integração de dados operacionais com serviços de análise e IA.

Evan Day é arquiteto de soluções de banco de dados na AWS, onde ajuda clientes a definir soluções técnicas para problemas de negócios usando a variedade de serviços gerenciados de banco de dados na AWS. Ele também se concentra na criação de soluções confiáveis, eficientes e econômicas.

 

Sobre o tradutor

 

Eduardo Pereira é Arquiteto de Soluções. Atua ajudando clientes do setor Enterprise durante a sua jornada na nuvem da AWS. Tem grande interesse na área de Analytics, observabilidade e serverless.