What's a Data Diff?
A data diff is the value-level comparison between two tables, used to identify critical changes to your data and guarantee data quality.
When you git diff your code, you’re comparing two versions of your code files to see what has changed, such as lines added, removed, or modified. Similarly, a data diff compares two versions of a dataset or two databases to identify differences in individual cells in the data.
Why do I need to diff data?
Just as diffing code and text is fundamental to software engineering and working with text documents, diffing data is essential to the data engineering workflow.
Why? In data engineering, both data and the code that processes it are constantly evolving. Without the ability to easily diff data, understanding and tracking data changes becomes challenging. This slows down the development process and makes it harder to ensure data quality.
There is a lot you can do with data diff:
- Test SQL code by comparing development or staging environment data to production
- Compare tables in source and target systems to identify discrepancies when migrating data between databases
- Detect value-level outliers, or unexpected changes, in data flowing through your ETL/ELT pipelines
- Verify that reports generated for regulatory compliance accurately reflect the underlying data by comparing report outputs with source data
Why Datafold?
Data diffing is a fundamental capability in data engineering that every engineer should have access to.
Datafold’s Data Diff is a tool that compares datasets fast, within or across databases. Datafold offers an enterprise-ready solution for comparing datasets within or across databases at scale. It includes comprehensive, optimized, and automated diffing solutions, API access, and secure deployment options.
Here’s how you can identify row-level discrepancies in Datafold:
Datafold provides end-to-end solutions for automating testing, including column-level lineage, ML-based anomaly detection, and enterprise-scale infrastructure support. It caters to complex and production-ready scenarios, including:
- Automated and collaborative diffing and testing for data transformations in CI
- Data diffing informed by column-level lineage, and validation of code changes with visibility into BI applications
- Validating large data migrations or continuous replications with automated cross-database diffing capabilities
Here’s a high-level overview of what Datafold offers:
Feature Category | Datafold |
---|---|
Database Support Databases that are supported for source-destination diff | Any SQL database, inquire about specific support |
Scale Size of datasets supported for diffing | Unlimited with advanced performance optimization |
Primary Key Data Type Support Data types of primary keys that are supported for diffing | Numerical, string, datetime, boolean, composite |
Data Types Diffing Support Data types that are supported for per-column diffing | All data types |
Export Diff Results to Database Materialize diffing results in your database of choice | |
Value-level diffs Investigate row-by-row column value differences between source and destination databases | (JSON & GUI) |
Diff UI Explore diffs visually and easily share them with your team and stakeholders | |
API Access Automatically create diffs and receive results at scale using the Datafold REST API | |
Persisting Diff History Persist the result history of diffs to know how your data and diffs have changed over time | |
Scheduled Checks Run scheduled diffs for a defined list of tables | |
Alerting Receive automatic alerts about detected discrepancies between tables within or across databases | |
Security and Compliance Run diffs in secure and compliant environments | HIPAA, SOC2 Type II, GDPR compliant |
Deployment Options Deploy your diffs in secure environments that meet your security standards | Multi-tenant SaaS or Single-tenant in VPC |
Support Choose which channels offer the greatest support to your use cases and users | Enterprise support from Datafold team members |
SLA The types of SLAs that exist to guarantee your team can diff and interact with diffs as expected | (Coming soon) |
Three ways to learn more
If you’re new to Datafold or data diffing, here are three easy ways to get started:
- Explore our CI integration guides: See how Datafold fits into your continuous integration (CI) pipeline by checking out our guides for No-Code, API, or dbt integrations.
- Try it yourself: Use your own data with our 14-day free trial and experience Datafold in action.
- Book a demo: Get a deeper technical understanding of how Datafold integrates with your company’s data infrastructure by booking a demo with our team.