A-A+

分布式事务性能的FIT取舍

2020年04月09日 数据库 评论 2 条 阅读 83 次

 

《FIT: A Distributed Database Performance Tradeoff》 Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 2015

 

这篇文章不长,内容也不多,介绍了一个分布式数据库性能的tradeoff原则叫FIT。其实也不叫原则,就是一个模糊的设计直觉。

 

FIT的意思是分布式数据库的Fairness, Isolation, Throughput必须要取舍,最多三选二。

可能CAP三选二在业界影响太大了,三选二的各种说法都出来了,比如之前看过的RUM(存储引擎读性能、写性能、空间占用三选二)。不过除了CAP,貌似其他的三选二基本说服力多不行。

尽管说服力不行,这里提到FIT的原因还是说,这个说法起码有助于我们探知design space的边界,虽然可能是模糊的边界。

 

 

FIT三角

  • Fairness:文中没给准确定义,说了一些设计直觉,比如数据库常见的GroupCommit技术,通常就是要让先进来的请求等一会,积攒一批请求之后再处理。先进来的那个请求就会觉得这个方式不公平,得费厄泼赖才行。
  • Isolation:就是大家理解的隔离级别的隔离。
  • Throughput:就是大家理解的那个吞吐。

 

 

FIT为何要取舍?

分布式数据库里面不可避免要有个协调角色。

要支持强隔离,就要降低并发。如果并发事务多还要强隔离,就得让一些事务停下来等,导致吞吐不行。

牺牲fairness,就有机会给协调角色争取协调空间,提升吞吐。

 

2 条留言  访客:1 条  博主:1 条

  1. MatheMatrix

    牺牲 fairness 看起来很大影响就是牺牲掉了 latency 啊,可一般来说 latency 和 throughput 本身就很难共存

    • LoopJump

      这篇论文描述的这个FIT取舍不是太有价值。

给我留言