2010-05-11 4 views
5

Ich habe einen File Uploader in meiner ASP.NET-Anwendung mit C# speichern, können wir jede Art wie Bilder, Dokumente, PDF usw.Welche ist gut Pratice eine hochgeladene Datei in DB speichern oder es in Filesystem

ich hochladen m es im Dateisystem speichern und nur den Namen der Datei in DB haben. Mein Zweifel ist, können wir die gesamte Datei, Bilder in DB speichern. Nenne mich Was ist eine gute Praxis und warum müssen wir es benutzen?

Entweder System Storage oder SQL-DB-Speicherdatei.

Antwort

4

Fast die gleiche Frage wurde hier gefragt. Überprüfen Sie die Antwort:

Working with images in WCF

Es hauptsächlich von der Größe der Dateien abhängig ist. Hier ist ein schöner Artikel.

To BLOB or Not To BLOB

Für weniger als 256kb Dateien in DB in VarBinary Spalte Speicherung ist effizienter.

Wir speichern unsere Dateien in MS SQL Server in einer VarBinary Spalte mit 256kb Einschränkung und es funktioniert gut.

Ich hoffe, es hilft. Viel Glück!

+0

hey Danke Jungs –

+0

Gern geschehen. Wie ich sehe, sind Sie nicht gewohnt, Antworten zu akzeptieren. – hgulyan

2

Dies ist argumentative subjektiv, aber ich würde sagen, dass das Speichern von Dateien auf dem Dateisystem besser ist. Dafür wurden Dateisysteme entwickelt und SQL Server 2008 verfügt über eine new file type, mit der Sie dies automatisch tun und sogar Transaktionen verwenden können.

+0

Ich denke eher subjektiv als argumentative –

0

Abhängig von:

  1. Wie groß die Datei ist, obwohl große Blobs effizient in RDBMs
  2. Ist es schwer lesen oder schreiben gehandhabt werden?
  3. Wie viele gleichzeitige Anforderungen für diese Ressource
  4. Sind Sie irgendwelche anderen Caching-Mechanismen mit
  5. Sie ein SAN zur Verfügung haben Sie oder ein Cluster-Dateisystem

Kurz, ohne Besonderheiten, ist beste Praxis schwer geben. Kommt nur auf Ihre Einschränkungen und Anforderungen wie jede Aufgabe an.

+0

hey Glocke, i mit SQL nicht viel familar m aber die Dateigröße nicht mehr als 1 oder 2 MB für einen Datensatz sein. Die gleichzeitige Anfrage wäre nicht viel. Gib mir das am häufigsten verwendete System. –

0

Zusätzlich zu den anderen Antworten, die auf Leistung zu konzentrieren scheint, dass ich auch den Zugang als ein weiteres Problem hinzufügen würde. Wenn die Dateien vertrauliche Daten enthalten oder der Zugriff auf die Dateien überwacht werden muss, kann es manchmal einfacher sein, dies zu verwalten, wenn die Dateien in einer Datenbank gespeichert sind.

+0

@ho - Ja, aber ein geheimen Weg in der DB zu speichern und mit einem Zwischen Skript der Nutzlast liefern können Sie die gleiche ‚Barriere‘ –

+0

Nicht wirklich, wie Sie haben nicht wirklich eine Spur, ob es geändert wurde. Dann ist ein weiteres Problem Backup/Restore. einfacher an einem Ort. – TomTom

Verwandte Themen