是否同时支持读取和sql索引?

时间:2016-08-08 20:02:35

标签: ignite

使用apache Ignite,您可以使用缓存http://apacheignite.gridgain.org/docs/persistent-store进行通读,还可以通过SQL http://apacheignite.gridgain.org/docs/sql-queries查询缓存。

这两个功能是否同时支持?因为现在我有阅读工作。这对我来说很有意义,它有一个密钥,如果它被要求输入一个没有节点知道的密钥,那么它就会转到db。

但是,只为主键定义了加载方法,而不是为任何其他字段定义。这是否意味着它与通读不兼容或者还有其他方法可以实现以获得完整功能?

2 个答案:

答案 0 :(得分:2)

SQL和read-through可以同时使用,但查询将始终仅在内存中的数据上运行。对于通读,您需要知道密钥集,因此它仅适用于基于密钥的访问(get()getAll()等)。对于查询,您需要手动预加载数据(例如,使用loadCache()方法)。

您还可以参考此处的讨论:Sql query over Ignite CacheStore or over database

答案 1 :(得分:0)

是的,您可以同时使用两者,但首先您应该先了解其用途。

read-through:每当从缓存请求数据并且不存在时,Ignite可以自动从底层数据库加载数据并将结果返回给用户,并且为了获取数据,您可以使用cache.get(key)之类的方法, cache.getAll()。如需更多信息,请使用此链接Data Loading

SQL查询:第一个数据应该在缓存中以使用SQL查询,而SQL索引可以帮助您通过在该列上创建索引来更快地进行查询。有关详细信息,请参阅Query configuration by annotations

相关问题