Tencent / paxosstore

PaxosStore has been deployed in WeChat production for more than two years, providing storage services for the core businesses of WeChat backend. Now PaxosStore is running on thousands of machines, and is able to afford billions of peak TPS.
Other
1.68k stars 338 forks source link

Paxosstore数据模型 #15

Closed singhai3 closed 7 years ago

singhai3 commented 7 years ago

看了源码。目前开源的paxoskv是Log-as-value设计方式,功能只支持kv的set,get,为什么没有del? 还有Key也只能使uint64_t的logid?不明白这个设计为什么? 查看了你们发表的论文,是不是说你们存储的都是消息和图片,都是用唯一ID标识记录的? 如果要支持字符串的KEY,做一个KV存储,好像没法直接用paxoskv。 我的上述理解可能不对,请多多指教,给与解释说明。

dengoswei commented 7 years ago

感谢关注.

  1. del操作是通过set完成的. 协议层不存在del的概念
  2. core算法部分的key是std::string, 并不限定是uint64_t. 实际实现中有2种key: memkv的unit64_t为了简单的内存索引结构; stringkv的std::string, 底层接leveldb/rockdb. 目前给出的样例是memkv的.
  3. 论文中还包含另外一大部分基于certain库搭建的存储. 包含表/集合等结构来支撑消息/部分朋友圈业务等等.
singhai3 commented 7 years ago

多谢回复。 理解了,memkv只是个样例。 何时会继续开源基于paxoskv,底层是leveldb/rockdb的kv存储引擎? 非常期待。

dengoswei commented 7 years ago

乐观预期是尽量10月份, 我们团队比较小, 见谅.