Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

常见系统设计题系列- 带TTL的KV存储

设计一个带有有效时间TTL的KV存储系统,包含set(key,value,ttl)、get(key)方法、怎么优化

首先是KV存储,可以使用levelDB作为我们的存储引擎;

另外,需要考虑数据的复制与分片、去中心化等

把TTL当作value,当进行compaction时,过期的数据会被忽略。

•将数据均匀地分布在多个服务器上。•添加或者移除节点时,尽量减少数据的迁移。

一致性hash数据分区:
•自动伸缩:可以基于负载自动添加和移除服务器。•异质性:服务器的虚拟节点数量可以与服务器的性能成比例。比如,可以为性能高的服务器分配更多的虚拟节点。

你的支持是我坚持的最大动力!