Reputation: 194
I am exploring different distributed in-memory databases for use in our applications. I have come across one scenario and want to know if it is possible in Redis Cache and Apache Ignite Cache?
I am looking for this kind of scenario (is available in Redis Cache?) explained in this link of overview section https://apacheignite.readme.io/docs/distributed-persistent-store
Can below thing achievable in Redis Cache?
Let's say I have 100 records. Cache can hold only 40 records (most frequently used) and 100 records on disk file (Not in any other database).
Upvotes: 1
Views: 546
Reputation: 1785
With Ignite (and an absolute majority of other distributed systems including Redis) you just scale out your cluster once the monitoring shows that a node is about to go beyond allocated RAM space. Just add one extra node to your Ignite cluster and data will be automatically redistributed.
Moreover, with Ignite you have an option to enable its native persistence to store more data than fits in RAM and to have instantaneous restarts. There is no need to preload anything in RAM on restarts, Ignite reads from disk.
Hope it helps. Based on the provided details, Ignite is a perfect fit for you.
Upvotes: 1
Reputation: 19313
When using Ignite, you should make sure you never run out of data region memory. There's no data redistribution and the node will just become unavailable.
When node is down its data will be distributed to other nodes (if there are enough backups configured), but above-mentioned restiction still applies - no nodes should run out of memory.
If you add new nodes some data will be redistributed to them.
If you use persistent mode, you won't run out of memory since your data will be just written to disk. Make sure to not run out of disk space :) When a node is down or added, the behavior will be governed by Baseline Topology (usually, data will not be moved immediately).
Upvotes: 0