Este é um artigo traduzido originalmente publicado dia 18/7/2022 no blog do Kai Waehner: "Case Studies: Cloud-native Data Streaming for Data Warehouse Modernization". Assine a newsletter do Kai para se manter atualizado com novas publicações.
Os conceitos e arquiteturas de um data warehouse, um data lake e streaming de dados são complementares para resolver problemas de negócios. Infelizmente, as tecnologias subjacentes são muitas vezes incompreendidas, usadas em excesso para arquiteturas monolíticas e inflexíveis e apresentadas para casos de uso errados pelos fornecedores. Vamos explorar esse dilema em uma série de blogs. Esta é a parte 4: Estudos de caso para streaming de dados nativos da nuvem e data warehouses.
Os conceitos e arquiteturas de data warehouse, data lake e streaming de dados são complementares para resolver problemas de negócios . Armazenar dados em repouso para relatórios e análises requer recursos e SLAs diferentes do processamento contínuo de dados em movimento para cargas de trabalho em tempo real. Existem muitas estruturas de código aberto, produtos comerciais e serviços de nuvem SaaS. Infelizmente, as tecnologias subjacentes são muitas vezes incompreendidas, usadas em excesso para arquiteturas monolíticas e inflexíveis e apresentadas para casos de uso errados pelos fornecedores. Vamos explorar esse dilema em uma série de blogs. Saiba como criar uma pilha de dados moderna com tecnologias nativas da nuvem . Esta é a parte 4: Estudos de caso para streaming de dados nativos da nuvem e modernização de data warehouse.
Série do Blog: Data Warehouse vs. Data Lake vs. Data Streaming
Esta série de blogs explora conceitos, recursos e compensações de uma stack de dados moderna usando data warehouse, data lake e streaming de dados juntos:
Data Warehouse vs. Data Lake vs. Data Streaming – Amigos, Inimigos, um pouco dos dois? (post original: Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?)
Streaming de dados para ingestão de dados no Data Warehouse e Data Lake (post original: Data Streaming for Data Ingestion into the Data Warehouse and Data Lake)
Modernização do Data Warehouse: De Legado On-Premise a Infraestrutura Nativa em Nuvem (post original: Data Warehouse and Data Lake Modernization: From Legacy On-Premise to Cloud-Native Infrastructure)
ESTE POST: Estudos de caso: streaming de dados nativo da nuvem para modernização de data Warehouse
Lições aprendidas com a criação de um data warehouse nativo da nuvem
Fique atento para uma postagem de blog dedicada para cada tópico como parte desta série de blogs. Vou linkar os blogs aqui assim que estiverem disponíveis (nas próximas semanas). Assine minha newsletter para receber um e-mail após cada publicação (sem spam ou anúncios).
Estudos de caso: streaming de dados nativos da nuvem para modernização de data warehouse
Cada projeto é diferente. Isso vale para streaming de dados, análises e outros desenvolvimentos de software. Veja a seguir três estudos de caso com arquiteturas e tecnologias significativamente diferentes para modernização de data warehouse . Os exemplos vêm de várias verticais: negócios de software e nuvem, serviços financeiros, logística e transporte e o setor de viagens e acomodações.
Confluent: Modernização do data warehouse de lote ETL com Stitch para streaming ETL com Kafka
O artigo “ Streaming ETL SFDC Data for Real-Time Customer Analytics ” explora como a Confluent come sua ração para modernizar o pipeline de data warehouse interno .
O caso de uso é direto e padrão na maioria das organizações: Extraia, transforme e carregue (ETL) dados do Salesforce em um data warehouse do Google BigQuery, para que a empresa possa usar os dados . Mas é mais complexo do que parece:
As organizações geralmente contam com uma ferramenta ETL de terceiros para carregar dados periodicamente de um CRM e outros aplicativos para seu data warehouse. Essas ferramentas em lote apresentam um atraso entre quando os eventos de negócios são capturados no Salesforce e quando são disponibilizados para consumo e processamento. As cargas de trabalho em lote geralmente resultam em discrepâncias entre os relatórios do Salesforce e os painéis internos , levando a preocupações sobre a integridade e a confiabilidade dos dados.
A Confluent usou a ferramenta ETL em lote Stitch da Talend no início . A arquitetura antiga era assim:
A consequência do batch ETL e uma ferramenta de terceiros no meio levam a atualizações de informações insuficientes e inconsistentes .
Nos últimos anos, a Confluent investiu na criação de recursos de processamento de fluxo no pipeline de data warehouse interno . O Confluent aproveita seus próprios conectores Confluent Cloud totalmente gerenciados (neste caso, os conectores de origem do Salesforce CDC e de coletor do BigQuery), Schema Registry para governança de dados e ksqlDB + Kafka Streams para ETL de streaming confiável para enviar dados SFDC ao BigQuery . Aqui está a arquitetura modernizada:
Paypal: Reduzindo o tempo de leitura de 12 horas para alguns segundos para 30 bilhões de eventos por dia
O Paypal tem muitos projetos Kafka para muitas cargas de trabalho críticas e analíticas. Nesse caso de uso, ele dimensiona o Kafka Consumer para 30 a 35 bilhões de eventos por dia para migrar suas cargas de trabalho analíticas para o Google Cloud Platform (GCP) .
Um aplicativo de streaming ingere os eventos do Kafka diretamente para o BigQuery . Este é um projeto crítico para o PayPal, pois a maioria das leituras analíticas é baseada nisso. O resultado da modernização do data warehouse e da construção de uma arquitetura nativa da nuvem: Reduza o tempo de leitura de 12 horas para alguns segundos .
Leia mais sobre esta história de sucesso no Blog de tecnologia do PayPal .
Shippeo: de bancos de dados locais a vários data lakes nativos da nuvem
O Shippeo fornece visibilidade de transporte multimodal e em tempo real para fornecedores de logística, embarcadores e transportadores . Seu software usa automação e inteligência artificial para compartilhar insights em tempo real, permitir uma melhor colaboração e desbloquear todo o potencial de sua cadeia de suprimentos. A plataforma pode fornecer acesso instantâneo a informações preditivas em tempo real para cada entrega .
A Shippeo descreveu como eles integraram bancos de dados tradicionais (MySQL e PostgreSQL) e data warehouses nativos da nuvem (Snowflake e BigQuery) com Apache Kafka e Debezium :
Este é um excelente exemplo de arquitetura corporativa nativa da nuvem, aproveitando uma abordagem “melhor da categoria” para armazenamento e análise de dados . Kafka dissocia as cargas de trabalho analíticas dos sistemas transacionais e lida com a contrapressão para consumidores lentos.
Sykes Cottages: pipeline de ponta a ponta totalmente gerenciado com Confluent Cloud, Kafka Connect, Snowflake
A Sykes Holiday Cottages é uma das agências independentes de aluguel de casas de férias líderes e de crescimento mais rápido do Reino Unido, representando mais de 19.000 casas em todo o Reino Unido, Irlanda e Nova Zelândia.
A experiência de seus clientes na web é uma prioridade e é uma forma de se manter competitivo. O objetivo é combinar os clientes com sua experiência perfeita em uma casa de férias e encantar em cada etapa ao longo do caminho. Obter o pipeline de dados para alimentar essa inovação é fundamental. A modernização do data warehouse e o streaming de dados permitiram novas maneiras de inovar ainda mais a experiência da Web por meio de uma abordagem orientada a dados .
De cargas de trabalho em lote inconsistentes e lentas…
Apesar de servir ao seu propósito por vários anos, o gasoduto existente teve problemas que prejudicaram este ciclo. Muito cedo neste pipeline, o processo ETL transformou os dados em linhas e colunas (dados estruturados). Várias cópias foram feitas, e os resultados foram apresentados por meio de um relatório estático. Engenheiros de dados eram necessários para mudanças, como novos eventos ou informações contextuais . A escala também foi desafiadora , pois isso deve ser feito manualmente.
Mantendo criticamente os dados em um formato semiestruturado até que sejam ingeridos no warehouse e, em seguida, usando o ELT para fazer uma única transformação dos dados, o Sykes Holiday Cottages pode simplificar o pipeline e torná-lo muito mais ágil.
… a atualizações em tempo real baseadas em eventos e processamento de fluxo contínuo
Novos eventos da web (e qualquer contexto que os acompanhe) podem ser agrupados em uma mensagem e podem fluir até o warehouse sem uma única alteração de código . Os novos eventos são então disponibilizados para as equipes da web por meio de uma consulta ou da ferramenta de visualização.
A taxa de transferência atual é de cerca de 50k (com pico de mais de 300k) mensagens por minuto. À medida que novos eventos são capturados, isso aumentará consideravelmente. Além disso, cada um dos componentes acima deve ser dimensionado de acordo.
A nova arquitetura permite que as equipes da web capturem novos eventos. E analise os dados usando ferramentas de autoatendimento sem dependência de engenharia de dados .
Em conclusão, o caso de negócios para fazer isso é convincente . Com base em nossos testes e projeções, esperamos um ROI de pelo menos 10x ao longo de três anos para esse investimento.
Na postagem do blog da Sykes Holiday Cottages, saiba mais detalhes: Por que a Sykes Cottages fez parceria com a Snowflake e a Confluent para melhorar a experiência do cliente .
Doordash: de vários pipelines a streaming de dados para integração com o Snowflake
Mesmo os nativos digitais – que iniciaram seus negócios na nuvem sem aplicativos legados em seus próprios data centers – precisam modernizar a arquitetura corporativa para melhorar os processos de negócios, reduzir custos e fornecer informações em tempo real para seus aplicativos downstream.
É ineficiente em termos de custo construir vários pipelines que estão tentando atingir objetivos semelhantes. A Doordash usou sistemas de mensagens e streaming da AWS nativos da nuvem, como Amazon SQS e Amazon Kinesis, para ingestão de dados no data warehouse do Snowflake:
Misturar diferentes tipos de transporte de dados e passar por vários sistemas de mensagens/enfileiramento sem uma observabilidade cuidadosamente projetada leva a dificuldades nas operações.
Esses problemas resultaram em alta latência de dados, custo significativo e sobrecarga operacional na Doordash . Portanto, o Doordash mudou para uma plataforma de streaming nativa da nuvem, desenvolvida pelo Apache Kafka e Apache Flink para processamento de fluxo contínuo antes de ingerir dados no Snowflake:
A mudança para uma plataforma de streaming de dados oferece muitos benefícios ao Doordash :
Fontes e destinos de dados heterogêneos , incluindo APIs REST usando o proxy rest Confluent
Facilmente acessível
Governança de dados de ponta a ponta com aplicação de esquema e evolução de esquema com o Confluent Schema Registry
Escalável, tolerante a falhas e fácil de operar para uma equipe pequena
Todos os detalhes sobre essa otimização de infraestrutura nativa da nuvem estão na postagem do blog de engenharia do Doordash: “ Criando processamento de eventos em tempo real escalável com Kafka e Flink ”.
Estudos de caso do mundo real para projetos nativos da nuvem comprovam o valor comercial
A modernização do data warehouse e do data lake só faz sentido se houver um valor comercial. Escala elástica, complexidade de operações reduzida e tempo de comercialização mais rápido são vantagens significativas de serviços em nuvem como Snowflake, Databricks ou Google BigQuery.
O streaming de dados desempenha um papel vital nessas iniciativas de integração com fontes de dados herdadas e nativas da nuvem, ETL de streaming contínuo, desacoplamento real entre as fontes de dados e vários coletores de dados (lagos, armazéns, aplicativos de negócios).
Os estudos de caso da Confluent, Paypal, Shippeo e Sykes Cottages mostraram suas diferentes histórias de sucesso de mudança para a infraestrutura nativa da nuvem para gerar visibilidade em tempo real e recursos de análise. Escala elástica e pipelines de ponta a ponta totalmente gerenciados são fatores cruciais de sucesso para obter valor comercial com informações constantemente atualizadas.
Para mais detalhes, navegue em outros posts desta série de blogs:
Data Warehouse vs. Data Lake vs. Data Streaming – Amigos, Inimigos, um pouco dos dois? (post original: Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?)
Streaming de dados para ingestão de dados no Data Warehouse e Data Lake (post original: Data Streaming for Data Ingestion into the Data Warehouse and Data Lake)
Modernização do Data Warehouse: De Legado On-Premise a Infraestrutura Nativa em Nuvem (post original: Data Warehouse and Data Lake Modernization: From Legacy On-Premise to Cloud-Native Infrastructure)
ESTE POST: Estudos de caso: streaming de dados nativo da nuvem para modernização de data Warehouse
Lições aprendidas com a criação de um data warehouse nativo da nuvem
Você tem outra história de sucesso para compartilhar? Ou seus projetos de modernização de data lake e data warehouse ainda estão em andamento? Você usa infraestrutura separada para casos de uso específicos ou constrói uma casa do lago monolítica? Conecte comigo e com o Kai no LinkedIn e vamos discutir isso! Mantenha-se informado sobre as novas postagens do blog assinando a newsletter.
Comments