有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

跨多个节点自动分片Java映射

我有一个问题,我需要组装一个最终大小为GBs(超过64GB)的地图,我不能假设程序的用户会有这种怪物机器。一个很好的解决方案是将此映射分布到多台机器上,以使每个实例的内存占用量小得多

有人知道可以执行此切分的工具库/套件吗?我不关心复制或事务;只是把内存需求分散开来


共 (5) 个答案

  1. # 1 楼答案

    Gigaspaces Datagrid听起来像是你在寻找的那种东西。(但不是免费的)

  2. # 2 楼答案

    您可以通过使用数据库来解决问题,例如http://hsqldb.org/可以提供所需的功能,将数据写入磁盘,而不是将整个数据保存在内存中

    我肯定会退一步问问自己,地图是否是GBs数据的正确数据结构

  3. # 3 楼答案

    兵马俑可能有用看看这里

    http://www.terracotta.org/

    它是一个集群jvm,这取决于您更新映射的频率,我猜取决于它的性能

  4. # 4 楼答案

    它必须是开源的吗?如果没有,那么Oracle Coherence可以这样做

  5. # 5 楼答案

    我建议您从hazelcast开始:

    http://www.hazelcast.com/

    它是开源的,在我看来,它非常容易使用,因此它是快速原型的最佳框架

    据我所知,它的性能比商业替代品快,所以我也不担心性能
    (我自己还没有正式进行基准测试)