AI-powered
podcast player
Listen to all your favourite podcasts with AI-powered features
Data Fold is focused on automating testing for data and analytics engineers by providing tools that help verify and validate the code written by data developers. Their goal is to ensure that data teams can ship high-quality data products faster. They achieve this by combining two technologies - DataDiff, an open-source tool for comparing tables and SQL queries, and data lineage analysis. DataDiff helps data developers preview the changes they make to DBT models, ensuring they are fully aware of the impact on the data produced. Data lineage analyzes metadata, logs, and integrates with BI tools to understand the dependencies within the data platform. By using these technologies together, DataFold helps data teams understand the impact of code changes on the entire data platform and enhances visibility during the code deployment process.
Testing in the data space has its challenges. One major challenge is the absence of a ground truth for accurate and complete data. However, the focus shifts to maintaining consistency over time. It becomes crucial to ensure that data accurately represents the business reality and remains consistent. The complexity of data environments and the sheer number of tables, columns, and changes make it difficult to manually test and validate data. Assertion tests and SQL queries are commonly used, but they cannot provide comprehensive coverage or handle the scale of data sets. Additionally, the testing maturity in the data space lags behind software engineering. Data practitioners are still finding the best ways to test and validate data products and pipelines.
The focus on testing and validation skills for data practitioners is still evolving. With the prevalence of DBT as a standard tool for data pipelines, DBT tests have become an important practice. DBT tests, such as assertion tests, referential integrity checks, and metric comparisons, ensure the quality and correctness of data. However, the complexity of data environments, especially with larger DBT projects, makes achieving full test coverage challenging. Currently, there is a need to rely on insights and intuition when choosing what to test and validate. To address this, tools like DataDiff and data lineage analysis provide visibility and impact analysis of code changes, helping data practitioners understand the effects on data across the entire data platform.
Staging environments and automation play a crucial role in testing and validating DBT projects. Building staging environments allows developers to test code changes before deployment. DBT, with its simplified management of environments, simplifies the creation of staging environments using variables and substitutions. The challenge is ensuring the representativeness of data used in staging environments. Techniques like using production data, using slim CI builds, or leveraging in-zero-copy cloning help optimize staging environment builds. Continuous integration (CI) processes are essential in automatically running tests on staging environments. CI pipelines can leverage DBT Cloud or standalone CI runners like GitHub Actions or Circle CI. By combining staging environments, automated testing, and CI processes, data teams can ensure the quality and reliability of their code changes.
Data engineering is all about building workflows, pipelines, systems, and interfaces to provide stable and reliable data. Your data can be stable and wrong, but then it isn't reliable. Confidence in your data is achieved through constant validation and testing. Datafold has invested a lot of time into integrating with the workflow of dbt projects to add early verification that the changes you are making are correct. In this episode Gleb Mezhanskiy shares some valuable advice and insights into how you can build reliable and well-tested data assets with dbt and data-diff.
The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA
Special Guest: Gleb Mezhanskiy.
Sponsored By:
Listen to all your favourite podcasts with AI-powered features
Listen to the best highlights from the podcasts you love and dive into the full episode
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
Listen to all your favourite podcasts with AI-powered features
Listen to the best highlights from the podcasts you love and dive into the full episode