Sling is a data movement tool distributed as one Go binary, moving data between databases, warehouses, and file storage from the command line or a pipe, with a managed platform available above it.
One static Go binary, run from a shell or any scheduler, configured by flags, environment variables, or YAML replication specs. Incremental loads use an update key with backfill ranges; schema drift adds new columns by default. The Sling Platform adds a visual editor, cron scheduling, and agents running in your infrastructure, billed as a flat per-team subscription.
How Sling answers the questions Batch ELT turns on.
| How it works | |
| Authoring model | Single-binary CLI and YAML; visual editor in the Platform |
| Incremental sync | update_key incremental and backfill ranges; log-based CDC on Pro |
| Sync frequency | Your scheduler for the CLI; cron in the Platform |
| Schema drift | Adds new columns by default; type changes only if enabled |
| Running it | |
| Scheduling | None in the CLI; the Platform schedules and runs via agents |
| Connections | |
| Source coverage | Databases, files, object storage and REST APIs |
| Destinations | Databases, warehouses and file or object storage |
| Custom connectors | YAML API Specs on Pro, auth, pagination and JMESPath |
| Transformations | Column-level transforms and source SQL; no modelling layer |
| Cost | |
| Billing unit | Flat per-team subscription; no usage metering |
vs Sling: Source-available · Operational complexity: High · Kotlin, Java, Python
vs Sling: Open source (permissive) · Self-hosted · Managed · Python
vs Sling: Source-available · Managed · Self-hosted · Hybrid · Batch · Streaming · Rust