Hello Christo,
The problem with the original approach is this:
- I have a flat table structure which is is mapped by the following POJO:
@Entity
@Table(name = "simulation_initial_values")
public class SimulationInitialValues extends IdEntity {
@Basic
@Column(name = "product_id")
private Long productId;
@Basic
@Column(name = "geo_channel_id")
private Long geoChannelId;
@Basic
@Column(name = "category_id", nullable = false)
private Long categoryId;
@Basic
@Column(name = "week", nullable = false)
private Integer week;
@Basic
@Column(name = "type_id", nullable = false)
private Integer type;
.
.
. more fields
}
We consider as primary key combination of: productId, geoChannelId,
categoryId, week and type
Now, when I perform an in-memory query like: /select from
SimulationInitialValues where categoryId in (...) and geoChannelId in (...)
and type =? and week between ? and ?/, I will get back a List of
SimulationInitialValues objects.
Due to the nature of the calculations I have to perform though, I must have
all the products rows of each distinct category.
So in case of PARTITIONED cache, if I do broadcast, then there is no
guarantee that the categories assigned to a job will have all the rows at
the local cache.
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Distributed-Closures-VS-Executor-Service-tp11192p11861.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.