curso
O que é Zero-ETL? Apresentando novas abordagens para a integração de dados
Nas empresas modernas, há uma necessidade crescente de minimizar o tempo necessário para implementar insights de dados. Você precisa de uma abordagem rápida para acelerar a transição da coleta de dados para a implementação da análise, da inteligência artificial e do machine learning.
As arquiteturas tradicionais de ETL (extração, transformação e carregamento) enfrentam desafios para atender às demandas técnicas de big data e análise de dados em tempo real. Portanto, surgiu uma nova arquitetura de gerenciamento de dados chamada zero-ETL para minimizar ou eliminar a necessidade de processos de ETL.
O que é Zero-ETL?
O Zero-ETL é um sistema de integrações projetado para eliminar ou reduzir a necessidade de criar pipelines de dados ETL. Ao permitir consultas em diferentes silos de dados sem mover fisicamente os dados, o zero-ETL tem como objetivo simplificar o processamento de dados e aumentar a eficiência.
O termo "zero-ETL" foi introduzido durante a conferência AWS re:Invent em 2022, quando a integração do Amazon Aurora com o Amazon Redshift foi anunciada. Desde então, a AWS avançou esse conceito, principalmente por meio de serviços que oferecem suporte à análise e transformação direta de dados nas plataformas de dados, sem a necessidade de pipelines de ETL separados.
Em um pipeline típico de processamento de dados ETL, um profissional de dados, como um engenheiro de dados ou um cientista de dados, coleta dados de uma fonte, como um banco de dados, uma API, um JSON ou um arquivo XML.
Depois de extrair os dados, várias transformações são aplicadas, como a combinação de dados, a realização de cálculos, a fusão de tabelas ou a remoção de informações desnecessárias, como carimbos de data/hora ou IDs de usuários.
Por fim, os dados transformados são carregados em uma plataforma para análise posterior, como machine learning, análise estatísticaou visualização de dados. Esse processo exige tempo, custo e esforço significativos devido à sua complexidade.
Arquitetura ETL tradicional
Considere esta analogia: Na fotografia tradicional, uma imagem é capturada com um filme negativo (extração de dados), processada em um quarto escuro (transformação) e, em seguida, revelada e exibida (carregamento). Agora, imagine uma câmera digital em que a imagem é capturada, revelada e pronta para ser exibida (ou transmitida instantaneamente em uma transmissão ao vivo), tudo em um só lugar.
Da mesma forma, o zero-ETL altera o processamento de dados, eliminando a extração, a transformação e o carregamento. Essa arquitetura minimiza a movimentação de dados e nos permite transformar e analisar todos os dados em uma única plataforma.
O Zero-ETL promete análise de dados em tempo real ou com latência mínima para cientistas de dados e partes interessadas nos negócios.
Como funciona o Zero-ETL?
O Zero-ETL simplifica a integração de dados, vinculando diretamente as fontes de dados a data warehouses ou lagos de dadosgarantindo a disponibilidade de dados em tempo real para análises e relatórios. Isso é possível graças a várias tecnologias e serviços baseados em nuvem, como:
Replicação de banco de dados
A replicação de banco de dados é o processo de copiar e sincronizar dados de um banco de dados para outro.
No contexto de ETL zero entre um banco de dados e um data warehouse, a replicação garante que os dados no data warehouse sejam atualizados automaticamente em tempo real ou quase em tempo real, eliminando a necessidade de processos ETL separados. Esse é o caso da integração entre o Amazon Aurora e o Amazon Redshift.
Consulta federada
A consulta federada refere-se à capacidade de executar consultas em várias fontes de dados, como bancos de dados, data warehouses ou data lakes, sem a necessidade de mover ou replicar os dados em um único local.
Com relação à ETL zero, a consulta federada permite que os profissionais de dados acessem e analisem diretamente os dados armazenados em diferentes plataformas de dados, fornecendo uma visão unificada dos dados sem a sobrecarga dos processos tradicionais de ETL.
Fluxo de dados
O streaming de dados refere-se ao processamento contínuo e em tempo real e à transferência de dados à medida que são gerados.
No zero-ETL, o streaming de dados envolve a captura de dados de várias fontes (como bancos de dados, dispositivos de IoT ou aplicativos) e o fornecimento imediato a um data warehouse ou data lake. Isso garante que os dados estejam disponíveis para análise e consulta quase instantaneamente, sem processos de ETL em lote.
Análise de dados no local
Para obter uma análise de dados no local, as transformações necessárias são integradas à plataforma de dados na nuvem, como um lago de dados. Essa integração permite o processamento e a análise de dados em tempo real diretamente onde os dados residem, reduzindo a latência e melhorando a eficiência.
Por exemplo, os dados não estruturados coletados em um formato JSON ou XML serão transformados e analisados usando tecnologias de "esquema na leitura" dentro do próprio lago de dados, eliminando as etapas intermediárias de movimentação de dados para o armazenamento pronto para relatórios.
Exemplo de arquitetura de dados Zero-ETL
Os diferentes componentes do Zero-ETL
Embora a arquitetura zero-ETL possa parecer que não tem componentes ou que todos os componentes são unificados, diferentes elementos e serviços podem ser usados, dependendo das necessidades dos recursos e da análise de destino. Esses serviços incluem:
Serviços de integração direta de dados
Os provedores de nuvem oferecem serviços especializados que automatizam a integração zero-ETL. Como mencionado anteriormente, o AWS oferece a integração do Amazon Aurora com o Amazon Redshift, em que os dados gravados no Aurora são replicados automaticamente no Redshift. Esses serviços gerenciam a replicação e a transformação de dados internamente, eliminando a necessidade de processos tradicionais de ETL.
Captura de dados de modificação (CDC)
A tecnologia CDC é um elemento central das arquiteturas zero-ETL. Ele monitora e captura continuamente as alterações (inserções, atualizações, exclusões) nos bancos de dados de origem e replica essas alterações em tempo real para os sistemas de destino.
Pipelines de dados de streaming
Os pipelines de streaming movem dados em tempo real de diferentes fontes para o sistema de destino. Plataformas como Amazon Kinesis e Apache Kafka permitem o fluxo contínuo de dados, garantindo atualizações de baixa latência.
Computação sem servidor
As arquiteturas sem servidor oferecem suporte à ETL zero, gerenciando automaticamente a infraestrutura necessária e dimensionando os recursos com base na demanda. Serviços como AWS Lambda e o Google Cloud Functions exemplificam essa abordagem, permitindo que as funções sejam executadas em resposta a eventos de dados.
Tecnologias de esquema em leitura
Ao aplicar o esquema ao ler os dados em vez de quando eles são gravados, o schema-on-read oferece flexibilidade no tratamento de formatos de dados não estruturados e semiestruturados, como JSON e XML. Essa abordagem reduz a necessidade de esquemas predefinidos e permite a análise dinâmica de dados.
Federação e abstração de dados
O Zero-ETL facilita a ingestão e a duplicação de dados de diferentes fontes por meio da federação de dados. Isso envolve o uso de data lakes e virtualização de dados entre plataformas para criar uma camada de objeto abstrato, simplificando a duplicação de dados sem a necessidade de transformação e movimentação de dados extensivas. A virtualização de dados permite que os usuários acessem e consultem dados em diferentes sistemas como se estivessem em um único local.
Lagos de dados
Em uma abordagem zero-ETL, as transformações e análises são realizadas na plataforma de dados. Isso permite o gerenciamento de dados não estruturados em vários formatos (vídeo, imagens, texto e numéricos) em um sistema de armazenamento de dados em vários formatos, como um lago de dados, geralmente sem a necessidade de transformações intermediárias.
Vantagens e desvantagens do Zero-ETL
O Zero-ETL pode parecer uma abordagem promissora para aumentar a eficiência da ciência de dados. No entanto, é importante comparar as vantagens e as desvantagens que uma implementação zero-ETL pode trazer.
Vantagens do zero-ETL
O Zero-ETL traz vários benefícios para o gerenciamento e a análise de dados, incluindo:
- Engenharia simplificada: Zero-ETL simplifica a arquitetura do pipeline de dados integrando extração, transformação e carregamento em um único processo ou eliminando-o completamente. Com essa simplificação, você reduz a complexidade e acelera as tarefas de análise de dados e machine learning, facilitando para os cientistas de dados a obtenção rápida de insights.
- Análises em tempo real: O Zero-ETL permite a análise de dados em tempo real, mesclando as fases de extração, transformação e carregamento diretamente na plataforma de dados. Quando novos dados são coletados, eles podem ser analisados imediatamente, permitindo uma tomada de decisão mais rápida e insights oportunos.
Desvantagens do zero-ETL
Apesar de seus benefícios, o zero-ETL pode apresentar alguns desafios, incluindo:
- Solução de problemas complicada: A identificação e a solução de problemas podem ser mais complexas porque todos os processos de dados são executados em uma única etapa integrada. Para isolar a origem dos problemas, é necessário um profundo entendimento de todo o sistema.
- Curva de aprendizado mais acentuada: A eliminação dos pipelines tradicionais de ETL pode reduzir a necessidade de funções intermediárias de engenharia de dados. Essa mudança pode levar a uma curva de aprendizado mais acentuada para os cientistas de dados e engenheiros de machine learning, que agora precisam gerenciar tarefas que antes eram realizadas por engenheiros de dados.
- Dependência da nuvem: As soluções Zero-ETL são normalmente baseadas na nuvem por design. As organizações que ainda não estão preparadas para integrar as tecnologias de nuvem em seus sistemas podem enfrentar desafios na adoção da ETL zero. Essa dependência pode gerar preocupações sobre segurança, conformidade e controle de dados.
Casos de uso típicos de Zero-ETL
O Zero-ETL oferece vantagens significativas em diferentes cenários de processamento e análise de dados em tempo real. Aqui estão alguns casos de uso típicos:
- Análises em tempo real: O Zero-ETL elimina o processo tradicional de ETL em lote e permite o acesso em tempo real a dados recém-gerados, incluindo interações com clientes, comportamentos de usuários e padrões de tráfego de veículos. Essa automação permite que as equipes tomem decisões baseadas em dados instantaneamente, melhorando a capacidade de resposta e a eficiência operacional.
- Transferência instantânea de dados: Em uma arquitetura de gerenciamento de dados com ETL zero, a eliminação do pipeline de ETL significa que a duplicação de dados para outro depósito, onde os cientistas de dados podem acessá-los, acontece significativamente mais rápido ou até mesmo em tempo real.
- Machine learning e IA: O Zero-ETL é particularmente benéfico para aplicativos de machine learning e inteligência artificial, em que dados oportunos são fundamentais. O streaming de dados em tempo real e a disponibilidade imediata permitem o treinamento contínuo e a atualização dos modelos de machine learning com os dados mais recentes, melhorando a precisão e a relevância das previsões e dos insights de IA.
Comparação entre Zero-ETL e ETL tradicional
Na tabela a seguir, você encontrará uma comparação detalhada entre os processos Zero-ETL e ETL tradicional.
Zero-ETL |
Traditional ETL |
|
Virtualização de dados |
Ele usa tecnologias de virtualização de dados para facilitar a duplicação de dados entre armazéns. |
A virtualização de dados pode ser redundante ou difícil de implementar porque os dados são movidos da transformação para a fase de carregamento no ETL. |
Monitoramento da qualidade dos dados |
Trata-se essencialmente de uma abordagem de gerenciamento de dados automatizado; portanto, podem surgir problemas de qualidade de dados. |
Devido à natureza discreta do pipeline de movimentação de dados no ETL, a qualidade dos dados é melhor monitorada e corrigida. |
Diversidade de tipos de dados |
Os data lakes baseados em nuvem permitem vários tipos e formatos de dados sem restrições de arquitetura. |
A arquitetura de extração e transformação pode restringir os tipos de dados (é necessário um esforço adicional de engenharia nas fases de extração e transformação para diferentes tipos de dados). |
Implementação em tempo real |
A análise de dados pode ser feita na plataforma com latência mínima, desde a geração de dados até a transformação e a análise. |
A natureza de lote programado do pipeline impede a análise de dados em tempo real. |
Custo e manutenção |
Ele é mais econômico e mais fácil de manter porque requer menos componentes computacionais e codificação. A transformação e o carregamento de dados podem ser feitos sob demanda. |
É mais caro porque requer mais recursos computacionais e profissionais de dados experientes. |
Escala |
Dimensionamento mais rápido e menos dispendioso devido à eliminação do hardware intermediário para a movimentação de dados. |
Pode ser lento e caro devido à necessidade crescente de melhor hardware e otimização de código para acomodar fontes de dados mais extensas. |
Movimentação de dados |
Nenhum ou mínimo. |
A movimentação de dados é necessária porque o pipeline é discreto e os dados devem ser transferidos para o estágio de carregamento. |
Zero-ETL versus outras técnicas de integração de dados
A seguir, você verá uma comparação da zero-ETL com outras técnicas de integração de dados importantes, destacando suas semelhanças e diferenças centrais.
Zero-ETL vs ELT
- Pontos em comum: Zero-ETL e ELT (Extract, Load, Transform) reduzem o tempo e a complexidade da análise de dados, adiando o processo de transformação dos dados até que eles sejam carregados no sistema de destino. O ELT é considerado um predecessor do zero-ETL, pois estabeleceu as bases para adiar a transformação para um estágio posterior no pipeline de processamento de dados.
- Principais diferenças: O Zero-ETL elimina a fase de preparação intermediária necessária na abordagem ELT, minimizando assim a latência e melhorando a disponibilidade de dados em tempo real. O Zero-ETL simplifica ainda mais o pipeline de dados, reduzindo o número de etapas e os requisitos de infraestrutura.
Zero-ETL vs API
- Pontos em comum: Zero-ETL e APIs permitem consultas a várias fontes de dados, facilitando a integração de dados em diferentes sistemas.
- Principais diferenças: A tecnologia Zero-ETL é basicamente uma tecnologia sem código que requer um mínimo de codificação manual para integração e gerenciamento de dados. Por outro lado, as APIs precisam de código personalizado para se conectar e interagir com diferentes fontes de dados. Além disso, as APIs podem ser mais propensas a violações de segurança devido à natureza baseada em código de sua integração, que pode introduzir vulnerabilidades se não forem gerenciadas e protegidas adequadamente.
Principais ferramentas Zero-ETL
Como vimos ao longo desta postagem do blog, a zero-ETL é uma ferramenta de gerenciamento de dados de ponta que ganhou força no setor, amplamente popularizada pela AWS e adotada por outros provedores de nuvem.
A seguir, você encontrará uma breve visão geral das principais ferramentas zero-ETL disponíveis atualmente:
Ferramentas AWS zero-ETL
- Integração direta do Aurora e do Redshift: O AWS integrou o Amazon Aurora e o Amazon Redshift para permitir análises em tempo real sem a necessidade de processos tradicionais de ETL.
- Redshift Spectrum: Permite que os usuários executem consultas SQL em exabytes de dados no Amazon S3 sem carregar ou transformar os dados. Esse serviço oferece suporte à consulta contínua de dados estruturados e não estruturados, o que o torna ideal para diversos conjuntos de dados.
- Amazon Athena: Uma solução de análise sem servidor que processa grandes volumes de dados para análise no local, incluindo machine learning e IA, usando SQL ou Python para conectar dados de streaming de serviços em nuvem.
- Ingestão de streaming do Amazon Redshift: Um serviço que fornece ingestão de dados em tempo real do Amazon Kinesis Data Streams ou do Amazon MSK, oferecendo suporte a tarefas intensivas de machine learning em tempo real.
Ferramentas Zero-ETL de outros provedores de nuvem
Além da AWS, outros provedores de nuvem oferecem plataformas de dados unificadas com recursos de ETL zero:
- Snowflake: Oferece suporte à criação de data warehouses e lagos capazes de lidar com dados não estruturados usando a arquitetura zero-ETL. Snowflake simplifica os fluxos de trabalho de dados e oferece suporte à análise em tempo real e ao machine learning.
- Google BigQuery: Executa consultas SQL complexas em grandes conjuntos de dados em tempo real, oferecendo suporte à integração perfeita com outros serviços do Google Cloud para análise em tempo real. BigQuery foi projetado para lidar com grandes quantidades de dados de forma eficiente.
- Microsoft Azure Synapse Analytics: Fornece ingestão e análise de dados em tempo real com uma plataforma analítica unificada, oferecendo suporte a aplicativos avançados de análise e business intelligence. O Synapse se integra a vários serviços do Azure.
Conclusão
Com a eliminação das fases tradicionais de ETL no pipeline de análise de dados e machine learning, você muda significativamente o paradigma da engenharia de dados. A integração da arquitetura zero-ETL oferece benefícios substanciais, incluindo maior velocidade, segurança aprimorada e maior escalabilidade.
No entanto, essa mudança também traz desafios. A necessidade de habilidades tradicionais de engenharia de dados pode diminuir, exigindo que os analistas de dados, cientistas de machine learning e cientistas de dados adquiram conceitos e habilidades mais avançados de integração de dados.
O Zero-ETL se concentra nas necessidades dos analistas de dados e dos engenheiros de machine learning, sugerindo um futuro em que essas funções se tornarão mais centrais, possivelmente remodelando as demandas e os conjuntos de habilidades do mercado de trabalho.
Se você estiver interessado em aprender mais sobre arquitetura de dados, confira nosso curso sobre ETL e ELT em Python!
Perguntas frequentes
Como uma empresa pode fazer a transição do ETL tradicional para uma arquitetura Zero-ETL?
Para fazer a transição, avalie seus processos de dados atuais e identifique áreas para reduzir a movimentação de dados. Concentre-se na adoção de tecnologias baseadas na nuvem, como data lakes e streaming em tempo real. O retreinamento da sua equipe para se adaptar a novas ferramentas e metodologias também é essencial para essa mudança.
Que tipos de organizações ou projetos são mais adequados para o Zero-ETL?
O Zero-ETL se encaixa bem em organizações que precisam de análise de dados em tempo real, como em comércio eletrônico, serviços financeiros e telecomunicações. Os projetos que se beneficiam incluem monitoramento em tempo real, preços dinâmicos e detecção instantânea de fraudes.
Quais são as implicações de longo prazo da adoção da Zero-ETL para o gerenciamento e a análise de dados?
A longo prazo, o Zero-ETL pode aumentar a agilidade da organização e gerar respostas mais rápidas aos insights dos dados. Isso também pode mudar as funções de trabalho relacionadas a dados para responsabilidades mais voltadas à integração. Atualizações regulares das medidas de segurança e conformidade serão essenciais à medida que os processos de dados forem simplificados.
Saiba mais sobre arquitetura e gerenciamento de dados com estes cursos!
curso
Transmissão de dados com o AWS Kinesis e o Lambda
curso
Entendendo a arquitetura de dados moderna
blog
Uma lista das 19 melhores ferramentas de ETL e por que escolhê-las
DataCamp Team
12 min
blog
O que é o Alteryx? Um guia introdutório
blog
Como analisar dados para sua empresa em 5 etapas
blog
O que é alfabetização em dados? Um guia para líderes de dados e análise
blog
As 10 principais ferramentas de ciência de dados a serem usadas em 2024
tutorial