2011-08-04 3 views
0

J'ai besoin de stocker des fichiers pendant 30 minutes (ou moins), puis j'ai besoin de les supprimer (après traitement ou par minuterie).Stockage temporaire des fichiers

exigences non fonctionnelles

Il doit être libre et il est souhaitable d'avoir un adaptateur .net. Chargement:
Premier jalon: 10-20 nouveaux fichiers par minute.
Deuxième étape: 100-200 nouveaux fichiers par minute.
Troisième étape: 1000 à 3000 nouveaux fichiers par minute.
Taille du fichier: < 10mb - 90%,> 10mb - 10%.

J'ai besoin de deux solutions: stockage dur (système de fichiers ou db) et stockage de mémoire.

Que me conseillez-vous?

PS: actuellement, je recherche MongoDB.

Répondre

1

Problème intéressant.

Si vous faites des mathématiques d'abord et regardez le maximum, vous devrez soutenir:

3000 fichiers par minute est de 50 par seconde en moyenne, si l'on suppose une taille moyenne de fichier de 5 Mo, que est de 250 Mo. Ensuite, tous les fichiers ne viendront pas à la vitesse moyenne, donc vous aurez besoin de supporter au moins 1 Go par seconde.

À cette vitesse, le simple fait de le pousser sur le réseau devient un problème.

Vous devez donc répartir vos données sur de nombreux serveurs de bases de données et segments de réseau. Cette division des bases de données s'appelle sharding, MongoDB supporte le sharding. Pour d'autres, voir: http://en.wikipedia.org/wiki/Shard_(database_architecture)

Questions connexes