Ascend-managed DuckLake
Set up DuckDB with fully managed DuckLake infrastructure. Ascend handles storage, metadata, and coordination automatically.
This feature is in Public Preview. Expect changes and note that standard SLAs don't apply. Refer to our release stages to learn more.
This guide assumes you have an Ascend Instance with a Project and Workspace.
Create a DuckDB Connection
Create a file in your connections/ directory:
connection:
duckdb:
ducklake:
$<: $ascend_managed.duckdb_ducklake
This configuration stores everything in managed cloud storage:
- Metadata: DuckDB catalog file in managed object storage
- Data: Parquet files in managed object storage
- No database required: Fully cloud-native, no infrastructure to manage
Alternative: PostgreSQL metadata
For use cases requiring shared metadata across multiple Flows or high-concurrency access, use the PostgreSQL-backed option:
connection:
duckdb:
ducklake:
$<: $ascend_managed.ducklake
This uses Ascend's managed PostgreSQL for metadata storage instead of a DuckDB file.
Choosing between options
| Option | Metadata storage | Best for |
|---|---|---|
$ascend_managed.duckdb_ducklake | DuckDB file in S3 | Most use cases — simpler, faster transforms |
$ascend_managed.ducklake | Managed PostgreSQL | Shared metadata across Flows, high concurrency |
Recommendation: Start with duckdb_ducklake. Switch to ducklake only if you need shared metadata access across multiple Flows.
Next steps
- Performance tuning — optimize with partitioning and data inlining
- Read data — connect to your data sources
- Transform data — process and transform your data
- Write data — output your transformed data