Short answer: No. Databricks Genie should not be your semantic layer. Genie is a capable chat front end for data already registered in Unity Catalog, but each Genie Agent sees at most 50 tables, keeps its curated definitions to itself, and, by Databricks' own documentation, "operates in a nondeterministic manner." Unity Catalog metric views are a real semantic layer inside one platform. An enterprise semantic layer must give every platform and agent the same meaning, every time.
Databricks Genie is a good chat window for data that already lives, is governed and runs inside Databricks. It is not a semantic layer, and you should not let it become yours. Databricks' own documentation says each Genie Agent sees at most 50 tables, needs data registered in Unity Catalog, runs on a Databricks SQL warehouse, keeps its curated meanings to itself, and "operates in a nondeterministic manner."
Databricks does have a real semantic layer in Unity Catalog metric views, and Genie can use them. But governed metrics inside one platform, plus agents with private notes, are not an enterprise semantic layer that every platform and agent shares.
A semantic layer has one job: make "revenue" mean the same thing to every tool, team and agent, on every platform, every time.
| What a semantic layer must do | Databricks Genie (Genie Agents) | Colrows |
|---|---|---|
| Reach your data | Must be registered in Unity Catalog; federated databases read-only, others such as Elasticsearch copied in | Queries sources in place across Databricks, Snowflake, BigQuery, Postgres and more |
| Scope | Up to 50 tables, views or metric views per agent | Enterprise-wide model, not one per chat space |
| Where definitions live | Agent knowledge store; "does not affect Unity Catalog metadata" | One governed model shared by every agent, tool and API |
| Same question, same answer | Documented as nondeterministic | Same model version and question compile to the same governed SQL |
| Ambiguous terms | Asks for clarification when the model notices it is unsure | Flags any term with more than one approved definition; nothing runs until you choose |
| Exit plan | Metric views export as YAML; agent setup exports as Databricks-only JSON; access rules stay in Unity Catalog | Export the model as JSON; it stays with you |
Keep Genie as a front end if your teams like it. Just don't give it the keys to your definitions.
The walls: if your data is outside, it moves in
Genie Agents were "formerly known as Genie Spaces," and the rule for them is short: "The data for the Genie Agent must be registered to Unity Catalog," and "Genie Agents require a pro or serverless SQL warehouse." [1][3] Databricks calls the Unity Catalog requirement "a deliberate design choice." [4]
We asked Databricks' own documentation assistant a plain question: our data sits in Excel, an Oracle database and Elasticsearch, so can Genie use all of it, or must it be in Databricks first? The answer: "Your data must be in the Databricks ecosystem (for example, registered to Unity Catalog as managed/external tables, views, etc.) for Genie to access it natively." For Oracle and Elasticsearch, "you'd likely need to ingest or register that data into Databricks or connect via an appropriate connector." [7]

The assistant signs off with "Always review the accuracy of responses," so we checked the docs. They agree, source by source:
- Oracle, Snowflake, BigQuery, Postgres and other federated databases. Genie can query them in place through Lakehouse Federation, read-only. [5]
- Elasticsearch. It is not on either federation list, and Databricks' Elasticsearch page says the legacy federation documentation "has been retired." [5][8] The documented routes load the data into a table. That is a copy.
- Excel. Genie in Excel "answers questions about the governed data in your Databricks workspace, not the data in your spreadsheet." [9] To query a workbook, you upload it and create a table. Also a copy. [10]
- Slack, Google Drive, Microsoft 365, Jira and GitHub. Agent mode reaches these through MCP connectors, in Beta. They give the agent extra reading material. They do not put that content under your metric views. [11]
Federation has its own fine print. It is read-only, Result Cache and Disk Cache "are not supported for federated queries," and results return "to one Databricks executor task over a single stream." [6] Databricks positions it for "Ad hoc reporting, BI, and proof-of-concept access," and recommends ingestion when "performance on higher data volumes and lower latency are priorities." [5] These are federation limits, not Genie defects, but Genie depends on federation for anything outside.
Federation is the visiting room. Ingestion is the cell. Sooner or later, everyone gets a cell.
A small cell, and a handbook that changes its mind
Every Genie Agent gets up to 50 tables, views or metric views, 100 instructions and 200 knowledge-store snippets. [3][12] Databricks' own guide still says "Aim for five or fewer tables," and describes Genie as "a new data analyst joining your company" that "needs clear context to be effective." [13]
Fifty objects can run a very respectable departmental prison. The trouble is that every agent has its own walls, and your company's meaning does not respect departmental walls. Finance, sales and risk share customers, products and revenue. Split them across agents and each one keeps its own copy of what those words mean.
Then there is the handbook. The current docs say: "Because Genie operates in a nondeterministic manner, it's important to make the guidance free from conflicting or ambiguous information." [12] The same prompt can return "different outputs" when you submit it more than once. [14] When a user asked why the UI and API gave two different answers, a Databricks staff reply called it "normal behavior... Genie is nondeterministic by nature," and added that in long, heavily annotated spaces "important instructions or metadata can get dropped." [15]
So the fix for poor accuracy is more curation, and heavy curation can be silently dropped. The more rules you write, the more likely the guard skips a page.
We are not saying SQL execution is random. A governed metric view runs its SQL the same way every time. The guessing happens earlier, when Genie picks the metric, table, join and meaning. That is the step a semantic layer exists to control. Board numbers can change from Monday to Tuesday because new data arrived. The definition behind them must not change without anyone noticing.
Plausibly wrong, until someone curates it right
The dangerous answer is the one that looks right. Practitioners report:
- Wrong column, confident answer. Two tables had a
revenuecolumn, and Genie picked a staging table that still held test data. [17] - No warning. In one implementation, a hidden many-to-many join "multiplied the results. No warning." [18]
- The SQL on screen may not be the whole story. In one test of Genie One, a single query on screen returned two result tables it could not have produced: "It didn't run the query it showed us." [19]
Databricks says Genie "proactively asks users for clarification" when it is unsure. [16] That helps when the model notices the doubt. These are the cases where it did not.
Accuracy climbs with curation, and every strong result we found has the same shape: a team built a semantic layer first, then pointed Genie at it. The tests below use different data and grading, so treat them as a pattern, not a score.
| Source | Before curation | After curation |
|---|---|---|
| Syren, Databricks partner [20] | 8 of 15 | 12 of 15 after real fixes (15 of 15 after correcting the answer key) |
| Atlassian, DAIS 2026 [21] | 60 to 70% | 80 to 90% |
| Suraj Ghodke [22] | 40% with tables only | 97% with metric views |
Ghodke's note says it best: "With tables only, Genie got 1 of 36 business-definition answers right. The SQL ran fine; the definitions were missing." [22] One partner, Koantek, which sells a fix, puts set-up at 10 to 15 days of hand-tuning per space and warns that "Space quality degrades silently for months." [23]
If your AI needs a team of data engineers to explain what revenue means, you have not removed the semantic layer. You have moved the job description. The question is where that work should live.
Your definitions serve a life sentence inside one agent
Joins, measures and filters curated inside a Genie Agent "are scoped to your Genie Agent and do not affect Unity Catalog metadata or other Databricks assets." [12] Ten agents can hold ten definitions of revenue, each curated with care, none talking to the others. Every definition is in solitary.
Genie Ontology, in Public Preview, adds a wider map. It combines modeled context you "define, govern, and certify" (metric views, domains and Pages) with inferred context from dashboards, query history and agents, where "Each snippet gets an authority score based on where it was generated from, how often it is used, and how fresh it is." [2] Learning from usage is useful for discovery. But a query copied across 20 dashboards is not more correct than a definition the CFO approved, and Databricks does not publish how the ranking weighs one against the other.
The warden finally has a rulebook. We would like to know who signs each page.
Exporting is not owning: the great escape that leaves the rulebook behind
Credit where due. Metric views went GA in April 2026, and Databricks says "the engine compiles and executes the underlying SQL deterministically at query time." [24] Apache Spark 4.2 brings metric views to open-source Spark, Unity Catalog OSS 0.6 "now fully supports metric views with Apache Spark 4.2," and Databricks backs the Apache Ossie interchange effort. [25][26][24] Calling that pure lock-in would be unfair.
Andy Dufresne crawled through 500 yards of sewer pipe and came out free. Your definitions can crawl out too. Some of their luggage stays in the cell.
What comes out. SHOW CREATE TABLE returns a metric view as SQL with embedded YAML. [28] A generally available API exports an agent's setup as serialized_space JSON, including instructions, example SQL, joins and synonyms. [29][30] A Databricks function and an open-source converter turn metric views into Ossie YAML. [31][27]
What gets stuck on the way.
- The agent JSON has one landing spot. It is Databricks' own format, refers to Unity Catalog objects by name, and the documented use is creating an agent in a Databricks workspace. [29][30] We found no other system that reads it.
- Open-source Spark gets the lite edition. Databricks writes metric views in YAML version 1.1. A practitioner test found open-source Spark 4.2 "reads only YAML version: "0.1"", with joins, comments, formats and synonyms "all rejected." [32]
- Ossie conversion is happiest with simple models. Databricks lists a
NOT_REPRESENTABLE_IN_OSSIEerror. [31] Project reports show non-equi joins abort the import, "a snowflake A -> B -> C drops C," and cross-fact metrics cannot be expressed. [33][34][35] A small model did survive a round trip intact. [36] Complex enterprise models may need a ladder. - Relationships are a promise, not a check. Databricks "doesn't enforce relationships" between metric views or check data against their declared cardinality. [37]
- The ontology's learning stays put. We found no documented way to export inferred snippets or their authority scores. [2]
- The rulebook stays in the warden's office. Permissions, row filters and column masks live in Unity Catalog. We found nothing in the docs showing they travel with an exported definition, and Ossie "describes the semantic model only." [38] Move the formulas and you may be rebuilding the security around them.
What you carry out is a set of formulas. What makes them trustworthy stays behind the wall: who owns them, who may see what, and which version applied on the day of the board meeting. Your company's business meaning should not be a prisoner of the platform that happens to store its data.
Your agents still have to call the warden
Databricks' other answer is access: your systems can call Genie. The Conversation API returns an answer, SQL and results, and "In most cases, Genie generates a SQL query that runs on the agent's SQL warehouse." [39] External agents can call a Genie Agent over MCP, a Public Preview endpoint whose calls "bypass Unity Gateway," so gateway grants, policies and tracing do not cover it. [40] BI tools can query metric views over JDBC with MEASURE(), but must send custom SQL. [41] Service principals, which API use runs under, are billed even during the free promotion that ends 31 January 2027. [42]
Each door works. What comes through it is an answer, produced by Databricks, on Databricks compute, on a Databricks bill. Your other agents never hold the definitions. They ask the warden and trust the reply. That is fine if Databricks is your only platform forever. If Snowflake runs one business unit and Postgres runs your apps, every question about meaning queues at one gate.
Ghodsi is right about the problem. The cure is the catch.
In an a16z essay by Ben Horowitz and Michael McGuiness (a16z is a Databricks investor), Ali Ghodsi says: "AI does not have an intelligence problem... It has a context problem." [43] On X, he adds that "the models are smart enough, but they just don't have the context." [44] We agree. That is the case for a semantic layer.
Then comes the prescription. He calls the lakehouse "SORA", the "System of Record for Agents." [43] Set that beside his June keynote: "Avoiding lock-in, I think, is one of the most important things that Databricks can help with." [45] Our reading: the diagnosis is open and the cure is a single address. Your definition of revenue should not need a Databricks account to remember what it means.
Kasey Klimes replied with the sharpest counterpoint we have read. The context already exists, he wrote, but "it is stored, retrieved, and acted on non-deterministically... nobody can trust it." [46] More context does not help if every agent reads it differently.
Genie's best results come from teams that wrote clear definitions, approved joins and tested queries first. That work is your company's semantic layer. Put it where every tool, agent and platform can use and audit it, not inside one chat product's knowledge store.
How Colrows is different
Colrows is an autonomous semantic layer and agent orchestration platform. It does not replace Databricks. It queries Databricks directly, alongside Snowflake, BigQuery, Postgres and your other sources.
- Query in place, across platforms. No registration in someone else's catalog, no visiting hours, no pressure to copy everything into one warehouse.
- One model, every consumer. Metrics, entities, terms, relationships, verified queries and access policies live in one governed model. Ten agents, one revenue.
- Most of the model builds itself. The Consensus engine reads schemas, query history, dashboards and documents and proposes about 80% of definitions and relationships. Your team approves them, so authority comes from an owner, not a usage count.
- Governed SQL before anything runs. Questions compile against the model, join paths are checked, and a term with two approved definitions stops the query until you choose. The check comes from the model, not from an LLM's sense of doubt.
- Permissions sit in the layer, not the agent. Role-, attribute-, row- and column-level security apply across every connected platform before a query runs.
- Every answer shows its working. Each result cites its definition, SQL and source, and audit logs can be exported and retained.
- Reproducible. The same model version, resolved question and security context produce the same governed SQL, and past answers can be rerun at their point in time.
- You own the exit. Export the model as JSON and other formats, run as SaaS or on-premise, and switch models without rebuilding your meaning.
- Agents use the meaning, not a borrowed answer. Agents on any framework reach the same model through REST and MCP, with short-lived tokens limited to approved tools. Raw SQL is never part of their grant.
A short example:
Question: "Show revenue for Q3."
Colrows: Two approved definitions match "revenue": booked revenue (owned by Sales Ops) and recognised revenue (owned by Finance). Which one do you mean?
User: Recognised.
Colrows: Compiles the approved definition into governed SQL, applies the user's access policies, runs it where the data sits, and returns the answer with definition, SQL and source attached.
For a feature-by-feature view, see Colrows vs Databricks Genie, read deterministic vs probabilistic text-to-SQL, or browse our semantic layer hub.
Databricks Genie semantic layer: frequently asked questions
Can Databricks Genie query data outside Databricks?
Only if Unity Catalog can see it. Databases with a federation connector, such as Oracle, Snowflake and BigQuery, can be queried in place, read-only. Sources without one, such as Elasticsearch or a local Excel workbook, must be copied into Databricks first.
Can you export business definitions from Databricks?
Partly. Metric views export as SQL with YAML, and Genie Agent setup exports as JSON. The JSON is a Databricks format, open-source Spark accepts a smaller YAML version, Ossie conversion can fail on complex joins, and we found no documented way for access policies to travel with the export.
Is Databricks Genie deterministic?
No. Databricks' docs say "Genie operates in a nondeterministic manner." Metric view SQL runs the same way each time; the variation comes from how Genie picks metrics, tables and joins.
Does Colrows work with Databricks?
Yes. Colrows queries Databricks in place, alongside Snowflake, BigQuery, Postgres and other sources, using one governed semantic model.
Get your definitions out of solitary
Pick the five metrics that start the most arguments in your company. We will show you how Colrows maps them across your platforms, where your definitions disagree today, and what an agent would answer. Book a working session or see how we deliver through forward-deployed engineering.
Get busy governing, or get busy reconciling.
Sources
- Databricks docs, Genie Agents (Oct 2026)
- Databricks docs, Genie Ontology (Oct 2026)
- Databricks docs, Create and manage a Genie Agent (9 Oct 2026)
- Databricks Answers, Can Genie access data outside Databricks?
- Databricks docs, Connect to external databases and catalogs (Sep 2026)
- Microsoft Learn, What is query federation? (Sep 2026)
- Databricks documentation assistant on docs.databricks.com (AWS), response to a Colrows question, captured 1 Nov 2026 (screenshots above)
- Databricks docs, Elasticsearch
- Databricks docs, Genie in Excel
- Microsoft Learn, Read Excel files in Azure Databricks
- Databricks docs, Connect Genie Agents to external tools (Oct 2026)
- Databricks docs, Tune Genie Agent quality (Oct 2026)
- Databricks docs, Curate an effective Genie Agent (Jul 2026)
- Databricks docs, Test and monitor a Genie Agent (Aug 2026)
- Databricks Community, Genie API different responses in UI and via API (Dec 2025)
- Databricks Answers, Which AI tools handle ambiguity without making things up? (Jul 2026)
- Keith Jenneke, LinkedIn (Jul 2026)
- IWConnect, Databricks Genie BA use cases (Apr 2026)
- Adam Gilmore, Dimodelo (Sep 2026)
- Syren, Building high-accuracy Databricks Genie spaces (Apr 2026)
- Databricks, Genie at scale: Atlassian, DAIS 2026 transcript
- Suraj Ghodke, Databricks Community (Oct 2026)
- Koantek, Productizing Databricks Genie at enterprise scale (May 2026)
- Databricks blog, Redefining semantics in the data layer (Apr 2026)
- Databricks blog, Introducing Apache Spark 4.2 (Jul 2026)
- Unity Catalog OSS, release notes
- Apache Ossie converters, Databricks
- Microsoft Learn, SHOW CREATE TABLE
- Databricks API reference, Genie spaces
- Databricks docs, Genie Agents conversation API (Oct 2026)
- Databricks docs, export_to_ossie error class
- open-lakehouse/docs-factory PR #205 (Oct 2026)
- Apache Ossie issue #321
- Apache Ossie PR #152
- Apache Ossie discussion #325 (Aug 2026)
- codecentric, Ossie and Databricks metric views (Oct 2026)
- Databricks docs, Relationships between metric views
- Holistics docs, Apache Ossie
- Databricks docs, Genie Agents concepts (Oct 2026)
- Databricks docs, Built-in MCP services (Oct 2026)
- Databricks docs, Use metric views with BI tools (Oct 2026)
- Databricks docs, Monitor Genie cost
- a16z, Databricks & the Future of the Firm (27 Oct 2026)
- a16z on X, Ali Ghodsi clip (27 Oct 2026)
- Databricks, Data + AI Summit 2026 Day 2 keynote transcript (Jun 2026)
- Kasey Klimes on X (30 Oct 2026)



