sqlflow
Run SQL stream-processing pipelines on one machine with DuckDB
Gallery
About sqlflow
sqlflow is an open-source stream processing engine from Turbolytics that uses SQL to define pipelines and DuckDB to execute them. It reads continuously arriving events, transforms or aggregates them, and writes the results to another system. The engine runs on a single node in one container without a JVM, coordinator, or required external state store. It is aimed at streaming workloads that need a practical path from a topic, WebSocket, or webhook to a database or object store without introducing a distributed processing cluster. Turbolytics reports a published Kafka-to-sink benchmark of 1,057,360 messages per second with a 303 MiB container peak. A separate steady-stream observation kept the working set between 25 and 29 MiB for an hour.
A pipeline is configuration with SQL in it, which makes the transformation easy to keep in version control and review with the rest of an application's code. Developers can run that SQL against fixture data before the pipeline touches a live broker, then start the same configuration against production sources. This gives teams a testable workflow for work such as rolling counts from Kafka, minute windows over a public firehose, or landing a stream as Parquet or Iceberg. Prometheus metrics ship with the binary, so the operational view doesn't require a separate add-on. Keeping a pipeline in a file also gives it the usual software workflow. A team can review a change in a pull request, keep it beside application code, regenerate related declarations, and roll it back without reconstructing settings from a web console.
The current source catalog covers Kafka, WebSockets, and HTTP webhooks. Stable native sinks include Kafka, ClickHouse, Iceberg, and PostgreSQL. sqlflow can also use DuckDB's attach mechanism to write to MotherDuck, DuckLake, and S3-compatible object storage as Parquet. The connector page labels maturity directly, separating stable connectors from experimental MySQL and SQLite support and naming missing sources such as Pulsar and Redis Streams. That candor is useful when a team is checking whether the engine fits an existing stack rather than assuming every logo has equal support.
Under the hood, DuckDB executes the SQL and Apache Arrow provides a columnar in-memory format between stages. sqlflow supports stream-oriented operations such as filtering, aggregation, and tumbling windows, and can write closed windows to a sink in batches. Its Bluesky demonstration reads the Jetstream WebSocket, groups posts into one-minute windows by language, upserts the closed results into PostgreSQL, and serves analytic queries over HTTP. The page has no separate backend, and its charts query that stack directly. The complete pipeline and analytics service run in less than 256 MB of memory together in that demonstration, beside a small PostgreSQL instance, showing the kind of compact deployment the project is designed to support.
sqlflow fits data engineers, backend developers, and small platform teams that have a stream and a SQL-expressible transformation but don't need a many-worker cluster. It can run on a laptop during development, beside a collector, on an edge machine, or on a modest server close to the data. The strongest use cases are aggregation, filtering, windowing, and moving results into a durable destination. Teams whose work is mostly per-message reshaping may prefer a mapping-focused tool, while workloads that require broad event-time semantics, watermarks, or horizontal scale are better served by a distributed engine.
The project's boundaries are unusually clear. sqlflow is not a data warehouse, so results are queried in the sink rather than in the processor. It isn't a general-purpose ETL platform for transformations that don't fit SQL, and it isn't a hosted control plane. A single node also means there is no coordinator or shard rebalancing across a fleet. Those limits are part of the design, not missing marketing details. In exchange, operators get a much smaller system whose pipelines can be seeded, replayed, and asserted on like other software. This makes it easier to place beside an existing application or at the edge, though the operator remains responsible for the machine and the availability of each external source and sink.
sqlflow is MIT licensed and self-hosted. The published path to trying it is a Docker image, and the quickstart validates a configuration against fixture data before connecting it to Kafka. There is no SaaS account, subscription, or paid product tier. Turbolytics does offer consulting for architecture reviews, migrations, support, and hands-on engineering, but the engine itself remains available as open-source software. The submitted directory URL pointed to the Bluesky demonstration, while the product homepage is the better canonical destination for evaluating the actual engine.
Key Features
- SQL-defined streaming pipelines
- Single-node container deployment
- Kafka WebSocket and webhook sources
- Ten database and storage sinks
- Fixture-based pipeline testing
- Built-in Prometheus metrics
Pros & Cons
What we like
- Avoids a JVM and distributed control plane
- Keeps pipeline definitions reviewable in version control
- Publishes connector maturity and known gaps
- Runs close to the data on modest hardware
Room for improvement
- Doesn't scale across a distributed cluster
- Transformations must fit the SQL model
- Source connector catalog is still small
- No hosted service or control plane
Frequently Asked Questions
What is sqlflow?
Which sources and sinks does sqlflow support?
Is sqlflow a replacement for Flink or Spark Streaming?
Is sqlflow free?
Best For
Featured in
Alternatives to sqlflow
Kevin Gabeci
Solo developer building web apps, cozy browser games, and AI creator toolkits.

SoloDevStack
A solo developer blog built on head-to-head tool comparisons, 580+ posts deep.

Codedex
A gamified, story-driven platform that teaches Python, web dev, and more like an RPG quest
Vibe Built
Building real apps with agentic AI. What worked, what broke, what shipped.
Reviews (0)
Badge builder
Add sqlflow to your website
Choose a badge style and size, preview it here, then copy the generated HTML. Badge images are self-contained SVGs and do not require an external script.
<a href="https://toolindex.net/tools/sqlflow?ref=badge" target="_blank" rel="noopener">
<img src="https://toolindex.net/badge/sqlflow/medium.svg" alt="sqlflow - Listed on Tool Index" width="180" height="50" />
</a> How to use the badge
- 1. Pick the style, size, and theme that fit your layout.
- 2. Copy the generated HTML from the code block.
- 3. Paste it into your footer, homepage, or press page.
Standard badge available
The standard listing badge is available now. Score and circle badges are limited to tools currently ranked in the top 10 of a category.
Badge clicks return visitors to this profile with a referral tag so the source remains identifiable.
Related Tools
Kevin Gabeci
Solo developer building web apps, cozy browser games, and AI creator toolkits.

Coolify
Self-hostable, open source alternative to Heroku and Netlify

Warp
The modern terminal reimagined with AI and collaboration

Bolt.new
Prompt-to-deployed full-stack app inside the browser
Work on sqlflow? Request listing access or correction