FEATURES
Everything you need for cross-engine data transformation, built on the tools you already know.
CROSS-ENGINE SQL MODELS
Write SQL models that reference sources on ANY database. DVT detects cross-engine references and automatically handles data movement.
- ▸Join MySQL + Snowflake + PostgreSQL in one SELECT statement
- ▸No manual ETL pipelines — DVT routes data automatically
- ▸Automatic execution path selection based on source locations
- ▸Two dialects coexist: target SQL for pushdown, DuckDB SQL for extraction
THREE EXECUTION PATHS
DVT intelligently selects the optimal execution strategy for each model in your DAG.
- ▸Adapter Pushdown — all sources on same engine? SQL runs directly on the database. Zero data movement.
- ▸Extraction via DuckDB — cross-engine? Sling extracts sources → DuckDB joins → Sling loads to target.
- ▸Cross-Target — model targets a different database or cloud bucket? Sling streams the result.
DBT COMPATIBILITY
100% backward compatible with dbt-core. Your existing dbt project works unchanged — DVT extends it.
- ▸Same ref(), source(), config() functions
- ▸Same materializations: table, view, incremental, ephemeral
- ▸Same testing framework, documentation, packages
- ▸Same CLI patterns: run, build, test, compile, seed, docs
INCREMENTAL EXTRACTION
Full incremental support for cross-engine models with persistent DuckDB cache.
- ▸Watermark-based delta extraction — only new/changed rows move
- ▸Three strategies: append, delete+insert, merge
- ▸Persistent .dvt/cache.duckdb between runs
- ▸Fast is_incremental() checks — local, no network
HIGH-PERFORMANCE SEEDS
Sling-based CSV loading — 10-100x faster than dbt's native agate loader.
- ▸Bulk loading via COPY, bcp, sqlldr
- ▸Automatic schema inference
- ▸Handles dirty data gracefully (encoding, mixed types, nulls)
- ▸Works across all 19 supported engines
SELF-HEALING ENVIRONMENT
dvt sync automatically verifies and installs everything your project needs.
- ▸Database drivers (psycopg2, snowflake-connector, etc.)
- ▸DuckDB extensions (postgres_scanner, mysql_scanner)
- ▸Cloud SDKs (boto3, google-cloud-storage)
- ▸Sling binary for data movement
DATA CATALOG
dvt docs generate enriches the catalog with column metadata from ALL engines.
- ▸Queries remote databases for column types and descriptions
- ▸Engine-colored lineage graph nodes
- ▸Futuristic dark theme UI
- ▸Cross-engine source and model documentation
FEDERATION OPTIMIZER
Intelligent query decomposition for cross-engine models via SQLGlot.
- ▸Predicate pushdown to source engines
- ▸Column pruning — only extract needed columns
- ▸LIMIT propagation
- ▸Source-specific query decomposition