Hi, 1. This is correct, current implementation of SQL queries only data that is already in memory. This is enough for majority of use cases, because usually in-memory systems deal with operational data sets (i.e. subsets of "hot", most frequently accessed data) and can safely ignore the rest of the data. For example, you can maintain the data for the last several days and discard historical data. If you have a different case, let us know.
2. IgniteCache is a key-value storage, but it's up to you how to map objects to relational tables. This is fully defined by CacheStore interface [1] and you can always provide your own implementation. Also take a look at [2] for information about bulk loading the data. There are more efficient ways then using get() method. [1] https://apacheignite.readme.io/docs/persistent-store [2] https://apacheignite.readme.io/docs/data-loading -Val -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/querying-sql-performance-of-apache-ignite-tp4135p4143.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.