Hasty Briefsbeta

双语

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许可证,当前为实验性最小可行产品,仅适用于开发测试环境,不建议生产使用。