Sql query over Ignite CacheStore



我有一个带有缓存存储的缓存,由CacheJdbcPojoStoreFactory构建。问题是:当我尝试查询缓存时,它似乎只在内存上运行(在这种情况下不应用通读)。我希望它看起来是否包含内存。如果没有,那么它应该查询数据库(但同样在这种情况下,缓存永远不会知道它需要的所有数据都位于内存上,但也许索引可以提供那么快)。

我错过了什么还是这是它的行为?

感谢

这是

正确的行为。SQL 查询不执行通读,因为键值存储中的通读只能通过键进行,而这对于所需键集未知的 SQL 是不可能的。

话虽如此,在执行查询之前,您需要将查询所需的所有数据保存在内存中。您可以使用loadCache()方法将数据大容量加载到缓存中。有关详细信息,请参阅此页面:https://apacheignite.readme.io/docs/data-loading#ignitecacheloadcache

此外,GridGain正在开发一种新的企业功能,该功能将允许完全实现您所描述的内容,但具有专有的底层磁盘存储。对于抽象的持久存储(如关系数据库),这仍然是不可能的。

最新更新