Show HN: DriftDB – An experimental append-only database with time-travel queries
8 months ago
- #experimental
- #database
- #time-travel
- 实验性的仅追加数据库,支持时间旅行查询。
- 功能包括:仅追加存储、时间旅行查询、CRC校验段、二级索引、快照与压缩、崩溃安全操作以及简单查询语言(DriftQL)。
- 支持的操作命令:初始化设置、建表、数据插入、查询、时间旅行查询、显示行历史记录、创建快照和存储压缩。
- 表操作包括:创建带索引的表、插入文档、部分更新、软删除,以及维护任务如快照和压缩。
- 文件结构包含:表目录、段目录、快照目录、索引目录和元数据目录。
- 事件日志格式包含:长度、CRC32校验码、序列号、时间戳、事件类型和有效载荷。
- 并发模型支持:单写入器(进程全局锁)和多读取器(快照与重放机制)。
- 崩溃恢复机制包括:CRC校验和损坏尾部段的截断处理。
- 性能优化措施:可配置的快照间隔、压缩存储、B树索引实现O(log n)查询、Zstd压缩和MessagePack序列化。
- 采用MIT许可证,当前为实验性最小可行产品,仅适用于开发测试环境,不建议生产使用。