7
votes

Meilleure façon de stocker et de récupérer de gros fichiers vidéo pour une application Web?

Je fais un site de partage vidéo. Quelle est la meilleure façon de stocker de nombreux fichiers vidéo, de sorte qu'il sera rapide et performant efficace tout en accédant à eux?

Un collègue a déclaré que la conservation de fichiers sur dossier du disque dur ne sera pas efficace car elle sera très lente sur de nombreuses opérations de lecture / écriture.

Quelqu'un d'autre a suggéré de les stocker dans MySQL Blobs.


0 commentaires

6 Réponses :


4
votes

stocker généralement de gros fichiers dans une base de données n'est pas considérée comme une bonne pratique. Voir Cette question et ceux qui y sont liés pour plus d'informations.

Plutôt que de stocker simplement sur le disque, vous voudrez peut-être envisager d'utiliser un service tel que Dossiers de cloud rackspace < / a> ou Amazon S3 Si votre budget le permet.


0 commentaires

0
votes

Stockage dans un DB MySQL sera plus lent que de stocker des fichiers binaires sur un disque dur à coup sûr. Vous pouvez stocker des copies des fichiers sur plusieurs machines si une machine ne peut pas gérer la charge et utiliser un équilibreur de charge de tablette pour le gérer.


0 commentaires

0
votes

Une solution qui nécessiterait un petit investissement temporel initial de votre part, mais qui vous ferait économiser beaucoup de tracas à long terme ... utilise un service de stockage en nuage comme:

http://aws.amazon.com/s3/ ou http://www.rackspacecloud.com/cloud_hosting_products/files

Il est évolutif et vos serveurs pourraient vous concentrer sur l'exécution de votre application Web.


0 commentaires

0
votes

Les vidéos sont trop grandes pour être stockées efficacement dans MySQL. Utilisez le système de fichiers. Proposez un moyen raisonnable de trier les fichiers vidéo dans des répertoires distincts, de sorte que vous ne vous retrouvez pas avec des milliers de fichiers dans un répertoire unique. Par exemple, tous les fichiers commençant par "A" vont dans le répertoire 'A', etc.

Si votre site devient vraiment gros, il peut être logique de décharger vos vidéos sur un CDN, telle que Amazon Cloudfront .


0 commentaires

2
votes

Utilisez votre clé d'identité dans la base de données pour trier des fichiers dans le dossier.

Prenez le premier numéro, mettez cela dans le premier annuaire, deuxième numéro dans la prochaine .. et ainsi de suite sur:

ex:

18

/ vidéos / 1/8 / myVideOfile

1892

/ Vidéos / 1/8 / 9/2 / MyVideOfile

Vous pouvez également les trier sur divers serveurs ou clusters NAS en stockant un numéro de serveur dans votre DB.

espère que cela aide.


0 commentaires

0
votes

Donc, par exemple, vous avez un fichier de taille 50 Go, vous pouvez l'écrire sur 50 disques en parallèle, une partie de 1 Go sur chaque disque, de sorte que vous ne prenez pas seulement 1 seconde pour écrire et que de la même manière, cela devrait prendre 1 seconde à Lire de 50 disques. Considérez des systèmes de fichiers tels que HDFS.


1 commentaires

Il convient de noter que les HDF devraient être évités pour des webapps à moins que vous ne tirez parti de Phoenix / HBase pour récupérer les données. Les frais généraux de ces services ne feront probablement pas bien que si vous avez beaucoup d'argent pour brûler sur des serveurs.