将需要合并的数据块按照范围切分,形成合并任务(Compaction Task),每一个合并任务结构体维护了必要的元信息,包括任务队列(Task Queue)指针,输入数据的起始地址(传输到FPGA 需要做CRC校验保证数据正确性),合并结果的写回地址,以及后续逻辑的回调函数指针。此外,合并任务还包含返回值,标志此次合并任务是否执行成功。对于失败的任务,会调用CPU 再次执行。通过线上运行的数据显示,大概只有0.03%的合并任务会被CPU 再次执行(主要是KV 长度过长的样例)。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。