Skip to main content

Flight sizes

A Flight runs your Python on an instance size that sets the CPU and memory available to each run. The size name is F, for Flight, plus the instance's memory in GB: F16 has 16 GB of memory. Every run gets its own isolated runtime, so a Flight's size only affects that Flight. SQL the Flight sends over an md: connection runs on a Duckling, not on the Flight's instance, so size a Flight for the work it does in Python.

Each Flight size has different billing implications. Choose the smallest size that fits the job.

Flight sizes​

Flight sizePlansvCPUMemoryUse case
F4Lite, Business0.54 GBGood for light automation and frequent schedules
F16Lite (unlimited), Business216 GBGood for most workloads
F32Business432 GBBest for heavy workloads that need memory

Default size by plan​

If you don't choose a size, a Flight runs on the default size for your plan. On Lite, adding a credit card moves you from Lite (with limits) to Lite (unlimited).

PlanAvailable sizesDefault size
Lite (with limits)F4F4
Lite (unlimited)F4, F16F16
Business and EnterpriseF4, F16, F32F16

For other per-plan Flight limits, such as scheduling, concurrent runs, and maximum runtime, see Availability and plan limits.

F4​

Optimized for light automation and frequent schedules

F4 Flights keep the cost of small, frequent jobs low, making them ideal for:

  • Light automation, such as posting a daily summary to Slack or syncing a small aggregate to a SaaS tool.
  • Flights that run on frequent schedules.
  • Simple API calls that fetch a small payload and write it to MotherDuck.
  • SQL transforms, where the heavy lifting happens in MotherDuck and the Flight only orchestrates.

Learn how F4 Flights are billed.

F16​

The default size, balanced for most workloads

F16 Flights have room for the Python processing most pipelines do, suited for:

  • dbt pipelines built with the dbt-duckdb adapter.
  • Multi-step data processing that chains several transforms or sources in one run.
  • Standard ingest jobs, such as dlt pipelines from Postgres, APIs, or object storage.

Learn how F16 Flights are billed.

F32​

Our largest Flight, built for heavy workloads that need memory

F32 Flights provide the most CPU and memory for work that runs inside the Flight, perfect for:

  • ML inference, such as scoring records or generating embeddings with a Python model.
  • Large dbt projects with many models.

Learn how F32 Flights are billed.

Changing Flight sizes​

Set a Flight's size with the instance_type parameter of MD_CREATE_FLIGHT or MD_UPDATE_FLIGHT. If you omit it when you create a Flight, the Flight uses your plan's default size. If you omit it when you update a Flight, the current size carries forward.

CALL MD_UPDATE_FLIGHT(
flight_id := '<flight_id>',
instance_type := 'F32'
);

A size change creates a new Flight version and applies to the next run. Choosing a size your plan doesn't include returns an error that lists the sizes available to you.

Pricing​

Flights are billed for the time each run takes, at the hourly rate for the Flight's size.

Flight pricing depends on the pricing tier of your Organization's cloud region.

TierAWS RegionsF4F16F32
Tier 1US East (N. Virginia) us-east-1, US West (Oregon) us-west-2$0.15 per hour$0.60 per hour$1.20 per hour
Tier 2Europe (Frankfurt) eu-central-1, Europe (Dublin) eu-west-1$0.18 per hour$0.73 per hour$1.46 per hour
Tier 3Asia Pacific (Tokyo) ap-northeast-1, Asia Pacific (Sydney) ap-southeast-2$0.19 per hour$0.77 per hour$1.55 per hour
note

On Lite (unlimited), Flight usage draws from the same monthly compute allocation as Ducklings. Usage beyond the allocation is billed at the rates above. Lite (with limits) includes 30 minutes of Flight compute per day at no charge.