【TinyKV-2022】前言

第一次尝试分布式的实验,上了 TinyKV 2022 的车。

测试的时候 project3b 概率不过,并且我除了优化 nextIndex[] 的更新之外没做任何优化,性能也中规中矩。不过今年 PingCap 给分比较松,最后拿了 98.46 的高分,除了 project3b 和文档部分扣了点分,其余全部满分,还是很惊喜的。

在这里插入图片描述

  • 正确率:除了 project3b 的测试诡异莫测,其余 project 都很容易追踪。至少除了 project3 之外的本地测试点是能100%通过的,提交上去后正确率满分,并不是很意外。
  • 性能:我只优化了 nextIndex[] 的更新,并且没什么难度。本地跑测试点的时候也需要花费一定时间,性能不能算好,但最后也给了满分,这个我很意外。
  • 文档:文档拿了95分,我觉得已经很高了,因为文档我只是把我的理解、思路和一些重要函数的实现流程说明了一下,并没有涉及额外的优化与创新,能拿到这个分数我只能说感谢 PingCap。

项目文档

项目一共分为四个 project,每一个我都写了对应的文档,将我的思路、实现时踩的一些坑都记录了下来,后续也会慢慢细化,希望对你有帮助。下面链接会转到我的 github,如果有帮助还请给个 star,谢谢老板!

  • Standalone KV
    • Implement a standalone storage engine.
    • Implement raw key-value service handlers.
  • Raft KV
    • Implement the basic Raft algorithm.
    • Build a fault-tolerant KV server on top of Raft.
    • Add the support of Raft log garbage collection and snapshot.
  • Multi-raft KV
    • Implement membership change and leadership change to Raft algorithm.
    • Implement conf change and region split on Raft store.
    • Implement a basic scheduler.
  • Transaction
    • Implement the multi-version concurrency control layer.
    • Implement handlers of KvGet, KvPrewrite, and KvCommit requests.
    • Implement handlers of KvScan, KvCheckTxnStatus, KvBatchRollback, and KvResolveLock requests.

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值