I have a use case I’d like to explore with Ignite:


We have a data ingest pipeline that transforms in bound data into a large
collections of mutable records (stored in an Ignite cache). Changes to this
mutable data is relatively frequent and imposes significant IO updating
changes. From those records an immutable projection is computed which is
much smaller from a space perspective (stored in a separate Ignite cache).



I’d like to have a set of servers responsible for processing and storing
the mutable data set that is independent from a set of servers storing the
immutable data projection and servicing requests against it. In this way I
don’t compromise the servers handing requests with the IO and storage
overhead of the mutable data – they care only about the small immutable
data.



Currently you can configure persistence (or not) on a cache by cache basis,
but not storage (which is configured on a per grid basis in the
IgniteConfiguration).



Assuming that is correct, what is the easiest way to achieve the data
separation as described above



Two obvious choices are:



   - Instantiate two grids and use the persistence configuration to
   establish the separate sets of servers. This seems simple to set up and
   understand.
   - Use a single grid, but use affinity mapping to route different caches
   to different sets of servers. This seems more complicated.



Thanks,

Raymond.

Reply via email to