Question

Je souhaite développer un système multimédia, le système doit économiser des millions de vidéos et des images, donc je souhaite sélectionner un sous-système de stockage distribué.Qui peut me donner une suggestion?Merci!

Était-ce utile?

La solution

@YI_H

Vous pouvez configurer vos écrivies pour être répliquées pour la première fois à plusieurs nœuds avant de revenir au client.Maintenant que ce soit ou non, si nécessaire, c'est bien sûr le cas d'utilisation.Et implique définitivement une performance frappée.Donc, si vous implémentez une base de données analytique écrit, il aura un impact significatif sur le débit d'écriture.

Tous les autres points que vous faites sur la question en termes de manque d'exigences, etc., je l'a deuxième.

Avoir un système de fichiers répliqué avec des métadonnées dans une base de données NOSQL est un moyen très courant de faire des choses.@Why avez-vous envisagé cette approche un peu?

Avez-vous regardé à MongoDb Gridfs?Je ne l'ai jamais utilisé, mais c'est quelque chose que je regarderais à voir si cela vous donne des idées.

Autres conseils

Je suppose que la meilleure option pour les "millions de vidéos et d'images" est le réseau de distribution / livraison de contenu (CDN):

CDN est une configuration de serveur qui permet livraison plus rapide et plus efficace de vos fichiers multimédias.Il fait cela par Maintenir des copies de vos médias à Différents points de présence (POPS) le long d'un réseau mondial pour assurer rapidement Accès client et livraison la plus rapide possible

Si vous utilisez CAN, vous n'avez pas besoin de prendre soin de nombreux problèmes (distribution, accès rapide).L'intégration avec CDN devrait également être très simple.

YO nous a donné (près) zéro information sur vos exigences.Par exemple:

  • Voulez-vous des transactions atomiques?
  • est le système lu ou écrit lourd?
  • Avez-vous besoin de requêtes rapides ou souhaitez-vous traiter le jeu de données?
  • Quelle est la taille des vidéos?
  • Voulez-vous distribuer des données localement (sur un réseau local) ou sur plusieurs centres de données / continents?

    Comment sommes-nous censés choisir le bon outil si nous ne savons pas ce qu'il faut soutenir?

    Sans aucune connaissance du système, je vous conseillerais d'utiliser une sorte de réplication FS pour les vidéos et les images, puis stockez les métadonnées associées aux éléments de MongoDB, MySQL Master-Master-Master ou MySQL Cluster.

distribué lié à quoi?

Si vous parlez de réplication à distribuer:

MongoDB uniquement limité à la réplication maître-esclave, alors qu'un seul nœud est capable de lire / écrire qui vous laisse avec un seul point d'échec pour un système vraiment distribué. Couchdb est capable de répliquer de pair-pair.

Trouver une très bonne comparaison ici et ici aussi comparé à HBASE .

avec Couchdb, vous devez également savoir que vous allez parler http à la base de données et vous mettre en place dans Webservices.

Cordialement, Chris

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top