《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,就有机会给协调角色争取协调空间,提升吞吐。
扫描二维码,分享此文章