sql >> データベース >  >> NoSQL >> Redis

多数のバイナリファイルを保存するためにredisを使用する必要がありますか?

    私はそのようなタスクにRedisを使用しません。他の製品はIMOにより適しています。

    Redisはメモリ内のデータストアです。 10〜20 TBのデータを保存する場合は、10〜20TBのRAMが必要になります。これは高価です。さらに、メモリアロケータは、大きなオブジェクトではなく、小さなオブジェクト用に最適化されています。おそらく、ファイルをさまざまな小さな断片にカットする必要がありますが、それはあまり便利ではありません。

    Redisは、HAとフェイルオーバーのアドホックソリューションを提供していません。マスター/スレーブレプリケーションが提供されます(そして非常にうまく機能します)が、このフェイルオーバーの自動化はサポートされていません。クライアントは、正しいサーバーに切り替えるのに十分なほど賢くなければなりません。サーバー側の何か(ただし、これは指定されていません)は、信頼できる方法でマスターノードとスレーブノードの間で役割を切り替える必要があります。つまり、Redisは日曜大工のHA/フェイルオーバーソリューションのみを提供します。

    シャーディングはクライアント側で実装する必要があります(memcachedのように)。一部のクライアントはそれをサポートしていますが、すべてではありません。最速のクライアント(hiredis)はそうではありません。とにかく、リバランスのようなものはRedisの上に実装する必要があります。このようなシャーディング機能をサポートすることになっているRedisクラスターはまだ準備ができていません。

    他の解決策を使用することをお勧めします。 GridFSを使用したMongoDBが可能です。 HDFSを使用したHadoopはもう1つです。最先端のプロジェクトが好きな場合は、EllipticsNetworkを試してみることをお勧めします。




    1. Redis、セッションの有効期限、および逆引き参照

    2. redis-trib.rbを使用してクラスターを作成するときに接続エラーが発生しますか?

    3. Redis-エラー:値は有効なfloatではありません

    4. アレイ上のmongoDBアップサート