Hazelcast 3.6.1聚合

Hazelcast 3.6.1聚合,hazelcast,Hazelcast,我使用的是Hazelcast 3.6.1。它被设置为服务器/客户端。服务器(单节点)上有一个映射,大约有4Gb的数据。我的程序创建了一个客户端,然后需要查找一些数据(非常小,比如30MB)。因此,我从地图上获取数据,并在所有地图上循环搜索感兴趣的数据-在我知道之前,进程大小是4Gb(正如我在地图上对我分析的每一条数据进行获取一样,它正在将数据加载到内存中(延迟),直到所有数据都加载完毕!)。因此,我发现我可以使用聚合,我感觉聚合都是在服务器端完成的,只有我感兴趣的部分返回到客户端,但客户端进程仍

我使用的是Hazelcast 3.6.1。它被设置为服务器/客户端。服务器(单节点)上有一个映射,大约有4Gb的数据。我的程序创建了一个客户端,然后需要查找一些数据(非常小,比如30MB)。因此,我从地图上获取数据,并在所有地图上循环搜索感兴趣的数据-在我知道之前,进程大小是4Gb(正如我在地图上对我分析的每一条数据进行获取一样,它正在将数据加载到内存中(延迟),直到所有数据都加载完毕!)。因此,我发现我可以使用聚合,我感觉聚合都是在服务器端完成的,只有我感兴趣的部分返回到客户端,但客户端进程仍然增长到350MB

聚合是否仅在服务器上完成


谢谢

首先,您应该升级到Hazelcast 3.8.x版本,因为新的聚合系统要快得多。除此之外,这取决于你试图聚合什么,但如果你做真正的聚合,比如sum、min或类似的聚合,那么聚合就是得到的方法。此处提供了3.8.x快速聚合的文档:

经过一些测试,聚合器的折叠器部分似乎正在客户端上完成。

切换到3.8.3,它工作得非常好,而且更简单!