Four engines. One copy of the data.
Every engine has a specialty and none of them is good at everything. Databasin runs four over the same Apache Iceberg tables, so choosing the right one for a job costs you a dropdown rather than another pipeline.
Apache Trino
The default for interactive SQL. Trino streams results back as it computes them, so a large scan starts returning rows instead of making you wait for the whole job. Its real advantage here is federation: it queries across catalogs, which is what makes a live source readable in the same statement as a synced table.
Trino needs a running cluster, and it hosts the live catalog. If you only ever learn one engine on this platform, learn this one.
Apache Doris
Doris is the answer to a specific complaint: the dashboard is slow and twenty people are opening it at once. It is a real-time OLAP engine built for low latency under high concurrency, which is exactly the workload Trino is not optimized for.
It reads your Iceberg lakehouse, so putting a dashboard on Doris does not mean copying the data into a second warehouse and keeping the two in sync.
Apache Spark
For heavy ETL and large-scale processing. Spark is batched rather than streaming: you submit work and collect the result, which suits a nightly transform far better than an exploratory query. Notebooks run Python and Spark cells against the same lakehouse, and a notebook can be scheduled as a task inside an automation.
DuckDB
Single node, no cluster, no waiting for one to wake. For small and medium data it is usually the quickest path from question to answer, and it is the right default while you are still prototyping a query you intend to run somewhere else later.
And Databricks, if you already run it
Databricks is supported as an external connection: you query an existing workspace from the same editor, billed by Databricks in the usual way. BYO mode layers Databasin's connectors, automations, governance and AI on top of the platform you already bought, rather than asking you to replace it.
One caveat worth knowing
The SQL editor talks to one engine at a time, and the choice applies to every open tab. Switching the connection picker re-targets all of them. Dialects differ between engines, so a query written for one may need a small edit for another. The AI SQL assistant knows which engine you are on and writes for it.