Mateusz Koza

Mateusz Koza Java Software
Engineer

Temat: Przechowywanie obrazów

Witam i zapraszam do dyskusji.

Przechowujemy obrazy w bazie danych, czy na serwerze a w bazie tylko ścieżki do nich? Zaletą pierwszej opcji na pewno jest łatwość w robieniu backupu, ale napisać prosty program, który skopiuje je z serwera to też nie jest jakiś wielki problem.

Podobno PostgreSQL nadaje się do przechowywania w nim obrazów, ale nie wgłębiałem się jeszcze w temat.

Jakie praktyki Wy polecacie?
Pozdrawiam
Jacek R.

Jacek R. programista

Temat: Przechowywanie obrazów

Baza danych nadaje się głównie do trzymania danych tekstowych/numerycznych i robienia na nich operacji. Wrzucając obrazki do bazy zawalisz ją zupełnie niepotrzebnymi zadaniami. Baza średnio nadaje się do zarządzania danymi binarnymi - będziesz miał multum informacji, z którymi nic nie zrobisz - nie posortujesz, nie zrobisz filtracji, wyszukiwania, ten binarny content do niczego nie będzie przydatny. A tylko obciąży bazę. Nie wspominając o tym, że bazy mają limity - ostatecznie skończy się na tym, że jak je napotkasz, to będziesz musiał wszystko zmieniać.

Obrazki to pliki - czemu więc nie użyć systemu plików w systemie operacyjnym, który został zaprojektowany, by zarządzać właśnie takimi zasobami?
Łukasz K.

Łukasz K. programista
ASP.NET/JS/T-SQL,
2KMM Sp z o.o.

Temat: Przechowywanie obrazów

SQL Server w wersji od 2008 posiada wbudowany feature FILESTREAM: http://technet.microsoft.com/pl-pl/library/sql-server-...
Używamy w projekcie i sprawdza się dobrze. Przy robieniu backupu nie trzeba sobie plikami zawracać głowy.
Jeżeli masz możliwość skorzystać z tej bazy, to mogę polecić ;-)Łukasz K. edytował(a) ten post dnia 27.04.13 o godzinie 20:02
Adrian Kaczmarek

Adrian Kaczmarek To czy człowiek jest
in­te­ligen­tny
poz­na­je się po
je­...

Temat: Przechowywanie obrazów

Temat który ostatnio przerabiałem a decyzja sprowadza się do zasadniczej kwestii, czy z plików będzie korzystać tylko jedna aplikacja (np. strona www), czy wiele. Jak wiele to lepiej bazę nie będzie problemu z pobieraniem itp. jeżeli nie to lepiej wykorzystać system plików, tak jak pisał Jacek baza będzie mulić przy operacjach bazodanowych.

Przy rozwiązaniu bazodanowym polecam wykorzystanie nagłówka eTag używamy od dłuższego czasu i działa rewelacyjnie!
Jacek R.

Jacek R. programista

Temat: Przechowywanie obrazów

No FILESTREAM jest ok, ale to jest tak naprawdę bazodanowy wrapper na trzymanie plików w systemie plików :) Co oczywiście jest wygodne, jak ma się możliwość użycia, to warto sprawdzić takie rozwiązanie.

Natomiast etag to oczywista sprawa, jeśli chodzi o cacheowanie plików po stronie przeglądarki :)

Następna dyskusja:

Darmowa wtyczka do kompreso...




Wyślij zaproszenie do