Supported Databases
Eleven native database adapters, from embedded SQLite and DuckDB to cloud warehouses (Snowflake, StarRocks, ClickZetta) and lake engines (Hive, Spark, Trino, ClickHouse). All plug in via Python entry points — no adapter code required on your side.
SQLite
sqliteBuilt-inDuckDB
duckdbBuilt-inPostgreSQL
postgresqldatus-postgresqlMySQL
mysqldatus-mysqlSnowflake
snowflakedatus-snowflakeStarRocks
starrocksdatus-starrocksClickHouse
clickhousedatus-clickhouseClickZetta
clickzettadatus-clickzettaHive
hivedatus-hiveSpark
sparkdatus-sparkTrino
trinodatus-trinoFour Categories, one interface
Every adapter implements the same CRUD, DDL, metadata and sampling contract — so subagents work identically across your OLTP, warehouse and lake engines.
Relational
Cloud Warehouse
Lake & Distributed
Analytical & Embedded
| Database | Type | Package | Highlight |
|---|---|---|---|
| SQLite | sqlite | Built-in | Zero-config file store — perfect for demos and tests. |
| DuckDB | duckdb | Built-in | Embedded OLAP for local analytics on Parquet / CSV. |
| PostgreSQL | postgresql | datus-postgresql | Six SSL modes, multi-schema, materialized views. |
| MySQL | mysql | datus-mysql | INFORMATION_SCHEMA + SHOW CREATE for rich metadata. |
| Snowflake | snowflake | datus-snowflake | Native SDK with Arrow transport for fast reads. |
| StarRocks | starrocks | datus-starrocks | Multi-catalog + materialized views, MySQL-wire. |
| ClickHouse | clickhouse | datus-clickhouse | HTTP protocol; database ≡ schema, lightweight DELETE. |
| ClickZetta | clickzetta | datus-clickzetta | Workspace + Volume/Stage ops; lakehouse partner. |
| Hive | hive | datus-hive | HiveServer2 / Thrift with LDAP & Kerberos auth. |
| Spark | spark | datus-spark | Spark Thrift Server; NONE / PLAIN / Kerberos auth. |
| Trino | trino | datus-trino | Cross-catalog queries over HTTP/HTTPS SSL. |
See the Database Adapters documentation for configuration, connection strings, and advanced options.
Cross-database Migration hints
Every adapter implements MigrationTargetMixin so subagents can generate DDL for the target dialect, propose OLAP-friendly layouts, and validate the result with a dry-run.
# datus-agent generates layout hints per target:
# StarRocks
CREATE TABLE orders_agg (
user_id BIGINT,
order_day DATE,
gmv DECIMAL(18,2)
)
DUPLICATE KEY(user_id, order_day)
DISTRIBUTED BY HASH(user_id) BUCKETS 16;
# ClickHouse
CREATE TABLE orders_agg (
user_id UInt64,
order_day Date,
gmv Decimal(18,2)
)
ENGINE = MergeTree
ORDER BY (user_id, order_day);Drop-in datasource config
One YAML file wires every warehouse. Environment variables keep credentials out of source control.
agent:
service:
databases:
production: # Snowflake
type: snowflake
account: ${SNOWFLAKE_ACCOUNT}
username: ${SNOWFLAKE_USER}
password: ${SNOWFLAKE_PASSWORD}
warehouse: ${SNOWFLAKE_WAREHOUSE}
database: ${SNOWFLAKE_DATABASE}
analytics: # PostgreSQL
type: postgresql
host: ${PG_HOST}
port: 5432
username: ${PG_USER}
password: ${PG_PASSWORD}
database: mydb
schema: public
local_demo: # DuckDB
type: duckdb
uri: ./data/demo.duckdb
default: true
bird_benchmark: # SQLite (glob multi-file)
type: sqlite
path_pattern: benchmark/bird/**/*.sqliteFrequently asked questions
Supported databases, installing adapters, custom drivers, and access requirements.
Which databases does Datus support out of the box?
Datus supports 11+ databases: SQLite, DuckDB, PostgreSQL, MySQL, Snowflake, StarRocks, ClickHouse, ClickZetta, Hive, Spark and Trino. SQLite and DuckDB are built in; the rest ship as installable adapters (datus-postgresql, datus-snowflake, and so on).
How do I install a database adapter?
Install the adapter package alongside the Datus CLI — for example, pip install datus-snowflake — then add a datasource block in your config with the connection details. The Database Adapters docs cover every option and connection string.
Can I connect to a database not on this list?
Yes. The adapter interface is open, so any database with a Python driver can be wrapped as a Datus adapter. Open an issue on GitHub or contribute a new adapter following the same pattern as datus-postgresql.
Does the agent need read-write access to my warehouse?
No. Datus works with read-only credentials for analytics use cases. Write access is only needed for pipeline deployment agents that materialize tables or models.
Which adapters were added in v0.2.6?
v0.2.6 added Hive, Spark, ClickHouse and Trino, bringing native support for the lake / distributed and columnar OLAP tiers alongside the existing relational and cloud-warehouse adapters.
Connect Your Warehouse in Minutes
Native adapters for Snowflake, Postgres, MySQL and more — drop in credentials and the agent starts reasoning over your real schema.