2013-01-17 3 views
5

Ich muss ein Speichersystem für Dateien erstellen, die meist unter 16MB sein werden, aber ich möchte die Vorteile von GridFS wie Versionierung, benutzerdefinierte Metadaten, einfache Sicherung (mit mongodump), usw. Ich würde sagen, dass vielleicht 10% meiner Dateien über 16 MB groß wären, so dass ich mich nicht darauf verlassen kann, in einzelnen Dokumenten zu speichern, und ich möchte die API nicht für die Vorteile neu erstellen, nach denen ich suche. Ich benutze auch bereits ein mongoDB-System.Ich möchte die Vorteile von GridFS, aber hauptsächlich Speichern von Dateien unter 16MB

Sollte ich GridFS verwenden?

+0

Hallo Josh, Haben Sie getestet, um zu sehen, ob GridFS schlecht mit Dateien weniger als 16 MB im Vergleich zum Speichern von Binärdateien im Dokument selbst funktioniert? Danke – Maziyar

+0

@Maziyar nein, ich habe nie irgendwelche Benchmarks, sorry. –

Antwort

5

Ohne weitere Details, würde ich beginnen, indem Sie vorschlagen, lesen Sie die Empfehlungen zur Verfügung gestellt here.

Vorausgesetzt, dass all Ihre Dokumente nicht in die maximale Dokumentgröße passen, wenn sie als BSON-Dokument als BinData gespeichert werden, würde ich das gridFS-System für eine konsistente Programmier- und Datenverwaltungserfahrung empfehlen (für Entwickler und IT) . Abhängig davon, wie die Dateien konsumiert werden, können Sie möglicherweise den Inhalt der Dateien effizienter an Clients übertragen, wenn sie in GridFS gespeichert sind, indem Sie sie in Blöcken lesen und schreiben.

+0

Aus geschäftlicher Sicht scheint dies die logische Wahl zu sein. Läuft GridFS schlecht mit einer Mehrheit von Dateien unter 16 MB? –

+0

Es gibt keine Dokumentation, die darauf hinweist, dass es bei kleineren Dokumenten schlecht funktioniert. Vielleicht möchten Sie ein paar Tests zum Experimentieren erstellen. – WiredPrairie

-1

Es wird empfohlen, Dateien kleiner als 16 MB in einem Dokument zu speichern, indem der BinData-Datentyp für Binärdaten verwendet wird. Also, was ist das Problem, Dateien zu speichern, die Größe ist unter 16 MB innerhalb eines einzelnen Dokuments und verwenden Sie GridFS nur für Dateien, deren Größe 16 MB überschreitet.

+2

Dann muss ich meine Dateien an 2 Stellen verwalten und eine vereinheitlichende API erstellen. Ich möchte auch Versionsgeschichte, die ich zusätzlich zum Speichern von BinData in einem einzigen Dokument erstellen müsste. Was ist, wenn ich eine 15.9MB Datei habe, die ich dann als neueste Version mit 16.1MB erneut hochlade, dann ist meine Dateihistorie in 2 Datenbanken? –

Verwandte Themen