2020 年 7 月,作者在通用数据库事务处理设计中发现一个基本限制,由此创建了 TigerBeetle 并吸引了一个特殊团队从第一原理设计金融交易数据库并投入生产。
- 40 年前,图灵奖得主 Jim Gray 写了一篇关于事务处理性能度量的论文,提出用“每秒事务数(TPS)”评估在线事务处理(OLTP)数据库性能,引发了基准测试大战并促成了事务处理性能委员会(TPC)的成立。他还将 TPS 与成本挂钩,强调成本与硬件和开发人员生产力都有关。
- Jim Gray 定义的“事务”(TPS 中的 T)不是 SQL 事务,而是源自现实世界的业务事务,他以“借记/贷记”(DebitCredit)作为事务处理的标准度量,因为这是日常事务的教科书示例,能体现数据库提供原子性、一致性、隔离性和持久性等保证的原因。
- 作者在为比尔及梅琳达·盖茨基金会的中央银行支付交换机咨询时,发现通用数据库设计在处理金融交易时存在根本限制:每个金融交易在网络上往返 10 - 20 次 SQL 查询并持有行锁,无论硬件投入多少都无法提高吞吐量,这是通用数据库设计的并发控制功能与网络往返时间(RTT)相互作用的结果。
- 随着世界交易性增强,如印度即时支付大幅增长、巴西 Pix 取代现金支付、美国 FedNow 推出等,传统的通用数据库设计已无法满足需求,作者提出从第一原理将计算机科学的四种主要元素(网络、存储、内存和计算)融合成未来的事务处理数据库的想法。
- TigerBeetle 设计围绕借记/贷记作为一流原语,能在 1 MiB 查询中容纳 8000 笔借记/贷记,单次往返数据库处理多达 8000 笔交易且无行锁,解决了性能、成本效率和开发人员生产力问题,还能应用多项先进技术提升安全性。
- 过去四年 TigerBeetle 取得多项成果,包括实现借记/贷记带来的性能提升、在确定性模拟器中运行、得到首个客户(一家能源供应商)的验证以及获得 Spark Capital 等投资,欢迎 Natalie Vais 加入董事会。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。