我有一个存储在GridGain中的大型(~100G)缓存,缓存键是一个整数ID,缓存条目是一个JSON对象。
我需要:
a)以排序顺序(基于JSON字段值)遍历缓存 - 就好像它是一个排序的SQL行集
b)寻找项目的分组 - 通过在排序的行上运行这样的函数来定义组:
boolean isInSameGroup(jsonFromPreviousRow, jsonFromCurrentRow)
c)以特定于组的方式修改每个不同组中的数据。例如,一个独特的"组ID"可能会被写入组中的每一行。
在GridGain上有推荐或最佳实践方法吗?
答案 0 :(得分:0)
如果您可以将JSON对象转换为Portable Objects,这是GridGain中可缓存的非结构化对象(请参阅GridPortableBuilder示例),那么您将能够为任何字段创建有序索引。之后,缓存中带有order by
子句的简单SQL查询将在每个节点上返回已排序的集合。您现在必须自己进行总排序或分组(完整的SQL支持,因此您不必完成自己的总订购,将于2015年初推出)。