motherduck-ducklake

Guides storage decisions between native MotherDuck and DuckLake open table formats.

Updated Oct 15, 2019
One-click install
npx skills add https://github.com/kkkaoru/dotfiles --skill motherduck-ducklake-kkkaoru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motherduck-ducklake
Source: https://github.com/kkkaoru/dotfiles/tree/main/.agents/skills-stroage/motherduck-ducklake
Command: npx skills add https://github.com/kkkaoru/dotfiles --skill motherduck-ducklake-kkkaoru

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing between native MotherDuck storage and DuckLake is easy to get wrong: teams adopt DuckLake for the wrong reasons ("big data") or miss its operational costs like explicit maintenance, BYOB region constraints, and limited sharing. This Skill provides a decision framework so you pick the right storage pattern with verified, current documentation. ## Core Features & Use Cases - Mode Selection: Decide between fully managed DuckLake, BYOB with MotherDuck compute, or BYOB with own compute based on bucket ownership and compute boundary needs. - SQL Patterns: Ready-to-use CREATE DATABASE and ATTACH statements for DuckLake, including data inlining configuration and metadata catalog attachment. - Maintenance Planning: Guidance on explicit compaction, inlined-data flushing, and checkpoint operations that DuckLake requires but does not automate. - Use Case: A data team wants their Parquet data to live in their own S3 bucket while MotherDuck handles queries. The Skill walks them through BYOB setup, region constraints (us-east-1 or eu-central-1), and the maintenance schedule they must own. ## Quick Start Ask the assistant to evaluate whether DuckLake or native MotherDuck storage fits your workload and which operating mode to use.

Frequently Asked Questions about motherduck-ducklake

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I use DuckLake instead of native MotherDuck storage?

Use DuckLake when you need open-table-format semantics, object storage as the source of truth, bring-your-own-bucket ownership, or file-aware maintenance. Native MotherDuck storage is often 2x-10x faster for reads, so avoid DuckLake just because a workload is large.

How do I create a DuckLake database on MotherDuck?

Run CREATE DATABASE my_ducklake (TYPE DUCKLAKE) for a fully managed instance. For BYOB, add DATA_PATH 's3://my-bucket/my-prefix/', and optionally set DATA_INLINING_ROW_LIMIT for small frequent writes.

What are the BYOB region requirements for MotherDuck DuckLake?

The S3 bucket must be in the same AWS region as your MotherDuck organization: us-east-1 for US orgs and eu-central-1 for EU orgs. Other clouds are not currently supported for BYOB DuckLake storage.

Does DuckLake on MotherDuck run maintenance automatically?

No, MotherDuck documentation states DuckLake maintenance is not automatic. You must define who runs compaction and cleanup, from which compute surface, and on what schedule, using operations like CHECKPOINT and ducklake_flush_inlined_data.

Can multiple accounts write to the same DuckLake database?

Write permissions are effectively single-account at the database level today. Concurrent append-only writes can work, but concurrent updates, deletes, or DDL are much more constrained, and sharing is limited to auto-update read-only shares.

How do I access DuckLake from my own DuckDB compute?

Attach the metadata database with ATTACH 'ducklake:md:__ducklake_metadata_<database_name>' AS my_ducklake. Only the database owner can attach it, and you must verify the DuckDB and DuckLake version matrix before direct catalog access.