Hazelcast:为巨大的现有IMaps添加索引会有什么影响?

时间:2017-04-27 21:11:26

标签: performance indexing hazelcast hazelcast-imap

鉴于4-5个节点有许多IMap,其中有大量数据,一些谓词查询开始变得非常慢。解决此性能问题的解决方案之一(我认为)可能是添加索引。但是,这些数据是目前正在生产中使用的合理系统的一部分。

在添加索引之前,我想知道在巨大的IMaps上做这件事的后果是什么? (它会锁定整个地图吗?会不会影响整个系统?等等)Hazelcast文档包含有关如何操作的信息,但没有给出任何其他解释。

1 个答案:

答案 0 :(得分:1)

如果要在运行时添加索引,则会发生这种情况:

  • 将在每个分区
  • 上执行AddIndexOperation
  • 在执行AddIndexOperation期间,将阻止分区,直到迭代完所有分区数据并将其添加到索引中。

查询不会在此时间范围内被阻止 - 但获取/放置操作将会停止。

我建议在"维护窗口"你负载最小的地方。

lots of data是相对的 - 只需在您的开发环境中执行具有完全相同数据量的测试,即可查看在您的环境中添加索引所需的时间。