Introduction
Sling is a single-binary CLI for moving data between databases, files, and APIs. It is quick to install and easy to script. The core is free, and parallelism, API sources, and change data capture are sold as paid tiers. Filament is an open-source replication engine with none of that gated. Parallel reads, checkpoints, change data capture, and verified writes ship in the free binary.
HIGHLIGHTS
9.2× faster
WALL TIME
Filament
114.8 SEC
Sling
1,053.3 SEC
NYC Taxi, Postgres → Postgres
9.2× faster
WALL TIME
Filament
114.8 SEC
Sling
1,053.3 SEC
NYC Taxi, Postgres → Postgres
11.3× faster
ROWS PER SECOND
Filament
2,288,144 rows
Sling
202,645 rows
TPC-H, Postgres → Postgres
11.3× faster
ROWS PER SECOND
Filament
2,288,144 rows
Sling
202,645 rows
TPC-H, Postgres → Postgres
5.9× less
CPU SECONDS
Filament
377.4 SEC
Sling
2,211.4 SEC
NYC Taxi, Postgres → Postgres
5.9× less
CPU SECONDS
Filament
377.4 SEC
Sling
2,211.4 SEC
NYC Taxi, Postgres → Postgres
29.5× less
PEAK MEMORY
Filament
2.97 GiB
Sling
0.10 GiB
NYC Taxi, Postgres → Postgres
29.5× less
PEAK MEMORY
Filament
2.97 GiB
Sling
0.10 GiB
NYC Taxi, Postgres → Postgres

License and control
License
Apache 2.0, open source.
GPL 3.0 for the CLI. Pro features unlock with a token validated at process start. The Platform is proprietary.
License
Apache 2.0, open source.
GPL 3.0 for the CLI. Pro features unlock with a token validated at process start. The Platform is proprietary.
Self-hosted in full
Yes. One repository, no paid tier, nothing gated.
The free CLI is self-hosted. Parallel streams, chunking, API sources, hooks, OpenTelemetry, and CDC need a paid token.
Self-hosted in full
Yes. One repository, no paid tier, nothing gated.
The free CLI is self-hosted. Parallel streams, chunking, API sources, hooks, OpenTelemetry, and CDC need a paid token.
Adding a new source
A YAML manifest for REST APIs, loaded at runtime with no rebuild. A Go driver for databases and other driver-based sources.
YAML API spec, but only with CLI Pro. Go contribution to the repository otherwise.
Adding a new source
A YAML manifest for REST APIs, loaded at runtime with no rebuild. A Go driver for databases and other driver-based sources.
YAML API spec, but only with CLI Pro. Go contribution to the repository otherwise.
Connector maintenance
Every connector lives in the engine repository with a published maturity level (alpha, beta, stable).
All maintained by Sling Data. 28 databases, 12 storage systems, a few datalake formats, and roughly 80 to 100 API specs depending on the index.
Connector maintenance
Every connector lives in the engine repository with a published maturity level (alpha, beta, stable).
All maintained by Sling Data. 28 databases, 12 storage systems, a few datalake formats, and roughly 80 to 100 API specs depending on the index.
Services to operate
Server and control plane, with Postgres and NATS. Each run is its own Kubernetes Job. One binary for evaluation.
None for the CLI. The Platform is a hosted control plane, self-hostable on the Advanced plan, plus self-hosted agents.
Services to operate
Server and control plane, with Postgres and NATS. Each run is its own Kubernetes Job. One binary for evaluation.
None for the CLI. The Platform is a hosted control plane, self-hostable on the Advanced plan, plus self-hosted agents.
Runtime
Static Go binaries on distroless images. One runner code path wherever a run executes.
Go single binary. Streaming design that holds minimal data in memory.
Runtime
Static Go binaries on distroless images. One runner code path wherever a run executes.
Go single binary. Streaming design that holds minimal data in memory.
Scheduling
Built-in cron per pipeline. Safe to run multiple control planes.
None in the CLI. Cron or the paid Platform.
Scheduling
Built-in cron per pipeline. Safe to run multiple control planes.
None in the CLI. Cron or the paid Platform.
SaaS source execution
Manifests interpreted inside the engine, in the same process as the run. No per-connector containers.
YAML specs interpreted by the CLI. CLI Pro required.
SaaS source execution
Manifests interpreted inside the engine, in the same process as the run. No per-connector containers.
YAML specs interpreted by the CLI. CLI Pro required.
Embeddable
Yes. Go library (app.Run) with swappable event bus, state store, and secrets.
Python wrapper that shells out to the binary.
Embeddable
Yes. Go library (app.Run) with swappable event bus, state store, and secrets.
Python wrapper that shells out to the binary.
Interfaces
Web UI, ConnectRPC API, CLI.
CLI and YAML. Web UI and REST API are the Platform.
Interfaces
Web UI, ConnectRPC API, CLI.
CLI and YAML. Web UI and REST API are the Platform.
Correctness
Resume after failure
Mid-table, from per-shard checkpoints, for upsert, incremental, and CDC runs. A failed run lands in a partial state and continues on re-request.
No mid-table checkpoint outside CDC. Every mode loads through a temp table and a failed stream reruns from the start. Retries are Pro.
Resume after failure
Mid-table, from per-shard checkpoints, for upsert, incremental, and CDC runs. A failed run lands in a partial state and continues on re-request.
No mid-table checkpoint outside CDC. Every mode loads through a temp table and a failed stream reruns from the start. Retries are Pro.
Per-batch integrity check
CRC32-C computed independently on the read side and the write side of every batch. A mismatch fails the run.
None. Row counts reported. Check hooks you write yourself are Pro.
Per-batch integrity check
CRC32-C computed independently on the read side and the write side of every batch. A mismatch fails the run.
None. Row counts reported. Check hooks you write yourself are Pro.
Change data capture
Native. Postgres logical replication (pgoutput) with a consistent snapshot bootstrap. MySQL binlog with GTID cursors.
Log-based CDC for Postgres, MySQL, SQL Server, Oracle, MongoDB since 2026, at $149 per month. Free tier is query-based incremental.
Change data capture
Native. Postgres logical replication (pgoutput) with a consistent snapshot bootstrap. MySQL binlog with GTID cursors.
Log-based CDC for Postgres, MySQL, SQL Server, Oracle, MongoDB since 2026, at $149 per month. Free tier is query-based incremental.
Schema drift
New columns added to the destination automatically. Add-only, nothing dropped, nothing rewritten.
New columns added by default. Type changes only with adjust_column_type. Dropped columns kept as NULL.
Schema drift
New columns added to the destination automatically. Add-only, nothing dropped, nothing rewritten.
New columns added by default. Type changes only with adjust_column_type. Dropped columns kept as NULL.
Parallel reads within a table
Yes. Large tables split into up to 64 shards (keyset, bitmap, or ctid) read concurrently.
Chunking is Pro. Free CLI defaults to one thread and one stream per table.
Parallel reads within a table
Yes. Large tables split into up to 64 shards (keyset, bitmap, or ctid) read concurrently.
Chunking is Pro. Free CLI defaults to one thread and one stream per table.
Row lineage
Every replicated row carries the run id and start time. CDC rows also carry operation, source position, and sequence.
_sling_loaded_at in snapshot mode. _sling_synced_at, _sling_synced_op, _sling_cdc_seq in CDC.
Row lineage
Every replicated row carries the run id and start time. CDC rows also carry operation, source position, and sequence.
_sling_loaded_at in snapshot mode. _sling_synced_at, _sling_synced_op, _sling_cdc_seq in CDC.
Cost
What drives billing
Nothing. Compute you already run.
Nothing for the free CLI. CLI Pro $79 per month. CLI Pro Max $149 per month. Platform $99 to $249 per month per team.
What drives billing
Nothing. Compute you already run.
Nothing for the free CLI. CLI Pro $79 per month. CLI Pro Max $149 per month. Platform $99 to $249 per month per team.
Paid tiers
None.
Pro for parallel streams, chunking, API sources, hooks, OpenTelemetry, retries. Pro Max for CDC and schema migration.
Paid tiers
None.
Pro for parallel streams, chunking, API sources, hooks, OpenTelemetry, retries. Pro Max for CDC and schema migration.
Comparison
Benchmarks
Benchmarks
benchmark
Wall time, seconds for a full load
Wall time, seconds for a full load
Wall time, seconds for a full load
Filament
Sling
NYC Taxi, PG → PG (298.3M rows)
114.8 s
1,053.3 s
TPC-H, PG → PG (8.7M rows)
3.79 s
42.74 s
Rows per second
Rows per second
Rows per second
Filament
Filament
Sling
Sling
Better
NYC Taxi, PG → PG
NYC Taxi, PG → PG
2,597,498
2,597,498
2,597,498
283,188
283,188
283,188
Filament 9.17×
TPC-H, PG → PG
TPC-H, PG → PG
2,288,144
2,288,144
2,288,144
202,645
202,645
202,645
Filament 11.29×
CPU seconds, summed across the mover's containers
CPU seconds, summed across the mover's containers
CPU seconds, summed across the mover's containers
Filament
Filament
Sling
Sling
Better
NYC Taxi, PG → PG
377.4
377.4
377.4
2,211.4
2,211.4
2,211.4
Filament 5.86×
TPC-H, PG → PG
17.9
17.9
17.9
91.0
91.0
91.0
Filament 5.08×
Peak memory, largest container
Peak memory, largest container
Peak memory, largest container
Filament
Sling
NYC Taxi, PG → PG
2.97 GiB
0.10 GiB
TPC-H, PG → PG
1.83 GiB
0.33 GiB
Last updated on August 31, 2026
Full Filament vs. Sling benchmark report
Full Filament vs. Sling benchmark report
Full Filament vs. Sling benchmark report
See how Filament compares
filament benchmarks
Migrate to
Migrate to
Company
Talk to the team
Copyright © 2026 Galaxy. All rights reserved.