Redis
 sql >> Base de données >  >> NoSQL >> Redis

Dois-je utiliser redis pour stocker un grand nombre de fichiers binaires ?

Je n'utiliserais pas Redis pour une telle tâche. D'autres produits conviendront mieux à l'OMI.

Redis est un magasin de données en mémoire. Si vous souhaitez stocker 10 à 20 To de données, vous aurez besoin de 10 à 20 To de RAM, ce qui coûte cher. De plus, l'allocateur de mémoire est optimisé pour les petits objets, pas les gros. Vous auriez probablement à découper vos fichiers en divers petits morceaux, ce ne serait pas vraiment pratique.

Redis ne fournit pas de solution ad hoc pour la haute disponibilité et le basculement. Une réplication maître/esclave est fournie (et fonctionne plutôt bien), mais sans prise en charge de l'automatisation de ce basculement. Les clients doivent être suffisamment intelligents pour basculer vers le bon serveur. Quelque chose côté serveur (mais cela n'est pas spécifié) doit basculer les rôles entre les nœuds maître et esclaves de manière fiable. En d'autres termes, Redis ne fournit qu'une solution de haute disponibilité/de basculement à faire soi-même.

Le sharding doit être implémenté côté client (comme avec memcached). Certains clients ont un support pour cela, mais pas tous. Le client le plus rapide (hiredis) ne le fait pas. Quoi qu'il en soit, des choses comme le rééquilibrage doivent être implémentées en plus de Redis. Le cluster Redis, censé prendre en charge de telles capacités de partitionnement, n'est pas encore prêt.

Je suggérerais d'utiliser d'autres solutions. MongoDB avec GridFS peut être une possibilité. Hadoop avec HDFS en est un autre. Si vous aimez les projets de pointe, vous voudrez peut-être essayer le réseau Elliptics.