Design a Key Value Store — Hard System Design Problem