Ir para o conteúdo principal
Produto

Ingira dados semiestruturados de forma mais rápida e eficiente com o Variant – Agora em Disponibilidade Geral

Usando a Otimização Preditiva, o Databricks permite que os usuários ingiram dados semiestruturados de forma flexível, mantendo um desempenho de consulta semelhante ao de dados estruturados para leituras 30 vezes mais rápidas

por Jonathan Brito, Gene Pang e Harsh Motwani

  • Agora em Disponibilidade Geral, o Variant permite que as equipes alcancem o desempenho de dados estruturados em dados semiestruturados para leituras até 30 vezes mais rápidas
  • O Variant lida perfeitamente com alterações imprevisíveis de esquema, de modo que as equipes podem ingerir dados semiestruturados sem a necessidade de atualizar os pipelines
  • O Variant está amplamente integrado à plataforma Databricks – em dados (Auto Loader, Spark Declarative Pipelines) e workloads de AI (Agent Bricks, AI Functions)

Durante anos, a ingestão de dados semiestruturados como JSON, XML ou CSV significava uma escolha difícil. As equipes de dados podiam criar pipelines de ETL para esquematizar os dados para consultas rápidas e sacrificar a flexibilidade, ou armazenar dados como strings para manter a flexibilidade e pagar o preço com um desempenho de consulta lento. Para resolver esse dilema, colaboramos com as comunidades Delta e Spark para introduzir o tipo de dados Variant e o levamos para as comunidades Parquet e Iceberg para unificar o lakehouse como um padrão único e aberto para dados semiestruturados.

Temos o prazer de anunciar que o Variant agora está em Disponibilidade Geral no Databricks. Este lançamento inclui o Variant Shredding, também em Disponibilidade Geral, uma otimização de desempenho que usa a Otimização Preditiva para melhorar automaticamente o desempenho das consultas em dados do Variant. Com o Variant, as equipes podem ingerir dados semiestruturados de forma flexível, sem comprometer o desempenho das consultas downstream.

Ingestão flexível em escala

Mais de 5 mil equipes estão gravando Variant usando o Databricks. Essas equipes costumam usar o Variant para ingerir eventos de fontes de streaming como Kinesis ou Event Hub, payloads JSON de APIs e dados sem esquema de bancos de dados como PostgreSQL e MongoDB.

O Variant é especialmente útil para lidar com alterações de esquema de fontes de ingestão. Por exemplo, um aplicativo upstream pode alterar seus tipos de API. Isso faz com que as equipes downstream tenham que correr para atualizar os pipelines relevantes, realizar backfills de dados existentes e lidar com a transição. Pior ainda, a maioria das empresas tem plataformas de dados e equipes de aplicativos separadas, tornando essas alterações de esquema imprevisíveis. Com o Variant, os usuários podem ingerir todos os seus dados semiestruturados de forma flexível em suas tabelas.

image3.png

O Variant elimina o custo inicial de trabalhar com dados semiestruturados. Criar pipelines para esquematizar dados leva tempo, exigindo que os engenheiros de dados justifiquem seu investimento de tempo. O Variant inverte o paradigma: as equipes podem carregar os dados primeiro, sem esforço, e depois descobrir sua utilidade para o restante da empresa.

Consultas mais rápidas e inteligentes com a Otimização Preditiva

Os usuários do Databricks executam mais de 500 milhões de consultas Variant por mês em mais de 160 TB de dados Variant. O Databricks torna a leitura do Variant tão rápida quanto a leitura de dados esquematizados em tabelas gerenciadas. Usando o Shredding, o Variant armazena campos comuns como colunas nos arquivos Parquet subjacentes. A Otimização Preditiva treina no workload e nos padrões de consulta exclusivos do usuário e, usando machine learning, identifica os campos fragmentados mais críticos e coleta estatísticas sobre eles para melhorar o descarte de arquivos. Como resultado, o Databricks varre apenas os arquivos e colunas necessários para uma consulta, evitando trabalho desnecessário e aumentando o desempenho.

A fragmentação (shredding) do Variant oferece leituras quase 4 vezes mais rápidas do que o Variant não fragmentado — e leituras 30 vezes mais rápidas do que o armazenamento de JSON como string:

image2.png

Com o Variant, o Databricks está liberando um desempenho extremamente rápido em escala:

Precisamos consultar logs de segurança que não são apenas registros planos simples, mas estruturas JSON complexas que são difíceis de pesquisar com eficiência. O suporte ao Variant do Databricks, combinado com a fragmentação (shredding), permite consultas de alto desempenho de atributos profundamente aninhados — mesmo em escala de petabytes

Panther

— Russell Leighton, Arquiteto-Chefe

Como usar o Variant no Databricks

Com o Databricks, você pode usar o Variant em toda a sua pilha de dados.

Nossos usuários costumam usar duas ferramentas para ingerir dados semiestruturados como Variant:

  1. Auto Loader, uma fonte para processar incrementalmente arquivos semiestruturados a partir do armazenamento de objetos
  1. Zerobus, um serviço de ingestão totalmente gerenciado para gravar diretamente em tabelas sem usar um barramento de mensagens

Ambas as abordagens de ingestão gravam dados no Delta ou no Iceberg, permitindo que qualquer cliente interopere com os dados no lakehouse. Para simplificar a configuração, use o Genie Code no Editor de Pipelines do Lakeflow para gerar facilmente pipelines de ingestão do Auto Loader usando linguagem natural.

Delta ou Iceberg

As equipes podem, então, consumir diretamente os dados do Variant no Lakehouse. Como os dados são fragmentados de forma inteligente durante o processo de ingestão, os painéis e relatórios podem consultar os dados diretamente com a mesma rapidez dos dados estruturados.

Em um futuro próximo, planejamos expandir ainda mais o suporte ao Variant para incluir o Liquid Clustering por campos do Variant, funções SQL expandidas e outras integrações de recursos.

Comece a usar o Variant hoje mesmo

Com o Variant, você não precisa mais escolher entre flexibilidade e desempenho ao usar dados semiestruturados. O Databricks usa a Otimização Preditiva, que rastreia os padrões de workload e consulta, para gravar automaticamente os dados do Variant para obter o melhor desempenho em todos os produtos.

Começar a usar o Variant é fácil – experimente aqui.

(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

Receba os posts mais recentes na sua caixa de entrada

Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.