| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Sequin is a tool for change data capture (CDC) in Postgres. Sequin makes it easy to stream Postgres rows and changes to streaming platforms and queues (e.g. Kafka and SQS). You can backfill existing rows and stream new changes in real-time.
Sequin even supports native sinks (HTTP GET and webhooks), so you can get started without any other infrastructure.
Change data capture enables applications and services to track and respond to row-level changes in database tables as they occur. With CDC via Sequin, you can:
Sequin itself is built on Postgres. It uses a logical replication slot to detect changes and internal tables to store sink state.
Unlike Debezium, another change data capture tool, Sequin doesn't require Kafka to operate. Sequin is a standalone Docker container that you can deploy next to your Postgres database. Or, you can use our hosted offering.
Sequin is open source/MIT. To help us make this project great, tell us what you're building in our Discord Server.
| Sink | Support | Description |
|---|---|---|
| Kafka | ✅ Real-time streaming ✅ Backfill existing rows |
Stream changes to Apache Kafka topics |
| SQS | ✅ Real-time streaming ✅ Backfill existing rows |
Send messages to Amazon SQS queues |
| Redis | ✅ Real-time streaming ✅ Backfill existing rows |
XADD to Redis Streams |
| Webhook Subscription (Native) | ✅ Real-time streaming ✅ Backfill existing rows |
Send changes to any HTTP endpoint |
| HTTP Pull (Native) | ✅ Real-time streaming ✅ Backfill existing rows |
Consume changes directly from Sequin with exactly-once processing |
| GCP Pub/Sub | ✅ Real-time streaming ✅ Backfill existing rows |
Publish messages to Google Cloud Pub/Sub topics |
| NATS | ✅ Real-time streaming ✅ Backfill existing rows |
Stream changes to NATS subjects |
| RabbitMQ | ✅ Real-time streaming ✅ Backfill existing rows |
Publish messages to RabbitMQ exchanges |
| Azure EventHubs | Coming soon | (Jan 2025) |
| Amazon SNS | Coming soon | (Jan 2025) |
| AWS Kinesis | Coming soon | (Jan 2025) |
Sequin works great for change data capture use cases like:
See our quickstart.
Alternatively, you can try Sequin for free on Sequin Cloud. Follow the instructions in the app to start streaming your data in a couple minutes.
Sequin connects to any Postgres database. Specify the tables you want to stream, as well as optional filters and transformations. Route changes to sinks like Kafka, SQS, Redis, or HTTP endpoints.
When you setup a sink, you can opt to backfill data from the source table to the sink.
After setup, Sequin will stream new changes to the sink as they occur in real-time. If there are any issues with delivery, Sequin will automatically retry delivery with exponential backoff.
Sequin comes with a web console/UI for configuration.
You can also configure Sequin as code using YAML config files.
Sequin delivers industry-leading performance for change data capture (CDC), consistently achieving sub-200ms latency at 2,000 sustained operations per second. Here's how Sequin compares to other solutions:
| Tool | Latency at 2k ops/s |
|---|---|
| Sequin | 192ms |
| Debezium | 234ms |
| Fivetran | 5 minutes |
| Airbyte | 1+ hours |
In our production benchmarks with AWS RDS Postgres and MSK Kafka, Sequin maintains consistent performance under sustained load:
Learn more about Sequin's current performance in our docs.
Sequin vs DebeziumDebezium is also a change data capture tool that captures changes from Postgres and streams them to messaging systems like Kafka. Debezium requires significant infrastructure (Kafka, Connect) to operate.
Sequin provides the same change data capture capabilities but with a much simpler setup:
Fivetran and Airbyte are ETL tools designed primarily for data warehouse ingestion. They excel at moving data in batch intervals (minutes to hours) to analytical databases.
Sequin is purpose-built for real-time operational use cases. Key differences:
Many teams build custom change data capture solutions using triggers, LISTEN/NOTIFY, or logical replication. While these can work, they often:
Sequin provides all this functionality out of the box:
Sequin is open source (MIT license). The project is just getting started, so the best way to contribute right now is to open an issue or join the Discord Server and let us know what you want to build.
See CONTRIBUTING.md for detailed instructions on how to contribute to Sequin.
# Install Elixir dependencies
mix deps.get
# Install frontend dependencies
cd assets && npm installmake devThe app will be available at http://localhost:4000.
Sequin uses LiveView + LiveSvelte for its frontend. As a monolith, the entire app is available at http://localhost:4000.
See CONTRIBUTING.md for more detailed development instructions, including our code style guidelines and signoff process.
| Back | FazBrowse Home | New Git URL |