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

Are read through and sql indexing supported simultaneously?

使用 apache Ignite,您可以使用缓存进行通读 http://apacheignite.gridgain.org/docs/persistent-store and also the ability to query a cache via SQL http://apacheignite.gridgain.org/docs/sql-queries

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

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

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

也可以参考这里的讨论:

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

read-through:每当从缓存中请求数据但不存在时,Ignite 可以自动从底层数据库加载它并将结果返回给用户,要获取数据,您可以使用 cache.get(key), cache.getAll().如需更多使用此 link Data Loading

SQL 查询:第一个数据应该在缓存中以使用 SQL 查询,并且 SQL 索引通过在该列上创建索引来帮助您更快地查询。更多详情可以参考Query configuration by annotations