0

我希望使用布隆过滤器和 hyperloglog 等结构进行概率计数和设置成员资格。我假设我可以将这样的结构存储为二进制数据,但我不想使用乐观锁定(也就是update if current),因为争用很高。

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

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

4

1 回答 1

0

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

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

于 2015-05-01T15:55:04.517 回答