Trino Federation / Two DuckDB Marts One SQL endpoint over two independent warehouses Both projects keep their own DuckDB file; nothing was exported, merged or re-loaded. Trino holds each file as a catalog and plans a query that spans them — the table above is a single statement, not two results stitched together. The catalogs are declared as static properties files, so adding a source is a file plus a coordinator restart, not a pipeline change. Two Catalogs, One EndpointRow counts read across both DuckDB files in a single Trino statementCatalogTable NameRow Countduckdb / analytics.duckdbevents183Kduckdb / analytics.duckdborders928duckdb / analytics.duckdbusers20Kduckdb_promo / promo.dbbreakeven6duckdb_promo / promo.dbpromo_cells562Kduckdb_promo / promo.dbpromo_waves9.05K 020k40k60k80kEventsapp_openview_itemadd_to_cartcheckoutpurchaseEventEvent Mix, Catalog 1duckdb.main.events — the ecommerce analytics mart−4mn−3mn−2mn−1mn0Own profitdairybakerygroceryfrozendrinksnonfoodCategoryPromo Profit by Category, Catalog 2duckdb_promo.main.promo_waves — the retail promo mart Data as of 00:09 UTC on 4 Nov 2026 made withdbt Charts