Redis
 sql >> база данни >  >> NoSQL >> Redis

Трябва ли да използвам redis за съхраняване на голям брой двоични файлове?

Не бих използвал Redis за такава задача. Други продукти ще бъдат по-подходящи IMO.

Redis е хранилище за данни в паметта. Ако искате да съхранявате 10-20 TB данни, ще ви трябват 10-20 TB RAM, което е скъпо. Освен това разпределителят на паметта е оптимизиран за малки обекти, а не за големи. Вероятно ще трябва да изрежете вашите файлове на различни малки парчета, няма да е много удобно.

Redis не предоставя ad-hoc решение за HA и отказ. Осигурена е главна/подчинена репликация (и работи доста добре), но без поддръжка за автоматизацията на това преодоляване на срив. Клиентите трябва да са достатъчно умни, за да преминат към правилния сървър. Нещо от страна на сървъра (но това не е посочено) трябва да превключи ролите между главни и подчинени възли по надежден начин. С други думи, Redis предоставя само HA/failover решение „направи си сам“.

Разделянето трябва да бъде внедрено от страна на клиента (като при memcached). Някои клиенти имат поддръжка за това, но не всички. Най-бързият клиент (hiredis) не го прави. Както и да е, неща като ребалансиране трябва да се прилагат върху Redis. Redis Cluster, който трябва да поддържа подобни възможности за разделяне, все още не е готов.

Бих предложил да използвате някои други решения. MongoDB с GridFS може да бъде възможност. Hadoop с HDFS е друг. Ако харесвате авангардни проекти, може да искате да опитате Elliptics Network.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis сортирани набори и най-добрият начин за съхранение на uid

  2. Как да преименувате полета в хеш за множество ключове в Redis

  3. Разлика между Redis AOF и Tarantool WAL log

  4. Pizza Tribes – стратегическа игра в реално време, базирана на мултиплейър

  5. Не можа да се свърже с Redis на 127.0.0.1:6379:Връзката е отказана