sql >> Database >  >> NoSQL >> Redis

Moet ik redis gebruiken om een ​​groot aantal binaire bestanden op te slaan?

Ik zou Redis niet voor zo'n taak gebruiken. Andere producten zullen IMO beter passen.

Redis is een gegevensopslag in het geheugen. Als je 10-20 TB aan gegevens wilt opslaan, heb je 10-20 TB RAM nodig, wat duur is. Bovendien is de geheugentoewijzer geoptimaliseerd voor kleine objecten, niet voor grote. Je zou waarschijnlijk je bestanden in verschillende kleine stukjes moeten knippen, het zou niet echt handig zijn.

Redis biedt geen ad-hocoplossing voor HA en failover. Een master/slave-replicatie is voorzien (en werkt redelijk goed), maar zonder ondersteuning voor de automatisering van deze failover. Klanten moeten slim genoeg zijn om over te schakelen naar de juiste server. Iets aan de serverzijde (maar dit is niet gespecificeerd) moet de rollen tussen master- en slaves-knooppunten op een betrouwbare manier omschakelen. Met andere woorden, Redis biedt alleen een doe-het-zelf HA/failover-oplossing.

Sharding moet aan de clientzijde worden geïmplementeerd (zoals bij memcached). Sommige klanten hebben er ondersteuning voor, maar niet allemaal. De snelste klant (hiredis) niet. Hoe dan ook, zaken als herbalancering moeten bovenop Redis worden geïmplementeerd. Redis Cluster, dat dergelijke sharding-mogelijkheden zou moeten ondersteunen, is nog niet klaar.

Ik zou willen voorstellen om een ​​aantal andere oplossingen te gebruiken. MongoDB met GridFS kan een mogelijkheid zijn. Hadoop met HDFS is een andere. Als je van geavanceerde projecten houdt, wil je misschien het Elliptics Network eens proberen.




  1. MongoDB-installatie

  2. Mongodb-query Om records met een bepaalde sleutel te selecteren:

  3. Hoe voer ik Redis uit op Windows 32 bit?

  4. Verkrijg array-subset in mongodb met behulp van een arraybron