0

我希望使用布隆过滤器和 hyperloglog 等结构进行概率计数和设置成员资格。

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

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

4

1 回答 1

0

您必须在客户端实现它们。常见的方法是每 X 分钟序列化/插入您保存在系统内存中的 HLL,然后在跨感兴趣范围的读取时合并它们(可能在 X 分钟之后的不同时期使用 RRD 类型方法)。这不是很耐用,因此取决于用例,它可能意味着更复杂的东西。

虽然它似乎非常适合 C*,但我认为其中一个大问题是删除,但您可能可以解决它们。这里有一个 C* 端实现的概念证明:

http://vilkeliskis.com/blog/2013/12/28/hacking_cassandra.html

你可能会“足够好”地工作。https://issues.apache.org/jira/browse/CASSANDRA-8861可能值得关注。

于 2015-04-27T21:31:00.787 回答