Answer the question
In order to leave comments, you need to log in
What is the best way to store user files?
Colleagues, welcome.
It is necessary to solve the problem with the storage of user files.
The main criteria are replication, scaling and the price of the solution.
The files will be up to 15 MB, but the initial size can be arbitrary.
The load will be small at first, but it is necessary to be able to scale easily, preferably without complex reconfiguration and migration.
There will be quite a lot of files themselves over time.
Now mainly 2 solutions are being considered, these are GridFS and distributed FS (GlusterFS, Ceph)
In the case of Monga, it is possible to configure the required replication level, but the issue of scaling (sharding) confuses.
In terms of price, for a minimum shard in production, you need at least 3 servers for a replica + 3 common configs + a server for mongos, and in order to deliver another shard, you need to deploy at least 2-3 more servers at least.
The issue of performance is also confusing, for a highly loaded project, I think this will not be the best solution.
In the case of distributed FS, the situation is such that, according to reviews, it seems that they work quite unstable, and there is no silver bullet. In addition, you need a channel from 1Gbit for each node, if you make distributed storage across several data centers, then such a solution can be very costly.
There is another solution using storage systems, but honestly, I have no experience in solving these problems with hardware, it is interesting to hear the opinions of experts.
Actually, I would like to hear the opinions of people who have solved similar problems and choose the best solution.
Answer the question
In order to leave comments, you need to log in
only a set of servers with 5-6 RAID
about FS - answer for yourself how often you restored the databases (except for MyISAM) and everything went with zero losses, or at least it was restored.
FS are suitable for temporary solutions, such as not making shards in elastic, not for storage.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question