top of page

Fivetran and dbt


In my previous blog, I'd shared Fivetran features, the level of data transformation support within Fivetran, setting up data pipelines using Fivetran to Snowflake and change data capture workflows. Given my research and our needs for complex data transformations, I'll share details on my research for considering dbt (or dbt cloud) for your data transformation needs in the context of Fivetran and Snowflake.


Fivetran is a data replication platform that can be used to extract data from a variety of sources and load it into a data warehouse or data lake. Fivetran also supports some basic data transformations, such as type casting and null handling. However, Fivetran is not a full-fledged data transformation tool.


dbt is a data transformation tool that can be used to perform complex data transformations on data in a data warehouse or data lake. dbt supports a wide range of data transformations, including:

  • Type casting

  • Null handling

  • String manipulation

  • Date and time manipulation

  • Mathematical operations

  • Logical operations

  • Conditional expressions

  • Custom transformations

dbt also supports modularity and reusability, which makes it easy to manage and maintain complex data transformations.

There are a number of reasons why you might want to consider using dbt along with Fivetran:

More powerful data transformations: dbt supports a wider range of data transformations than Fivetran. This means that you can use dbt to perform more complex data transformations on your data.

Modularity and reusability: dbt supports modularity and reusability, which makes it easy to manage and maintain complex data transformations.

Testing and documentation: dbt supports testing and documentation of data transformations. This can help you to ensure that your data transformations are working correctly and that they are well-documented.

Community support: dbt has a large and active community of users and contributors. This means that there are many resources available to help you learn how to use dbt and to troubleshoot any problems that you may encounter.

Fivetran and dbt are both powerful data integration and transformation tools, but they serve different purposes and can complement each other in a data stack.


Here are additional comparisons to consider using dbt alongside Fivetran:


ETL vs. ELT: Fivetran is primarily an ETL (Extract, Transform, Load) tool, focused on extracting data from various sources and loading it into a data warehouse. It excels at automating the extraction and loading parts of the data pipeline. While Fivetran does offer some basic transformation capabilities, it's not as flexible or robust as dedicated transformation tools like dbt. dbt, on the other hand, follows the ELT (Extract, Load, Transform) approach. It assumes that you load raw data into your data warehouse first and then transform it there. This allows for more flexible and complex transformations, making it a great complement to Fivetran.

Complex Data Transformations: If your data transformation needs are relatively simple, Fivetran's in-built transformation capabilities might be sufficient. However, many organizations require more advanced transformations, such as aggregations, joining multiple sources, denormalization, or data enrichment. dbt provides a more robust environment for creating and managing complex transformations.

Version Control and Collaboration: dbt offers version control, which is essential for collaborative data projects. This ensures that transformations are tracked, documented, and easily reversible if necessary. It also allows multiple team members to work on transformations simultaneously. While Fivetran has some collaboration features, it doesn't offer the same level of version control and collaboration capabilities as dbt.

Testing and Documentation: dbt allows you to create tests to ensure data quality and build documentation to explain the transformations, making it easier to understand and maintain your data pipelines. Fivetran provides some basic data quality monitoring, but dbt's testing and documentation capabilities are more robust.

Custom Business Logic: For businesses with specific data requirements and custom business logic, dbt is better suited for implementing these complex transformations and calculations. You can write custom SQL code and create macros in dbt to tailor the transformations to your needs.

Cost Considerations: Using dbt alongside Fivetran might be more cost-effective than relying on a fully managed data transformation solution because you have more control over the resources and only pay for what you use. It's worth noting that some organizations might choose to use Fivetran for simple data integration tasks and then use dbt for more advanced transformations, creating a hybrid ETL/ELT solution. This allows you to leverage the strengths of both tools.

Sash Barige

Sep/1/2023


Sources

  • Fivetran documentation: https://fivetran.com/docs/getting-started

  • dbt documentation: https://docs.getdbt.com/

  • dbt blog post comparing Fivetran and dbt: https://www.trustradius.com/compare-products/dbt-data-build-tool-vs-fivetran

Recent Posts

See All

Comentarios


bottom of page