看啥推荐读物
天池,基于阿里云的开放数据处理服务ODPS,面向学术界开放海量数据和分布式计算资源,旨在打造“数据众智、众创”第一平台。在这里,人人都可以玩转大数据,共同探索数据众创新模式。
今天看啥  ›  专栏  ›  天池大数据科研平台

“关键代码”——POLARDB大赛冠军吐血整理,你盘吗【下篇】

天池大数据科研平台  · 公众号  · 大数据  · 2019-03-15 22:00
“上篇讲到:yche针对落幕不久的第一届POLARDB数据库性能大赛整理了一套详细的比赛攻略,(赛题:实现一个简化、高效的kv存储引擎,支持Write、Read以及Range接口),那么今天小天就要贡献出最核心的部分——关键代码~”接上文,感兴趣的同学也可以点击阅读原文查看哦!四、关键代码1. 随机写入1. 实现逻辑通过锁一个bucket使得key-value在bucket中一一对应, 并且使得bucket的meta-count被正确地更改; 写入之前先写bucket对应buffer, buffer满了之后进行阻塞的pwrite系统调用。大体逻辑如下代码所示:{ unique_lock lock(bucket_mtx_[bucket_id]); // Write value to the value file, with a tmp file as value_buffer. uint32_t val_buffer_offset = (mmap_meta_cnt_[bucket_id] % TMP_VALUE_BUFFER_SIZE) * VALUE_SIZE; char *value_buffer = mmap_va ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照