All databasesDatus + Snowflake

A semantic layer for Snowflake, built for AI agents.

Keep Snowflake as your data warehouse and query engine. Give agents reviewed business definitions they can reuse, then let DOSI compile supported metric requests into native Snowflake SQL.

Already use Snowflake Semantic Views? See how this fits.
How the pieces connect
Existing SQL + docsDatus Agent + team reviewApache Ossie model
AI agents + appsMCP · API · CLI
DOSI
Metric planning
Snowflake warehouseNative SQL
Results return through DOSI to agents + apps

DOSI plans the query; your configured Snowflake warehouse executes it.

Apache Ossie definitionsNative SQL pushdownMCP · API · CLI
Where Datus fits

Already using Snowflake Semantic Views?

Semantic Views define business meaning as native Snowflake objects. Datus uses a separate, team-reviewed Apache Ossie model that DOSI makes available to agents and applications. The two approaches can coexist; this workflow does not automatically import or replace Snowflake Semantic Views.

Warehouse-native

Snowflake + Semantic Views

Cortex Agents · BI · SQL
Inside Snowflake
Semantic ViewSchema-level object
Tables + warehouse

Snowflake stores the definition and executes the query.

Portable definition

Snowflake + Datus

AI agents + apps · MCP / API / CLI
Outside Snowflake
Apache Ossie modelReviewed by your team
DOSICompiles native SQL
Inside Snowflake
Tables + warehouse

DOSI uses a separate model; Snowflake executes the SQL.

Two valid paths. Datus does not automatically import, query, or replace Snowflake Semantic Views.How Snowflake Semantic Views workLearn about Snowflake’s Ossie bridge

Start with knowledge you already have

Datus Agent helps gather candidate definitions from existing SQL, business documents, and warehouse structure. Your team reviews the model before agents reuse it.

Keep the model usable across tools

Apache Ossie (incubating) is an open specification. DOSI can execute compatible models for Snowflake and other supported SQL dialects, without binding every agent to one warehouse-native semantic object.

Inspect native execution

DOSI turns a supported metric request into Snowflake SQL. Review the definition, generated SQL, and lineage; the configured Snowflake warehouse executes the query.

From business meaning to SQL

One definition. A query you can inspect.

A compact example of the execution path: an Apache Ossie definition, SQL produced by DOSI, and a Snowflake connection profile.

1 / 3
Download the full example model

Define business meaning in Apache Ossie.

Name a metric and map it to source fields. The example uses an orders model; your team owns the business logic and reviews changes before reuse.

orders-model.yaml · excerptYAML
semantic_model:
  - name: orders_model
    datasets:
      - name: orders
        source: main.orders
        # Fields and relationships omitted.
    metrics:
      - name: revenue
        expression:
          dialects:
            - dialect: ANSI_SQL
              expression: SUM(orders.amount)

SQL generated locally with DOSI from the linked model. No Snowflake query runs on this page. The YAML excerpt omits fields and relationships; download the full model to use the command.

Reproduce the SQL
dosiCLI
dosi query --model orders-model.yaml \
  --metrics revenue --group-by orders.status \
  --dialect snowflake
Connect your warehouse

A clear path from setup to your first query.

Start in Studio for a team workspace, or configure DOSI directly for semantic execution. These setup steps describe the standalone DOSI connector.

Read the Snowflake setup guide
  1. 01

    Prepare access

    Choose a Snowflake user and grant access to the warehouse and data needed for your workload. Register a key pair for that user; keep the private key and passphrase out of shared source files.

  2. 02

    Add the connection profile

    Set the account, user, warehouse, and data namespace. Point private_key_file at a PKCS#8 private key. Store secrets using environment variables or your approved secret-management process.

  3. 03

    Review, then execute

    Compile a model and inspect the SQL first. With the connector enabled, use --execute --connection snowflake to submit a supported query to your warehouse.

Execution depends on the connector included in your DOSI build and the permissions of the configured Snowflake user. Current limits include large multi-partition results and some window calculations; check the connector reference before adopting a workload.

Looking for the Datus Agent adapter setup?
One context, different ways to work

Make Snowflake business context useful beyond one query.

Choose the interface that fits the work. Keep shared definitions and inspectable execution underneath.

01

Data teams

Bring files, SQL, results, and Agent conversations together in Studio. Use Datus Agent for data engineering and analysis, with semantic modeling as one of its capabilities.

Explore Datus Studio
02

Agents and developers

Use supported DOSI MCP, API, and CLI interfaces to discover models and request metrics. Snowflake executes the supported SQL; your application decides how to present the result.

Explore agent access
FAQ

Snowflake, with the details that matter.

What connects, where queries run, and how the pieces fit.

What does a semantic layer add to Snowflake?

It connects tables and fields to shared business definitions: metrics, dimensions, calculations, and relationships. Datus helps teams review that context and make it available to agents. DOSI compiles compatible Apache Ossie definitions into native SQL for Snowflake.

Where do queries execute?

For the standalone DOSI Snowflake connector, DOSI submits native SQL through Snowflake’s SQL API. The configured Snowflake warehouse runs the query. DOSI handles planning and normalizes the returned result; this is not a claim that query results never leave Snowflake.

Can Datus use my existing Snowflake Semantic Views?

This workflow does not automatically import, query, or publish Snowflake Semantic Views. They are native Snowflake objects; Datus uses a separate Apache Ossie model that DOSI compiles into Snowflake SQL. Teams can compare and review definitions when deciding how to use both approaches.

What authentication does DOSI use?

The documented standalone Snowflake connector uses key-pair JWT authentication with a PKCS#8 private key. Its connection profile includes account, username, and private_key_file, with optional warehouse, database, schema, role, and key passphrase settings. The Datus Agent adapter has separate setup documentation.

Does Open mean DOSI is open-source?

Open refers to the Apache Ossie specification and reviewable, reusable definitions. DOSI uses Elastic License 2.0. Datus Agent is the open-source data Agent; the runtime and Agent have different licenses.

Do permissions and workload limits still apply?

Yes. Requests use the configured Snowflake identity and its access. The DOSI connector documents limitations, including large multi-partition result sets and certain window operations. Reusing a model across data sources does not imply unrestricted cross-warehouse federated queries.

Put your Snowflake context to work.

Start in Datus Studio, or connect the standalone DOSI runtime to your warehouse.