---
title: Overview
description: Choose the right provider for durability, distributed execution, and operational fit.
order: 51
---

# Overview

Provider choice directly determines durability behavior and whether multi-worker distributed execution is possible.

## Distributed execution requirement

Distributed execution requires a shared durable database provider.

Workers coordinate run claiming, lease ownership, retries, and recurring state through shared store records.

If the provider is in-memory, there is no shared cross-process state, so distributed execution is not supported.

## Retention defaults by provider type

From runtime code defaults:

- Durable database providers default run retention: 24 hours.
- In-memory provider default run retention: 1 hour.

These are the effective defaults when `Retention.RunRetentionSeconds` is not explicitly set.

## General guidance

- Prefer PostgreSQL for most production distributed workloads.
- Use SQL Server where organizational standards require it.
- Use MySQL where it is already a first-class platform dependency.
- Use SQLite for local development or single-instance durable scenarios.
- Use in-memory for tests, demos, and short-lived local runs.

## Quick selection matrix

- Distributed production: PostgreSQL, SQL Server, or MySQL.
- Single-instance durable local app: SQLite.
- Unit/integration test harnesses: In-memory.
