Distributed Caching for Large Objects

I want to share a very large object, for example. in orders of megabytes or even several gigabytes, between a set of machines. The object will be written once, but can be read many times. Perhaps a naive approach is to use ceneteralized repositories such as redis . However, this can be one point of failure, and too many requests can make a DOS attack on redis. Then a distributed solution is much more promising. But the main problem is to replicate the structure to all machines. If replication is performed using master / slave technology, then replication can lead to a huge load on the main object because the object is large. Therefore, the best solution is to use a P2P strategy to replicate the object to reduce the network load on the master.

Does anyone know a solution to solve this problem? Perhaps some candidates:
- redis
- memcached
- Voldemort
- Hazelcast

My main concerns are the Java interface, large object sharing, high availability, and low network traffic for replication.

Thanks in advance.

+8
memcached redis distributed-caching hazelcast voldemort
source share
1 answer

Caching large objects in NoSQL stores is usually not a good idea, because it is expensive in terms of memory and network bandwidth. I don't think NoSQL solutions shine when it comes to storing large objects. Redis, memcached, and most other key / value stores are not explicitly designed for this.

If you want to store large objects in NoSQL products, you need to cut them into small pieces and store the pieces as independent objects. This is the 10gen saved approach for gridfs (which is part of the standard MongoDB distribution):

See http://docs.mongodb.org/manual/applications/gridfs/

To store large objects, I would rather look at distributed file systems, such as:

These systems are scalable, highly accessible, and provide file and object interfaces (you probably need an object interface). You can also refer to the following SO query to select a distributed file system.

Best distributed file system for linux merchandise storage farm

Deploy a cache on top of these scalable storage solutions.

+14
source share

All Articles