2010-05-11 9 views
5

Mam plik Uploader w mojej aplikacji ASP.NET przy użyciu C#, możemy przesłać dowolny typ, takich jak obrazy, dokumenty, PDF itpKtóry jest dobry Practice przechowywania przesłanego pliku w DB lub przechowywanie go w systemie plików

I m przechowywanie go w systemie plików i posiadanie tylko nazwy pliku w DB. Wątpię, czy możemy przechowywać cały plik, obrazy w DB. Powiedz mi, co jest dobrą praktyką i dlaczego musimy z niej korzystać.

Albo plik System Storage, albo SQL DB Storage.

Odpowiedz

4

Zapytano o prawie to samo pytanie. Sprawdź odpowiedź:

Working with images in WCF

To zależy głównie od wielkości plików. Oto ładny artykuł.

To BLOB or Not To BLOB

Dla mniej niż 256KB przechowywania plików w DB w kolumnie varbinary jest bardziej efektywny.

Przechowujemy nasze pliki w MS SQL Server w VarBinary kolumnie z ograniczeniem 256kb i działa dobrze.

Mam nadzieję, że to pomaga. Powodzenia!

+0

hej Dzięki chłopaki –

+0

Nie ma za co. Jak widzę, nie jesteś przyzwyczajony do przyjmowania odpowiedzi. – hgulyan

2

To jest subiektywne, ale chciałbym powiedzieć, że przechowywanie plików w systemie plików jest lepsze. Właśnie do tego przeznaczone są systemy plików, a SQL Server 2008 ma new file type, który pozwala to zrobić automatycznie, a nawet korzystać z transakcji.

+0

Myślę, że subiektywny, a nie kłótliwy –

0

Zależy od:

  1. Jak duży plik jest, choć duże plamy mogą być efektywnie obsługiwane w RDBMS
  2. Czy odczytu lub zapisu ciężkie?
  3. Ile jednoczesnych żądań do tego zasobu
  4. używasz innych mechanizmów buforowania
  5. Czy masz SAN dostępny lub skupione plików

W skrócie, bez konkretów, najlepszym rozwiązaniem jest trudne dawać. Tylko zależy od twoich ograniczeń i wymagań, jak każde zadanie.

+0

hej Bell, nie jestem zbytnio zaznajomiony z SQL, ale rozmiar pliku nie byłby większy niż 1 lub 2 MB dla rekordu. Żądanie równoczesne nie byłoby dużo. Daj mi najczęściej używany system. –

0

Oprócz innych odpowiedzi, które wydają się koncentrować na wydajności, dodałbym również dostęp jako inny problem. Jeśli pliki zawierają poufne dane lub dostęp do plików wymaga audytu, czasami łatwiej jest nim zarządzać, jeśli pliki są przechowywane w bazie danych.

+0

@ho - Tak, ale przechowywanie tajnej ścieżki w DB i posiadanie skryptu pośredniego dostarczenia ładunku może dać tę samą "barierę" –

+0

Niezupełnie, ponieważ tak naprawdę nie masz ani śladu, czy został zmieniony. Kolejnym problemem jest tworzenie kopii zapasowych/przywracanie. łatwiej w jednym miejscu. – TomTom

Powiązane problemy