💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
在2025年伦敦QCon上,亚历克斯·西顿介绍了如何用无服务器对象存储替代高维护的MongoDB服务器,特别是在对冲基金交易应用中。他强调了对象存储的持续改进和并发模型的应用,展示了如何使用ArcticDB和Python/C++构建数据库,并讨论了CRDT的优缺点及其在管理全局状态中的应用。
🎯
关键要点
- 亚历克斯·西顿在2025年伦敦QCon上介绍了如何用无服务器对象存储替代高维护的MongoDB服务器。
- 他强调对象存储的持续改进和并发模型的应用。
- Man Group的原始对冲基金交易系统使用100% Python和MongoDB集群,但随着时间推移,集群变得难以管理。
- 团队希望改进对冲基金交易系统,选择无集群的存储管理方式。
- 无服务器数据库的定义是根据应用需求调整数据库容量,西顿更倾向于将其定义为软件库和对象存储。
- Man Group的应用使用ArcticDB结合Python和C++连接对象存储。
- 对象存储的结构是一个树状对象,只有最上层是可变的。
- 管理全局状态时存在时钟漂移的问题,西顿建议使用系统时钟或存储时钟。
- CRDT(无冲突复制数据类型)可以在没有协调的情况下更新副本,具有自动解决不一致性的特性。
- 西顿提供了多种CRDT的示例,并强调在管理全局状态时应尊重LWW-Element-Set的一致性。
- CRDT的实际挑战包括垃圾回收和压缩问题。
- 西顿讨论了分布式锁在事务、垃圾回收和压缩中的应用。
- 最后,西顿总结了关键要点:对象存储持续改进,分布式锁的复杂性,时钟和集合的行为不如预期,CRDT的使用需谨慎。
❓
延伸问答
无服务器数据库的定义是什么?
无服务器数据库是根据应用需求调整数据库容量的数据库,西顿更倾向于将其定义为软件库和对象存储。
亚历克斯·西顿在QCon上讨论了哪些技术挑战?
西顿讨论了替代MongoDB服务器的挑战,包括管理全局状态时的时钟漂移问题和CRDT的实际挑战,如垃圾回收和压缩。
CRDT的优缺点是什么?
CRDT的优点是可以在没有协调的情况下更新副本并自动解决不一致性,但缺点包括垃圾回收和压缩的挑战。
如何使用ArcticDB构建数据库?
使用ArcticDB结合Python和C++可以连接对象存储,西顿提供了代码示例来创建数据库和查询股票信息。
对象存储的结构是怎样的?
对象存储的结构是一个树状对象,只有最上层是可变的。
西顿对分布式锁的看法是什么?
西顿认为分布式锁的使用是复杂的,涉及事务、垃圾回收和压缩等方面。
➡️