Hasty Briefsbeta

双语

Jepsen: TigerBeetle 0.16.11

a year ago
  • #database
  • #financial-technology
  • #distributed-systems
  • TigerBeetle是一款专为复式记账优化的OLTP数据库,强调安全性与速度。
  • 它采用Viewstamped Replication (VR)共识协议实现强序列化一致性。
  • TigerBeetle的数据模型专为金融交易设计,仅存储账户和转账记录。
  • 该数据库针对高并发场景(如央行清算系统或券商系统)进行优化。
  • 通过批处理、IO并行化和硬件友好优化实现高性能。
  • 提供针对内存、进程、时钟、存储和网络故障的强健容错模型。
  • 采用确定性模拟测试(VOPR)验证各类故障下的安全性。
  • 支持无缝升级——每个二进制文件包含多个版本。
  • 定义明确的时间模型,使用逻辑/物理时间戳并保持严格单调性。
  • 数据模型包含不可变账户和转账记录,含特定字段追踪余额。
  • 所有操作均为原子性,不支持交互式或混合读写事务。
  • Jepsen测试暴露出未初始化内存访问、查询结果丢失和磁盘故障崩溃等问题。
  • 性能问题包括环形复制设计导致单节点故障时延迟升高。
  • 当前缺乏单节点磁盘故障的安全恢复路径(恢复命令正在开发中)。
  • 客户端设计会无限重试请求,增加了错误处理复杂度。
  • 防御性编程包含断言机制,遇错即终止进程以确保安全。
  • 未来工作包括改进超时语义、测试升级和成员变更功能。