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.