Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Engineering
  3. dvt

dvt

Apache-2.0Pythonv8.9.3

A Python CLI tool for comparing data across heterogeneous databases and data warehouses to ensure migration accuracy.

GitHubGitHub
524 stars171 forks0 contributors

What is dvt?

The Data Validation Tool (DVT) is an open-source Python command-line tool that compares data between different database systems and data warehouses. It solves the problem of ensuring data accuracy and consistency during migration projects by automating validation checks between source and target environments.

Target Audience

Data engineers, database administrators, and DevOps professionals involved in data migration, replication, or ETL pipeline validation across heterogeneous data systems.

Value Proposition

Developers choose DVT for its extensive connector support, ability to handle large-scale validations through partitioning, and its automation-friendly CLI and YAML configuration, which replaces manual SQL comparison scripts.

Overview

Utility to compare data between homogeneous or heterogeneous environments to ensure source and target tables match

Use Cases

Best For

  • Validating data after migrating from on-premises databases to cloud data warehouses
  • Comparing ETL pipeline outputs between different processing engines
  • Ensuring schema and data consistency during database version upgrades
  • Automating data quality checks in continuous integration pipelines
  • Verifying data replication accuracy between heterogeneous systems
  • Performing large-scale row-level comparisons across partitioned datasets

Not Ideal For

  • Real-time data validation or streaming pipelines, as DVT is designed for batch comparisons and lacks built-in streaming support.
  • Projects with heavily nested or array-based data structures, since DVT explicitly does not support complex columns for column or row validations.
  • Teams operating entirely outside Google Cloud Platform without GCP services, due to its optimization for BigQuery, GCS, and Secret Manager integration.
  • Simple, single-database checks where lightweight SQL scripts or GUI tools would suffice, given DVT's CLI complexity and setup overhead.

Pros & Cons

Pros

Broad Connector Support

Supports 15+ data sources including BigQuery, PostgreSQL, Oracle, and Snowflake, enabling cross-platform validations without custom SQL for each pair.

Scalable Partitioning

Automatically generates partitions for large datasets and supports distributed runs via Kubernetes or Cloud Run Jobs, handling billions of rows efficiently as documented in the scaling section.

Flexible Validation Types

Offers column, row, schema, and custom query validations with detailed options like group by and calculated fields, replacing manual comparison scripts.

Configuration-Driven Workflow

Uses YAML/JSON config files for defining validations, making it easy to automate, version control, and repeat checks in CI/CD pipelines.

Cons

Complex Data Type Limitations

Does not support nested or complex columns for column or row validations, which can be a blocker for modern data warehouses with JSON or array fields.

GCP-Centric Architecture

Optimized for GCP services like BigQuery and Secret Manager; on-prem setups require extra configuration for endpoints and lack seamless integration with non-GCP clouds.

Memory-Intensive Row Validations

Row-level comparisons can cause MemoryError on large tables, forcing users to manually partition data with generate-table-partitions, adding operational complexity.

Frequently Asked Questions

Quick Stats

Stars524
Forks171
Contributors0
Open Issues140
Last commit22 hours ago
CreatedSince 2020

Tags

#data-migration#cli-tool#python#data-lake#data-validation#bigquery#data-warehouse

Built With

P
Python

Included in

Data Engineering8.5k
Auto-fetched 9 hours ago

Related Projects

datacompydatacompy

Pandas, Polars, Spark, and Snowpark DataFrame comparison for humans and more!

Stars658
Forks166
Last commit3 days ago
everyroweveryrow

A toolkit for frontier forecasting.

Stars54
Forks7
Last commit1 day ago
koala-diffkoala-diff

Blazingly fast data comparison tool for Python, powered by Rust. Compare massive CSV/Parquet datasets instantly.

Stars7
Forks0
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub