填充Hazelcast数据网格的最快方法是什么。阅读文档我可以看到几种变体:
我的性能基准测试显示IMap.putAll比IMap.Set更快。但是,Hazelcasty文档中指出,IMap.putAll并不保证所有内容都将以原子方式插入。
有人可以澄清一下用数据填充数据网格的最快方法吗?
3号变种好吗?
答案 0 :(得分:1)
我会看到相同的三个选项。无论如何,如你所提到的,选项二并不保证所有内容都是以原子方式放入地图中,但是如果你只是加载数据并等待所有线程使用IMap :: putAll完成加载数据,你应该没问题。
除了IMap :: set之外,还有其他选择。在任何情况下,您都希望多线程加载过程。我会玩一些不同的线程号,并且通常建议从客户端加载数据以保持节点空闲以进行存储操作。
我个人从未对你的第三个选项进行基准测试,无论如何它也是可能的。只是不确定这是值得的额外工作。
你想加载多少数据,你担心它可能会很慢?你知道加载速度慢吗?你使用Java Serialization(这是一个巨大的性能杀手)?您是否使用索引(在放置数据时必须生成索引)?
通常会有很多优化应用于加速,不仅是数据加载,还包括正常操作。