AI Infra:UnisonDB,流式多模态数据库
https://github.com/ankur-anand/unisondb
一、概况
UnisonDB 是一个“日志原生(log-native)”、流式复制 + 可查询存储 的多模态数据库,采用 WAL(Write-Ahead Log)为一等公民,将每次写入视作可订阅的事件流,目标是支持本地优先(local-first)和边缘规模(edge-scale)的反应式架构。
二、核心卖点 / 设计目标
独特之处在于它融合了数据库 + 日志系统 + 复制层,因此它最适合“需要强本地性、流式同步、离线容忍”的系统。
- 把数据库与消息总线合并:无需外部 CDC/Kafka 等管道,写入即为可流式复制的事件
- B+Tree + WAL 混合存储:保证可预测的读取延迟(B+Tree)同时支持日志驱动的高并发复制与回放
- 面向边缘/本地优先:支持 hub-and-spoke、multi-hub、multi-hop 等多种拓扑,便于大量边缘副本低延迟读取并在线/离线工作
- 多模态存储:在一个事务中支持 KV、宽列(row)与大对象(LOB)
三、关键特性(摘要)
- WALFS:mmap 优化的写前日志文件系统,便于高效读取和多副本复用
- 引擎层:WAL + MemTable + B+Tree 的混合引擎(提供事务、可查询副本)
- 复制:基于 WAL 的流式复制,支持 gRPC 传输并能向大量副本进行 sub-second fan-out
- 本地通知:ZeroMQ sidecar 用于 post-commit 的本地实时通知(sub-millisecond 级)
- 命名空间隔离(namespace isolation)和多租户友好
四、潜在场景
| 场景 | 传统方案 | UnisonDB 提供的独特价值 |
|---|---|---|
| 零售 POS | MySQL + Kafka + 手动同步 | 写即流、自动复制、离线可写 |
| IoT | MQTT + 时序DB | 数据存储与复制合一 |
| Local-first 工具 | SQLite + Sync Engine | 一体化日志+数据库 |
| 边缘 AI | Redis + Kafka + 离线上传 | 自动断点续传、流式回传 |
| 配置中心 | etcd / Consul | 无限副本 + 本地通知 |