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.