> - The application server-side queries the DB, finds the products belonging > to the selected categories, performs calculations (applies the metrics on > them etc.) and persists the results in the database for future reference
So if I understand this correctly you are not loading any data from the underlying DB. You are querying the database directly through a compute task in the grid. I'm guessing you are not loading any data into the cache because its simply too large. Is the database you are using a distributed deployment or a central point? If its distributed and partitioned then you might want to consider incorporating that into your design in such that the compute tasks always work with local datasets in the underlying database. Do you use SQL to retrieve data from the database or would key-based operation work? If you could figure out a way to retrieve products by ID then you could use Ignite as a cache with read-through to the database. At least some products in that case would be cached which would speed up your reads. For persisting the results you might want to consider configuring your database as a cache store to Ignite. This way you can write the results directly to an Ignite cache and configure a write-behind policy where Ignite takes care of replicating the results data down to the database in an asynchronous manner. This way you would not need to using Spring services or transient DAOs since it would all be handled by Ignite. -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Distributed-Closures-VS-Executor-Service-tp11192p11609.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.