dbt or SQLMesh?

Choosing Between dbt and SQLMesh

dbt Core 37,942 , dbt v2 and SQLMesh compared
Aspect dbt Core 1.x dbt v2 (Fusion) SQLMesh
Licence Apache 2.0 Apache 2.0 core, proprietary distribution Apache 2.0
Implementation Python, Jinja 15,439 over text Rust, parses SQL Python, parses SQL (SQLGlot)
Engines PostgreSQL 1,289 , DuckDB 61,228 , many more Seven; no PostgreSQL yet DuckDB, PostgreSQL, many more
State Artifacts per run (JSON) Artifacts per run (Parquet 129 ) State store of versions and intervals
Column lineage Not in Core Yes Yes
Dev environments Schemas, --defer, clones As v1 Virtual, by views
Ecosystem Largest: packages, jobs, Cosmos Growing; v1 packages need updates Smaller; loads dbt projects

Choose dbt Core when you need the widest adapter and package support, PostgreSQL included, or tools such as Astronomer 149,584 Cosmos that build on its artifacts; BookNest's pipeline in Orchestration and Pipelines does. Try dbt v2 on supported engines for its speed and SQL checking, after removing every v1 deprecation warning. Choose SQLMesh when environments and deployments cost real money: virtual environments and interval tracking pay off on large incremental models in cloud warehouses. All three run SQL you can read, so the modeling skills of Dimensional Modeling and Slowly Changing Dimensions carry over unchanged.