Hi Jaroslav, >From what I see you use case definitely fits Ignite.
As a first step I think you should create a partitioned cache and implement loading the data from your file-based storage. You can use IgniteDataStreamer or CacheStore APIs for this [1]. It also sound like you will be heavily using compute capabilities. Please refer to [2] for information about all available features. [1] https://apacheignite.readme.io/docs/data-loading [2] https://apacheignite.readme.io/docs/compute-grid Also here are my answers to your compute-related questions: jaroslav.saxa wrote > Go over all data (vectors) which are distributed on the current node ? Yes, you can use IgniteCache.localEntries() method. jaroslav.saxa wrote > Call external lib be called from computation function No problem with this. You just need to make sure that the library is available on classpath of all nodes. jaroslav.saxa wrote > Can we pass parameter to computation function Yes, both forkjoin tasks and closure execution support arguments. See IgniteCompute.execute(..) and IgniteCompute.apply(..) methods. jaroslav.saxa wrote > Can computation function be deployed on nodes w/o needing to broadcast it > from service (computation trigger) ? Usually there is no issue with sending a closure to a remote node, because it's lightweight and you have to send a message anyway to trigger the execution. But if you want to avoid this, you can deploy a task on server nodes and trigger the execution by its name. jaroslav.saxa wrote > Is there any support from ignite to run computation function in parallel > on certain node? You can send a closure to any node and it will be submitted to a thread pool on that node. On the client side you can either wait for the execution synchronously or have an asynchronous completion listener. Let us know if you have more questions. -Val -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/-tp1624p1626.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.
