> ## Documentation Index
> Fetch the complete documentation index at: https://filament.getgalaxy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The few concepts you need to reason about data movement in Filament

Filament moves data from a source to a sink. Most of the product can be
understood through five objects:

* A **connection** says how to reach a source or sink. Credentials and connector
  settings live here so they can be reused.
* A **pipeline** connects sources to sinks. Each edge is a route with its own
  replication choices. Saving an edit creates a new immutable version.
* A **resource** is one table, stream, or API collection selected from a source.
* A **run** is one execution of one route.
* A **checkpoint** records durable progress for a resource that can resume.

Imagine a `users` table moving from PostgreSQL to a warehouse. The connection
answers “which PostgreSQL?” and “which warehouse?” The route answers “copy all
users or only changes?” A run is the attempt that performs that work. If the
chosen mode supports checkpoints, a retry can continue from confirmed progress.

## The data journey

During a run, Filament:

1. Resolves the two connectors and the selected resources;
2. Checks that the requested read and write behavior is supported;
3. Asks the source to write typed rows into Arrow builders;
4. Sends bounded Arrow batches to the sink;
5. Commits or aborts according to the sink contract; and
6. Records facts, totals, integrity evidence, and durable checkpoints.

The queue between source and sink has a fixed size. If the sink slows down, the
source waits instead of allowing queued data to consume unbounded memory.
Incremental and CDC routes write in order through a single writer.

## Choose what to learn next

* [Replication modes](/pages/guides/concepts/replication-modes) helps you choose
  between full, incremental, and CDC reads and their write behavior.
* [Architecture](/pages/guides/concepts/architecture) follows a batch through the
  engine and explains backpressure and parallelism.
* [Integrity and checkpoints](/pages/guides/concepts/integrity-and-checkpoints)
  separates data verification from recovery progress.
* [Runs and recovery](/pages/guides/concepts/runs-and-recovery) explains states,
  retries, pause, resume, and cancellation.
