The lakehouse gets blamed for a lot of problems that are really transformation problems with better marketing.

Why the transformation layer matters in ODI

Open lakehouse stacks tend to standardize on open storage and open table formats. That is necessary for portability. It is not enough for reliability. The transformation layer is where most organizations encode business logic, data contracts, and the operational reality of change.

dbt Core and SQLMesh both live in this layer. In ODI terms, the question is not "which is nicer." The question is which approach gives you controlled change, repeatability, and a credible rollback story when multiple teams share the same tables.

Core idea: ODI portability fails when transformation logic becomes a hidden proprietary dependency, even if the table format is open.

What dbt Core is optimized for

dbt Core is a transformation workflow for building models, tests, and documentation as code. It is widely used to create a DAG of SQL models and to enforce data quality checks tied to those models. dbt Core documentation.

In practice, dbt shines when:

  • the team standardizes on a clear development workflow and deployment process
  • data models and tests are treated like a product, not a one-off project
  • the organization wants a common way to document and review transformation logic

dbt also pushes you to separate modeling from engine mechanics, which aligns with ODI when the table and catalog layers stay open.

What SQLMesh is optimized for

SQLMesh is a SQL transformation framework with an explicit focus on environments, change management, and controlled promotion of changes. It positions itself around safer iteration: you can model changes in isolated environments and promote them intentionally. SQLMesh documentation.

SQLMesh tends to be compelling when:

  • multiple teams share tables and you need more explicit environment isolation
  • you want first-class support for incremental backfills and controlled rollouts
  • you treat transformation changes as releases with measurable risk

That focus maps cleanly to ODI operational goals, especially when the lakehouse is multi-engine and multi-team.

The differences that show up in production

Differences that matter when the lakehouse becomes critical infrastructure:

  • environment strategy: how you isolate changes, validate results, and promote new logic
  • rollback story: how you undo a bad change without rewriting half the platform
  • incremental correctness: how you guarantee incremental models remain correct under late data and backfills
  • operational ergonomics: observability, run history, and incident response behavior

If you do not evaluate those explicitly, you will evaluate them during your first outage.

How to choose

Use a practical decision model:

  • If you need a mature, widely adopted modeling workflow: start with dbt Core, then invest in a disciplined deployment and review process.
  • If you need stronger environment isolation and release mechanics: evaluate SQLMesh seriously, especially for shared-platform scenarios.
  • In both cases: keep the durable contract below the transformation layer. Standardize on open table formats and catalogs so transformation choices remain reversible.

If you want the production view of the rest of the stack, read Running the Open Lakehouse in Production.

Sources to start with

Start with the official docs, then test each tool against the operational edge cases you actually have.