内存kv存储加上纠错码和备份的混合设计。
问题:
说是纠错码用在元数据更新上,很频繁,但PBR模式难道不用频繁更新么?
摘要
kvstore用在很多网站和数据库系统中,连续应对每秒million级别的请求。保持可用性的措施往往采用primary-backup主从备份。但这样就要将稀缺的内存用在与响应用户请求无关的地方。本文结合纠错码技术和PBR节省内存开销而不降低性能。
主要挑战是:内存kvstore有很多离散的元数据,一个put操作除了对数据写入外,往往造成很多细小的元数据更新以及校验位更新。提出了cocytus。对小而离散的数据采用PBR,而对相对大的数据采用纠错码。
detail
PBR采用M+1来应对主节点的宕机,M中选取主节点采用paxos协议。但造成了M倍的数据冗余。
但PBR不是应付宕机问题么?而纠错码是数据传输错误?这两者为什么能相互替代。
K个D data节点,M个P 校验节点。