MongoDB中的原子概率计数和集合成员资格

时间:2015-04-28 18:41:46

标签: mongodb atomic bloom-filter hyperloglog

我希望进行概率计数并使用诸如bloom过滤器和hyperloglog之类的结构设置成员资格。我假设我可以存储二进制数据这样的结构,但我不想使用乐观锁定(a.k.a。update if current),因为争用很高。

是否支持使用此类数据结构并通过用户定义的函数或类似功能在服务器端以原子方式对它们执行操作?或者以任何方式添加具有此类功能的扩展程序?

(我可以通过另一个系统摄取数据并批量更新以减少争用,但如果所有这些都可以在数据库服务器中处理,那就简单得多了。)

1 个答案:

答案 0 :(得分:0)

我不是MongoDB的专家,但在我看来,你可以在文档中的数组中存储HyperLogLog(以及Bloom Filter)。他们真正需要的唯一操作是$ max,这是原子的(我认为)。

您不必更新整个文档,只需更新受单个元素影响的数组位置。