有没有办法在 Apache Ignite 上改组分区数据?

Is there a way of shuffling partition data on Apache Ignite?

我有一个与数据重新分区相关的问题。 假设有一个带有预定义关联键的缓存。假设我需要使用新的关联键对数据进行重新分区。我想知道是否有一种方法可以通过新的关联键在所有节点上混洗分区数据?

在这种情况下,您需要重新填充数据。

  • 首先,它是静态配置,无法即时更改。
  • 第二种,您很可能需要为该特定类型清除 meta-information,即清理 work/binary_meta 文件夹。
  • 最后一个 - 一旦您更改了它,您将无法找到数据,因为它很可能会存储在不同的分区中。

换句话说,假设您有一个包含两个字段 A 和 B 的缓存键:K(A,B),其中 A 是您的关联键。比如说,您的 Key(1,2) 被映射到一个分区 5。在这种情况下,为了找到该值,Ignite 将根据哪个节点持有它的主副本来搜索这个分区 5。稍后您希望将 B 作为亲和键并相应地 re-configure 缓存。在这种情况下,Key(1,2) 现在可能会映射到分区 780,这意味着 Ignite 将永远不会搜索分区 5 并且将无法找到以前的数据。