TaurusDB 挑战赛系列六:优胜奖 wangkai 作品解析

阅读数:23 2019 年 12 月 16 日 15:53

TaurusDB挑战赛系列六:优胜奖wangkai作品解析

TaurusDB挑战赛系列六:优胜奖wangkai作品解析

前言

华为云 TaurusDB 结束有一段时间了,这几天抽时间写一下参赛总结,我是从阿里第三届中间件比赛开始参加类似比赛的,TaurusDB 这次是第三次,虽然有过两次参赛经验,但是数据库比赛还是第一次,报名也是无意中看到朋友在朋友圈的分享,正好想要学习一下数据库相关知识,于是报名参加了比赛,熬了无数个夜晚,很幸运最终以第 10 名的成绩擦边入围,主要还是 cpp 大佬和其他选手承让。

赛题回顾

比赛分成了初赛和复赛两个部分,初赛要求实现一个简化、高效的本地 kv(为简化开发,K 固定大小 8B,V 固定大小 4KB)存储引擎,其中每个 KVStore 为一个实例,每个线程操作独立的 KV 实例,线程间互不影响,复赛在初赛的基础上增加了计算存储分离的架构,计算节点需要通过网络传输将数据递交给存储节点存储。

程序主要提供三个接口:

复制代码
public interface KVStoreRace {
// 用于数据库初始化 / 崩溃恢复
public boolean init(final String dir, final int thread_num) throws KVSException;
// 用于将数据持久到磁盘
public long set(final String key, final byte[] value) throws KVSException;
// 用于从磁盘读取出来
public long get(final String key, final Ref<byte[]> val) throws KVSException;
}

本文转载自 HW 云数据库公众号。

原文链接: https://mp.weixin.qq.com/s/msuvyEjIVsqa6I8PbPZpZQ

评论

发布