Continuamos a considerar o dbt como uma opção sólida e sensata para implementar transformações de dados em pipelines de ELT. Gostamos do fato de que ele preza pelo rigor da engenharia e permite práticas como modularidade, capacidade de teste e reutilização de transformações baseadas em SQL. O dbt integra-se bem com muitos data warehouses, lakehouses e bancos de dados em nuvem, incluindo Snowflake, BigQuery, Redshift, Databricks e Postgres, e tem um ecossistema saudável de pacotes comunitários em torno dele. O suporte nativo introduzido recentemente (no dbt core 1.8+ e na recém-introduzida experiência “sem versão” do dbt Cloud) para testes unitários fortalece ainda mais sua posição em nossa caixa de ferramentas. Nossas equipes valorizam o fato de a nova funcionalidade de teste unitário permitir que elas definam facilmente os dados de teste estáticos, configurem as expectativas de saída e testem os modos incremental e de atualização total de seus pipelines. Em muitos casos, isso permitiu que elas descontinuassem os scripts desenvolvidos internamente, mantendo o mesmo nível de qualidade.
dbt continua sendo nossa ferramenta preferida para a transformação de dados no fluxo ELT. Nós gostamos que a ferramenta se adequa ao rigor de engenharia e habilita práticas como modularidade, testabilidade e reusabilidade de transformações baseadas em SQL. dbt está disponível em versões de código aberto e SaaS comercial e tem um ecossistema saudável, incluindo uma central para a comunidade com pacotes para teste unitário, qualidade de dados e observabilidade dos dados, para mencionar alguns. Alguns dos pacotes de extensão que queremos destacar incluem: dbt-expectations e dbt-unit-testing que facilitam armazenamento de dados em nuvem, lakehouses e bancos de dados incluindo, Snowflake, BigQuery, Redshift, Databricks e Postgres. Quando estamos trabalhando com dados estruturados onde é possível configurar a transformação dos dados em SQL, nosso time prefere dbt - e é por isso que estamos movendo-o para Adote.
Desde a última vez que escrevemos sobre dbt, nós temos usado em alguns projetos e gostamos do que vimos. Por exemplo, gostamos do fato de que o dbt torna a parte da transformação de pipelines ELT mais acessível para consumidores de dados, em contraste com a prática de apenas pessoas engenheiras de dados construindo pipelines. O dbt faz isso ao mesmo tempo em que incentiva boas práticas de engenharia, como controle de versão, implantação e testes automatizados. SQL continua a ser a língua franca do mundo dos dados (incluindo bancos de dados, warehouses, motores de consulta, lagos de dados e plataformas analíticas) e a maioria desses sistemas oferece suporte até certo ponto. Isso permite que o dbt seja usado nesses sistemas para transformações, apenas criando adaptadores. O número de conectores nativos cresceu para incluir Snowflake, BigQuery, Redshift e Postgres, assim como a variedade de plugins da comunidade. Vemos ferramentas como o dbt ajudando as plataformas de dados a ampliar sua capacidade de "autoatendimento".
A transformação de dados é uma parte essencial dos fluxos de trabalho de processamento de dados: filtra, agrupa ou reune múltiplas fontes em um formato adequado para analisar dados ou alimentar modelos de aprendizado de dados. dbt é uma ferramenta de código aberto e um produto SaaS comercial que fornece capacidades de transformação simples e efetivas para analistas de dados. Os frameworks atuais e o ferramental para transformação de dados caem ou no grupo de poderosos e flexíveis – requisitando um entendimento íntimo do modelo de programação e linguagens do framework, tais como Apache Spark – ou no grupo das ferramentas bobas de UI, de arrastar e soltar, que não se prestam a práticas de engenharia confiáveis, tais como testes automatizados e implantação. dbt preenche um nicho: usa SQL – uma interface amplamente entendida – para modelar simples transformações em lote, enquanto fornece ferramentas de linha de comando que incentivam boas práticas de engenharia, como versionamento, testes automatizados e implantações. Essencialmente, implementa a modelagem de transformação baseada em SQL como código. dbt atualmente suporta múltiplas fontes de dados, incluindo Snowflake e Postgres, e fornece várias opções de execução, como a Airflow e a própria oferta de nuvem da Apache. Sua capacidade de transformação está limitada ao que o SQL oferece e, até a publicação deste texto, não suporta transformações de streaming em tempo real.