技术原理
在Ceph中EC条带最小存储单元大小为4K,当用户仅读取4K单元或写入4K单元的数据时,Ceph开源版本不支持局部修改,这样就导致当读写小块数据时,读写放大很严重。EC Turbo特性支持EC条带的局部修改,仅读取用户需要的单元数据块,可以有效降低读写放大。当读取超过4K块大小,就需要跨条带读取,这样一个8K的操作就需要放大为两次4K的磁盘读操作,相比副本本地的一次8K读操作,性能相差一倍。EC Turbo特性将EC条带本地存储单元加大(如1MB),同时支持小条带的修改,当读取8K、32K等小块IO时,会和副本一样只在本地的一次读取,提高了的读性能。另外为减少网络传输采用算子下推技术以及为减少EC条带不必要的补零操作而采取精简条带措施都是为了减少读写过程中的写放大。
图1 EC Turbo行存转列存方案

父主题: EC Turbo