通过读取数据库变更流将 Postgres/MySQL/MongoDB 等实时同步至 OpenSearch/Meilisearch/Redis,内置 MCP Server 让 AI Agent 可直接查询同步后的数据,支持游标恢复和 joined 文档自动维护。
让下游系统与数据库保持同步,是每个团队最终都做得很糟糕的事情——cron 任务会漏掉删除操作,同步脚本会漂移,搜索索引只有在夜间重建之后才能信任。唯一发现出问题的时机,是用户报告数据过期的时候。
VentStream 通过直接读取数据库的变更流来解决问题,并在毫秒级延迟内保持副本同步——包括那些难点部分:联表文档、删除传播,以及通过确定性文档 ID 实现的精确一次投递。
数据源(Sources):Postgres、MySQL、MongoDB、Neo4j、Kafka
目标(Sinks):OpenSearch / Elasticsearch、Meilisearch、Redis
实时能力:GraphQL 订阅和 WebSocket 广播,支持游标恢复——重连后从断点处继续
你可以一次性声明联表逻辑——比如一个订单嵌入其客户信息和行项目——引擎就会从变更流中保持组合文档的同步。子行删除时会更新父文档在索引中的状态。无需同步任务,无需失效代码。
我们刚刚发布的新功能:面向 AI Agent 的 MCP 服务器
引擎现在内置了 MCP 服务器,因此 AI Agent(Claude Desktop、Claude Code、任意 MCP 客户端)可以直接查询你的同步数据:
只需一条子命令,让 Claude 指向你的副本,它就能从毫秒级新鲜度的数据中回答"订单 4351 的状态是什么?"
一行命令,macOS 和 Linux 均可安装:
curl -fsSL https://ventstream.dev/install.sh | sh
将 MongoDB 数据流式同步到 Elasticsearch——这是完整配置:
VS_ROLES=cdc VS_CDC_SOURCE=mongodb \
VS_MONGO_URI='mongodb+srv://user:pass@cluster.example.net/' \
VS_MONGO_DATABASE=shop \
VS_MONGO_STATE_DIR=./state \
VS_MONGO_BOOTSTRAP_MODE=snapshot \
VS_OS_ENDPOINT=http://localhost:9200 \
VS_INDEX_TEMPLATE='${header:ventstream.cdc.relation}' \
ventstream
Docs: https://ventstream.dev/docs
Repo: https://github.com/ventstream/ventstream
招募测试者和贡献者
该引擎已在持续负载下投入生产运行,但真正的生产级数据库才是同步工具真正接受考验的地方——不同的 Schema、不同的规模、不同的故障模式。如果你正在运行 Postgres、MySQL、MongoDB 或 Neo4j,并且曾经与同步管道搏斗过,我真心希望听到什么问题会暴露出来,或者还缺什么。
也欢迎贡献者——连接器层面(Typesense 和 ClickHouse Sink 已在计划中)、MCP 工具以及文档,都是很好的切入点。仓库已开放 Issue 和 Discussion。