At a Glance:
Sequin is an open-source change data capture platform for Postgres that streams database changes in real-time to sinks like Kafka, SQS, and Redis with sub-100ms latency and sustained throughput above 50,000 operations per second.
Overview:
Sequin is an open-source change data capture (CDC) platform designed specifically for Postgres databases. It streams row-level changes as events in real-time to messaging queues, streaming platforms, search indexes, and HTTP endpoints, with built-in support for backfills, filtering, transforms, and exactly-once processing guarantees. Sequin runs as a standalone Docker container alongside any Postgres 14+ database without requiring extensions, and provides a web console alongside infrastructure-as-code configuration through YAML files and a management API. It is built for developers and teams who need to reliably deliver database changes to downstream systems without the operational complexity of running Kafka clusters.
Key Decision Points:
Deployment model: Runs as a standalone Docker container that can be deployed next to your Postgres database, with Terraform templates provided for AWS production deployments.
Postgres compatibility: Works with any Postgres database version 14+, with no extension installation required on the database server.
Delivery guarantees: Provides strict ordering and exactly-once processing of database changes using idempotency keys, with automatic retry on delivery failure.
Configuration approach: Supports both web console configuration and infrastructure-as-code management through YAML config files and a CLI or management API.
Performance characteristics: Sustains over 50,000 operations per second with 55ms average latency and 253ms at the 99th percentile, benchmarked against Debezium and other CDC tools.
Core Features:
Real-time streaming: Streams database changes as they occur, not by polling or batch execution.
Backfills: Supports full or partial backfills of existing rows to sinks, with the ability to replay specific rows at any point in time.
Filters and transforms: Allows custom filters to include or exclude specific changes, and supports message payload transformation using Elixir functions.
Routing: Routes messages to specific topics, endpoints, or indexes based on configurable rules.
Sink support: Ships with 16 documented sink integrations including Kafka, GCP Pub/Sub, SQS, Redis Streams, Elasticsearch, Typesense, Meilisearch, NATS, RabbitMQ, and webhooks.
Observability: Exposes a Prometheus metrics endpoint for monitoring throughput, latency, and delivery health.
Use Cases:
Streaming database events: Stream Postgres changes as events to Kafka, SQS, GCP Pub/Sub, or NATS for consumption by other services.
Audit logging: Track and record every database change for compliance auditing or downstream feature development.
Cache invalidation and refresh: Keep application caches in sync with the source database by streaming changes to Redis-compatible caches.
Search index maintenance: Backfill and continuously sync search indexes in Typesense, Elasticsearch, or Meilisearch with sub-second latency on new changes.
Open-Source Alternative Value:
Sequin provides a self-contained, Docker-based Postgres CDC platform that does not depend on running external Kafka clusters, unlike tools such as Debezium which require Kafka deployments. It offers an open-source distribution with the same real-time streaming, backfill, filtering, and exactly-once delivery capabilities used in its own benchmarks. Deployment and configuration are manageable through both a web interface and infrastructure-as-code templates included in the repository, making it accessible for developers who need high-throughput Postgres CDC without adopting managed SaaS pipelines.

