知识卡片
EC三个指标的相互制约
内容
不同纠删码编码方式的差异,本质是在空间利用率、数据可靠性(能容忍多少数据块同时失效)、恢复效率(修复一块丢失数据要读取多少额外数据)这三个指标之间做取舍,没有一种编码能同时在三者上都最优。这和 [[四种Bucket选择算法的复杂度权衡|CRUSH 的四种 Bucket 选择算法各有取舍]]是同一种思维方式:面对多目标优化问题时,与其寻找一个全面最优解,不如把评价维度显式拆开,让使用者按自己场景最看重的那个维度去选具体方案。理解一种编码”好在哪”,前提是先看它牺牲了三个维度里的哪一个。
参考来源
《Ceph源码分析》第8章《Ceph纠删码》