ETL incremental e econômico com computação sem servidor para pipelines Delta Dwell Tables


Nós recentemente anunciado a disponibilidade geral de computação sem servidor para pipelines de Notebooks, Workflows e Delta Dwell Tables (DLT). Hoje, gostaríamos de explicar como seus pipelines ETL construídos com pipelines DLT podem se beneficiar da computação sem servidor.

Oleodutos DLT facilite a criação de fluxos de trabalho de streaming e ETL em lote com boa relação custo-benefício usando uma estrutura simples e declarativa. Você outline as transformações para seus dados, e os pipelines DLT gerenciarão automaticamente a orquestração de tarefas, dimensionamento, monitoramento, qualidade de dados e tratamento de erros.

A computação sem servidor para pipelines DLT oferece até cinco vezes melhor custo-desempenho para ingestão de dados e até 98% de economia de custos para transformações complexas. Ela também fornece confiabilidade aprimorada em comparação com DLT em computação clássica. Essa combinação leva a ETL rápido e confiável em escala no Databricks. Nesta postagem do weblog, vamos nos aprofundar em como a computação sem servidor para DLT atinge simplicidade, desempenho e o menor custo complete de propriedade (TCO) excelentes.

Os pipelines DLT em computação sem servidor são mais rápidos, mais baratos e mais confiáveis

O DLT em computação sem servidor melhora o rendimento, melhorando a confiabilidade e reduzindo o custo complete de propriedade (TCO). Essa melhoria se deve à sua capacidade de executar processamento incremental de ponta a ponta durante toda a jornada de dados — da ingestão à transformação. Além disso, o DLT sem servidor pode suportar uma gama mais ampla de cargas de trabalho ao dimensionar automaticamente os recursos de computação verticalmente, o que melhora o manuseio de tarefas com uso intensivo de memória.

Simplicidade

Os pipelines DLT simplificam o desenvolvimento de ETL ao automatizar a maior parte da complexidade operacional. Isso permite que você se concentre em entregar dados de alta qualidade em vez de gerenciar e manter pipelines.

Desenvolvimento simples

  • Programação Declarativa: Crie facilmente pipelines de lote e streaming para ingestão, transformação e aplicação de expectativas de qualidade de dados.
  • APIs simples: Manipule a captura de dados alterados (CDC) para formatos SCD tipo 1 e tipo 2 de fontes de streaming e em lote.
  • Qualidade dos dados: Aplique a qualidade dos dados com expectativa e aproveite a poderosa observabilidade para obter qualidade dos dados.

Operações simples

  • Dimensionamento automático horizontal: Escale pipelines horizontalmente automaticamente com orquestração e tentativas automatizadas.
  • Atualizações automatizadas: As atualizações do Databricks Runtime (DBR) são tratadas automaticamente, garantindo que você receba os recursos e patches de segurança mais recentes sem nenhum esforço e com tempo de inatividade mínimo.
  • Infraestrutura sem servidor: Dimensionamento automático vertical de recursos sem a necessidade de escolher tipos de instância ou gerenciar configurações de computação, permitindo que até mesmo não especialistas operem pipelines em escala.

Desempenho

DLT em computação sem servidor fornece processamento incremental de ponta a ponta em todo o seu pipeline – da ingestão à transformação. Isso significa que pipelines em execução em computação sem servidor serão executados mais rapidamente e terão menor latência geral porque os dados são processados ​​incrementalmente para ingestão e transformações complexas. Os principais benefícios incluem:

  • Inicialização rápida: Elimina inicializações a frio, pois a frota sem servidor garante que a computação esteja sempre disponível quando necessário.
  • Rendimento melhorado: Maior rendimento de ingestão com pipeline de fluxo para paralelização de tarefas.
  • Transformações Eficientes: Otimizador baseado em custo de enzimas possibilita transformações rápidas e eficientes para visualizações materializadas.

Baixo TCO

No DLT usando computação sem servidor, os dados são processados ​​incrementalmente, permitindo que cargas de trabalho com visualizações materializadas (MVs) grandes e complexas se beneficiem de tempos de processamento de dados gerais reduzidos. O modelo sem servidor usa faturamento elástico, o que significa que apenas o tempo actual gasto no processamento de dados é cobrado. Isso elimina a necessidade de pagar por capacidade de instância não utilizada ou rastrear a utilização da instância. Com o DLT na computação sem servidor, os benefícios incluem:

  • Processamento de dados eficiente: Ingestão incremental com tabelas de streaming e transformação incremental com visualizações materializadas.
  • Faturamento eficiente: O faturamento ocorre somente quando a computação é atribuída às cargas de trabalho, não pelo tempo necessário para adquirir e configurar recursos.
ETL incremental e econômico com computação sem servidor para pipelines Delta Dwell Tables

“Os pipelines DLT sem servidor reduzem pela metade os tempos de execução sem comprometer os custos, aumentam a eficiência da engenharia e simplificam operações de dados complexas, permitindo que as equipes se concentrem na inovação em vez da infraestrutura, tanto em ambientes de produção quanto de desenvolvimento.”

— Cory Perkins, engenheiro sênior de dados e IA, Qorvo

“Optamos por DLT principalmente para aumentar a produtividade do desenvolvedor, bem como a estrutura de qualidade de dados incorporada e a facilidade de operação. A disponibilidade de opções sem servidor facilita a sobrecarga na manutenção de engenharia e otimização de custos. Essa mudança se alinha perfeitamente com nossa estratégia abrangente de migrar todos os pipelines para ambientes sem servidor dentro do Databricks.”

— Bala Moorthy, gerente sênior de engenharia de dados, Compass

Vamos analisar alguns desses recursos com mais detalhes:

Processamento incremental de ponta a ponta

O processamento de dados em DLT ocorre em dois estágios: ingestão e transformação. Em DLT, a ingestão é suportada por tabelas de streamingenquanto as transformações de dados são tratadas por visões materializadas. O processamento incremental de dados é essential para atingir o melhor desempenho com o menor custo. Isso ocorre porque, com o processamento incremental, os recursos são otimizados para leitura e gravação: apenas os dados que foram alterados desde a última atualização são lidos, e os dados existentes no pipeline são tocados apenas se necessário para atingir o resultado desejado. Essa abordagem melhora significativamente o custo e a latência em comparação com as arquiteturas típicas de processamento em lote.

As tabelas de streaming sempre deram suporte ao processamento incremental para ingestão de arquivos em nuvem ou barramentos de mensagens, aproveitando a tecnologia Spark Structured Streaming para entrega eficiente e única de eventos.

Agora, o DLT com computação sem servidor permite a atualização incremental de transformações MV complexas, permitindo o processamento incremental de ponta a ponta no pipeline ETL, tanto na ingestão quanto na transformação.

Melhor atualização de dados a um custo menor com atualização incremental de visualizações materializadas

Recomputar completamente MVs grandes pode se tornar caro e incorrer em alta latência. Anteriormente, para fazer processamento incremental para transformação complexa, os usuários tinham apenas uma opção: escrever instruções MERGE e forEachBatch() complicadas no PySpark para implementar processamento incremental na camada gold.

O DLT em computação sem servidor manipula automaticamente a atualização incremental de MVs porque inclui um otimizador baseado em custo (“Enzyme”) para atualizar automaticamente e incrementalmente as visualizações materializadas sem que o usuário exact escrever lógica complexa. O Enzyme reduz o custo e melhora significativamente a latência para acelerar o processo de fazer ETL. Isso significa que você pode ter melhor atualização de dados a um custo muito menor.

Com base em nosso benchmarks internos em uma tabela de 200 bilhões de linhas, o Enzyme pode fornecer até 6,5x mais rendimento e 85% menos latência do que a atualização MV equivalente no DLT na computação clássica.

DLT sem servidor fornece latência 85% menor para atualizações de MV
O DLT sem servidor fornece latência 85% menor para atualizações de MV, a um custo 98% menor do que o DLT na computação clássica

Ingestão mais rápida e barata com pipeline de fluxo

O streaming pipelining melhora o rendimento do carregamento de arquivos e eventos em DLT ao usar tabelas de streaming. Anteriormente, com a computação clássica, period desafiador utilizar totalmente os recursos da instância porque algumas tarefas terminavam mais cedo, deixando slots ociosos. O streaming pipelining com DLT em computação sem servidor resolve isso ao habilitar o SparkTM Structured Streaming (a tecnologia que sustenta as tabelas de streaming) para processar simultaneamente microlotes. Tudo isso leva a melhorias significativas na latência de ingestão de streaming sem aumentar o custo.

Com base em nosso benchmarks internos de carregar 100 mil arquivos JSON usando DLT, o pipeline de fluxo pode fornecer até 5x melhor relação preço/desempenho do que a carga de trabalho de ingestão equivalente em um pipeline clássico DLT.

DLT sem servidor fornece 4x melhor rendimento para cargas de trabalho de ingestão
O DLT sem servidor fornece uma taxa de transferência 4x melhor para cargas de trabalho de ingestão, com TCO 32% menor do que o DLT na computação clássica

Habilite cargas de trabalho ETL com uso intensivo de memória com dimensionamento vertical automático

Escolher o tipo de instância certo para desempenho very best com volumes de dados imprevisíveis e em constante mudança – especialmente para transformações grandes e complexas e agregações de streaming – é desafiador e frequentemente leva ao superprovisionamento. Quando as transformações exigem mais memória do que a disponível, isso pode causar erros de falta de memória (OOM) e travamentos de pipeline. Isso requer o aumento guide dos tamanhos de instância, o que é trabalhoso, demorado e resulta em tempo de inatividade do pipeline.

O DLT em computação sem servidor aborda isso com dimensionamento automático vertical de recursos de computação e memória. O sistema seleciona automaticamente a configuração de computação apropriada para atender aos requisitos de memória da sua carga de trabalho. Além disso, o DLT reduzirá a escala reduzindo o tamanho da instância se determinar que sua carga de trabalho requer menos memória ao longo do tempo.

Cargas de trabalho ETL

DLT em computação sem servidor já está pronto

O DLT em computação sem servidor já está disponível, e estamos trabalhando continuamente para melhorá-lo. Aqui estão alguns aprimoramentos futuros:

  • Suporte multi-nuvem: Atualmente disponível no Azure e na AWS, com suporte ao GCP em versão prévia pública e anúncios de disponibilidade geral ainda este ano.
  • Otimização contínua de custos e desempenho: Embora atualmente otimizado para inicialização rápida, dimensionamento e desempenho, os usuários em breve poderão priorizar metas como menor custo.
  • Rede privada e controles de saída: Conecte-se a recursos dentro da sua rede privada e controle o acesso à web pública.
  • Atribuição executável: Marque notebooks, fluxos de trabalho e pipelines DLT para atribuir custos a centros de custo específicos, como para estornos.

Comece hoje mesmo com DLT em computação sem servidor

Para começar a usar DLT em computação sem servidor hoje mesmo:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *