Skip to content
DataHashi Docs

What is datahashi?

datahashi is a semantic layer: a governed business model that sits between your physical data warehouse (Snowflake, BigQuery, Postgres, MySQL, or DuckDB) and the tools that need to query it — dashboards, embedded analytics, internal services, and LLM agents.

Instead of every consumer writing its own SQL — and its own joins, and its own definition of “revenue” — you define a semantic model once: the entities, dimensions, measures, and metrics that make up your business vocabulary. Every consumer then queries that model through the same governed API, and never writes SQL directly against your warehouse.

  • One definition, everywhere. “Average order value” is defined once, in the model — not copy-pasted, and slowly diverging, across every dashboard and notebook.
  • Safe for LLM agents. Agents query datahashi through a small set of structured tools over MCP — they select metrics and dimensions from your catalog and never emit raw SQL against your warehouse.
  • Fast. Common query shapes are served from pre-aggregated rollups with sub-second latency; the warehouse is only touched to build or refresh them, not on every request.
  • Governed. Row-level security and cost limits are enforced server-side from the credential presented — never something a client, or an LLM, can widen from inside the query itself.
datahashi architecture overview Consumers — dashboards, internal services, and LLM agents over MCP — query the datahashi semantic layer, which validates and compiles the request before it ever reaches your warehouse. A dashed line shows the blocked direct path. Dashboards & embedded analytics Internal services LLM agents via MCP datahashi semantic layer Semantic model (YAML) Compiler & join graph Governance & guardrails Your warehouse Snowflake · BigQuery · Postgres · MySQL · DuckDB No raw SQL — consumers never query the warehouse directly
Every query starts at a consumer, is compiled by the semantic layer, and only then reaches the warehouse — never the other way around.
  1. Connect a source — point datahashi at your warehouse.
  2. Model it — describe entities, dimensions, measures, and metrics in YAML.
  3. Query it — over REST or MCP, using the names in your model — never SQL.

Start with Getting started, or jump straight to the semantic model glossary if you want the vocabulary first.