> - 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.

Reply via email to