低延迟分布在内存哈希映射中(计数映射)

时间:2015-10-17 05:51:41

标签: algorithm redis key-value-store

我正在尝试构建一个可以存储一些(< = 100)计数映射的服务,其中每个计数映射可以存储~10亿个唯一密钥,并且计数永远不会超过MAX_INT。我将在每个计数图上运行的操作是:

  • 许多增量操作(每个键的平均增量为10) - 增量操作可以从一堆(~10)触发 不同的节点。
  • 最后一个操作来获取所有键/值 (优选地流式传输)在所有增量之后的给定哈希映射 完成。此时,我们基本上会删除计数图 读完所有按键后。我们也保证他们愿意 一旦我们开始阅读键/值计数,就不要写了

最基本的要求是每个增量操作都应具有超低延迟。耐用性不是问题,但正确性是典型的。

我已经研究过Redis和Hazelcast。寻找有经验的人使用适合此用例的技术的意见。

1 个答案:

答案 0 :(得分:0)

您可以为每个计数地图使用Redis Hash,并使用HINCRBY进行增量,使用HSCANHGETALL获取键/值。

你需要实现一种机制来保证一旦开始阅读"没有写入,例如看一下Redis Pub/Sub机制。